[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Informal voting proposal
Thanks for the feedback Julien, see my reply below. Many thanks, Kelly Choi
Open Source Community Manager XenServer, Cloud Software Group Hi Stefano,
On 07/11/2023 04:18, Stefano Stabellini wrote:
> On Mon, 6 Nov 2023, Julien Grall wrote:
>> Hi Kelly,
>>
>> On 06/11/2023 16:40, Kelly Choi wrote:
>>> Hi all,
>>>
>>> As an open-source community, there will always be differences of opinion in
>>> approaches and the way we think. It is imperative, however, that we view
>>> this diversity as a source of strength rather than a hindrance.
>>>
>>> Recent deliberations within our project have led to certain matters being
>>> put on hold due to an inability to reach a consensus. While formal voting
>>> procedures serve their purpose, they can be time-consuming and may not
>>> always lead to meaningful progress.
>>>
>>> Having received agreement from a few maintainers already, I would like to
>>> propose the following:
>>
>> Thanks for the sending the proposal. While I like the idea of informal vote to
>> move faster, I would like to ask some clarifications.
>>
>>> *Informal voting method:*
>>>
>>> 1. Each project should ideally have more than 2 maintainers to
>>> facilitate impartial discussions. Projects lacking this configuration
>>> will
>>> be addressed at a later stage.
>>> 2. Anyone in the community is welcome to voice their opinions, ideas,
>>> and concerns about any patch or contribution.
>>> 3. If members cannot agree, the majority informal vote of the
>>> maintainers will be the decision that stands. For instance, if, after
>>> careful consideration of all suggestions and concerns, 2 out of 3
>>> maintainers endorse a solution within the x86 subsystem, it shall be the
>>> decision we move forward with.
>>
>> How do you know that all the options have been carefully considered?
>
> I don't think there is a hard rule on this. We follow the discussion on > the list the same way as we do today.
To me the fact we need to write down the informal rules means that
something already gone wrong before. So I feel that rules should be
unambiguous to avoid any problem afterwards.
In this case 'all options' would mean the different choices that maintainers have discussed and considered, before calling an informal vote. The reason for the informal vote is that 'all options' have been considered, but a decision can not be made. Whilst there can be many options, the informal voting method aims to reduce this by enabling maintainers to call a vote and propose two options, so the project can move forward. Again there will be times for that call for flexibility, but we should always aim to have a vote for two of the best solutions to avoid the project coming to another standstill.
>
> While I like the informal vote proposal and effectively we have already
> been following it in many areas of the project, I don't think we should
> change the current processes from that point of view.
I am confused. Are you suggesting that we should not write down how
informal votes works?
I cannot speak for Stefano, but the informal vote process should be written down as an 'aspirational guideline' meaning it's a process we ought to follow in the best interest of the project. The formal voting process will still be in place.
>
>
>>> 4. Naturally, there may be exceptional circumstances, as such, a formal
>>> vote may be warranted but should happen only a few times a year for
>>> serious
>>> cases only.
>> Similarly here, you are suggesting that a formal vote can be called. But it is
>> not super clear what would be the condition it could be used and how it can be
>> called.
>
> The formal vote is basically the same we already have today. It would
> follow the existing voting rules and guidelines already part of the
> governance.
Reading through the governance, I couldn't find anywhere indicating in
which condition the formal votes can be triggered. Hence my question here.
There's a difficulty here in the sense that there isn't a specific guideline around what condition a formal vote can be triggered. Until that guideline is implemented, reviewed, and updated, I would suggest that a formal vote is called only in cases where serious damage would come to the project and the community. Again, this would be down to reasonable judgement so I would trust committers/maintainers on this, and should happen less than a few times a year.
>> For instance, per the informal rule, if 2 out of 3 maintainers accept. Then it
>> would be sensible for the patch to be merged as soon as the 5 days windows is
>> closed. Yet the 3rd maintainer technically object it. So could that maintainer
>> request a formal vote? If so, how long do they have?
>
> It is difficult to write down a process that works in all cases, and if
> we did it would probably end up being slower rather than faster.
>
> In my view if someone doesn't agree with his other co-maintainers and he
> is outvoted (e.g. 2/3 of the maintainers prefer a different option), the
> individual is entitled to raise a request for a vote with the
> committers, which is the same as we already have today.
>
> Ideally a formal vote would be rare, maybe once or twice a year, so I
> hope we won't need to optimize the formal vote.
Ok. So the expectation is that all the maintainers will accept the
informal votes in the majority of the cases. If this is not the case,
then we will revise the rules. Is that correct?
Having spoken to a few maintainers already, this is the agreed view. There will be times when we have to accept the best solution even if we don't personally agree. The best interest of the community and project should come first, hence why an informal vote is seen as the consensus.
>>> 5. Informal votes can be as easy as 2 out of 3 maintainers providing
>>> their Acked-by/Reviewed-by tag. Alternatively, Maintainers can call an
>>> informal vote by simply emailing the thread with "informal vote
>>> proposed,
>>> option 1 and option 2."
>>> 6. *All maintainers should reply with their vote within 5 working days.*
>>
>> While I understand we want to move fast, this means that a maintainer that is
>> away for PTO would not have the opportunity to answer.
>
> PTO is a bit of a special case because we typically know when one of the
> maintainers is on PTO. If it is a short PTO and if the vacationing
> maintainer could have a strong opinion on the subject then it would make
> sense to wait. If it is a long leave of absence (several weeks or
> months) then I don't think we can wait.
>
> So I think the 5 working days is OK as a rule of thumb, but of course it
> shouldn't be used to work around objections of a maintainer by waiting
> for him to go on holiday :-)
Well... It has been done before ;). That's why I think it is important
to write down because at least it is not left to interpretation.
Adding to this rule, if a maintainer is on holiday for 2 weeks or less, we should wait. If the time is 2 weeks+ and is not deemed as causing major issues then we should proceed. This hopefully gives you a rough guideline/time frame. We can reiterate if needed here.
Cheers,
--
Julien Grall
|