On Thu, Jan 31, 2019 at 1:59 PM Joe Watkins <krak...@gmail.com> wrote:

> Afternoon internals,
>
> Some time ago I brought up for discussion:
> https://wiki.php.net/rfc/abolish-narrow-margins
>
> I intend to bring this up for vote in the next few days.
>
> Cheers
> Joe
>

After one day of heated discussion this thread has died down again. I'd
like to make sure that there are no further concerns here before this goes
to vote.

Most of the discussion here has been around the question of whether or not
this should be part of Zeev's RFC (and it doesn't look like we're going to
agree on that one), but there has been little further discussion of the
proposal itself. I guess that means it's fairly uncontroversial.

As far as I can see the only difference between this proposal and Zeev's
(as far as voting margins are concerned), is that this RFC requires a 2/3
majority, while Zeev's proposal excludes "PHP Packaging Decisions" and only
requires a simple majority for them.

There has been some brief discussion about this, with the following mail
from Stas:

> 1. Do we really need different classification of changes? I think having
> one single vote procedure would have larger benefit, and RFC that fails
> 2/3 requirement would be suspect anyway. RFCs can have parts - "whether
> we do it" and "how exactly we do it" - the former would be 2/3
> requirement, the latter can be simple plurality even - e.g. if we decide
> to have an extension for libfoobar, that should have 2/3 vote, but then
> decision between whether to name it foobar or barfoo can be decided by
> majority or plurality.

And Zeev's response:

> I think we do.  There are decisions where a 2/3 majority requirement makes
> no sense, as the vote itself is about a choice between two options that
are
> on the table, as opposed to deciding whether to do something or not.
> There aren't many such cases, but when they do occur - they tend to be
> important.
>
> The most obvious case I have in mind is that of the choice between PHP 6
> and 7.  It doesn't expose us to any future commitments, doesn't change the
> language - it's arguably almost a marketing decision.  Similarly, if we
> decide to change our release schedule, I don't see why that should require
> a 2/3 majority.  The 'bias for the status quo', which is the main reason
we
> have the super majority requirement to begin with, doesn't really play a
> role here - as it bears no long term commitment.

I'll add my own response here. I agree with Stas that it is preferable to
have a single voting procedure and don't think that "packaging decisions"
should be special cased. This is not just to in the interest of having
simple rules, but also because I disagree with the premise that packaging
decisions are somehow less important than changes to PHP or do not have
future commitments. For example, extending support for a release by
multiple years (a question that will probably come up for PHP 7.4), is a
quite serious commitment of resources that should not be decided on a
narrow margin.

More importantly, while our past RFCs in the area of "packaging" have not
been particularly major, that's isn't a property inherent to the category.
For example, a proposal to introduce regular LTS releases, or to make other
major changes to our release scheduling, should certainly be subject to a
2/3 majority. In each category (whether it's changes to PHP or the release
process) there will always be more and less significant RFCs, and it's hard
to draw a good line between them (we failed spectacularly trying to due
that with "language changes"). I think it is better to err on the side of
being conservative and require a 2/3 majority for everything, especially as
it also obviates any arguments as to what requires or doesn't require a
certain majority.

Nikita

Reply via email to