From: Joe Watkins [mailto:pthre...@pthreads.org] 
Sent: Sunday, November 20, 2016 3:43 PM
To: Zeev Suraski <z...@zend.com>
Cc: Kalle Sommer Nielsen <ka...@php.net>; PHP internals 
<internals@lists.php.net>
Subject: Re: [PHP-DEV] [RFC] Abolish 50%+1 Votes

>Afternoon Zeev,
>I am not sure how much of the voting RFC I want to reform right now. I am 
>responding to specific problems
>that seem to be best fixed just by raising the acceptance criteria. I do 
>realize that these issues are difficult to
>tease apart however, so intend to at least try to suggest reformations for 
>more than one section of the
>voting RFC.

Yes, I can relate to not wanting to tackle more than one issue at a given time. 
 I think that depending on the proposal, it may be reasonable to tackle a 
change in what requires a super majority independently of other issues, without 
radically changing the current situation of how things work.

My bigger concern is  that conceptually, the way things work currently is very 
far from the original intent of the Voting RFC.  I'm at least am not aware of 
any other large open source project out there that has something that's even 
remotely close to what we evolved into in the PHP project.  The vast majority 
of community-based open source projects are various forms of meritocracy, where 
your ability to influence the direction correlates in some fashion with your 
level of contribution.  In PHP the barrier to influence is almost not there.  
There are several ways to tackle this - one is one I brought up a while ago, 
that effectively raises the acceptance bar from 2/3 to 85-90% - given that the 
vast majority of proposals that passed, didn't only pass with ~2/3 of the 
votes, but with something much close to consensus (reminder - see the analysis 
and proposals in www.mail-archive.com/internals@lists.php.net/msg82852.html).  
A different way may be changing the (de-facto) rules on who gets to vote.  Or 
perhaps a combination of both.

>Maybe it is time to have some of these conversations again.

I think it is.  As draining as it may be, I think we owe it to ourselves and 
PHP to try and tackle some of the deficiencies of the rushed Voting RFC, before 
it's even later than it already is...

>When you say that the voting RFC was rushed, this is news to me.

In my opinion it was rushed.
By the time we started working on it, we had about 13 years of working in a 
certain way, which obviously evolved over time, but was never ever even 
remotely similar to what's described in the Voting RFC.  And then, over the 
course of less than a month, we had a piece of text that a bunch of people 
agreed on (with some major reservations), that was as hermetic as a thing slice 
of Swiss cheese;  A completely different way of working quickly evolved, 
somewhat based on a very broadening interpretation of that text - and that new 
way of working became set in stone.

Looking back at my email archive, I think we did recognize that there were some 
tricky parts in this RFC, and that it would be very difficult to change:

"Making changes once we've approved this RFC is going to be much tougher.  This 
is big stuff - it's no coincidence we didn't have such guidelines for almost 15 
years.

Honestly there are other parts about the voting process that are much hotter 
potatoes than the points I brought up - such as who gets to vote, is 50%+1 
enough or do we need stronger majorities for substantial language changes 
(67%/75%), can someone who failed passing an RFC just put it up for another 
vote right away or is there some sort of a cool-off period, etc. etc.  I think 
all of these need to be answered before we let this RFC govern how we do 
feature definition."

... and yet, there was a very strong bias to get *something* going, so my 
barely-first-draft on dealing with some of these topics became set in stone, 
with very few updates and little scrutiny from anybody.  I think that there 
were large groups of people who believed (based on the discussion on the list) 
that we'd still first strive for near-consensus before even bringing up RFCs 
for voting, which as we all know - turned out to be very far from what happened 
in reality.  Others thought that it wouldn't be a big deal to amend and improve 
this as we go along - which also turned out to be disconnected from reality as 
not a single change was made in the last 5 years (except the de-facto changes, 
like who gets to vote).

I think the feeling back then was that "anything is better than nothing", and 
perhaps it was - but it certainly pushed us to move ahead with a half-baked 
solution.  This RFC went to a vote two weeks after I made these statements and 
made my edits, with virtually no further discussion on internals during these 
two weeks, and was approved 6 days later.  Yes, I'd call it rushed.

> Perhaps you can understand it being treated as a bible if you consider that 
> we don't remember the bad old days, and these are the only rules we know how 
> to play by.

Oh I certainly do.  As you can see in my quote, I expected it to become that 
way.  What I didn't expect us to do is ratify it so quickly, when it was only 
slightly better baked than when I made that statement...  That's the same 
reason I was worried about other non-technical proposals that were raised over 
the years - I just don't think we're very good at this law-making stuff.

Zeev

Reply via email to