John,

Thanks for taking the time to write that lengthy email.
There are a lot of things in there I agree with, and a lot I disagree with, but 
that's beside the point for now. 

One part in particular in your message got me thinking:

> I understand that we’re a passionate people, and that sometimes things get
> out of hand. But wow, when it gets out of hand, it really goes through the
> roof and people can’t help themselves but pile on when the appropriate
> response is to call a time out, sit back down in their chairs, meditate on .

That resonated with me, as while I said I don't view internals as toxic a 
couple of days ago, I had to agree with you that there are situations where it 
does become toxic.  These situations - even though they're temporary - reflect 
very badly on the perception of internals as a whole.

While I think an extended CoC that's along the lines of Rasmus' "Be 
Respectful"++ can help, it can only go so far.  Instead, if we find a way to 
eliminate the triggers that cause these meltdowns, we're much more likely to 
succeed in really improving the situation on internals.

I had a theory, and decided to run some analysis regarding all the votes that 
went into PHP 7.0.  It's available at bit.ly/php7rfcs.

Observations:
Out of 45 approved RFC, 34 would have cleared a 90% bar, 35 would have cleared 
an 85% bar, and 38 would have cleared a 75% bar.
To the best of my recollection, all of the RFCs that generated major storms 
fall in the these 7 RFCs that cleared the 67% mark, but failed the 75% mark.
Very importantly, out of the RFCs that cleared 85% and 90% - none had more than 
5 people opposing, most had 0, and most of the rest had less than 3.

It's also worth noting that once you clear the 75% mark, you're very likely to 
also clear 85% and 90%.  Only 3 RFCs cleared 75% and didn't clear 90%.

What I'm getting at is this:

Most passed RFCs are manage to gain something that's very close to consensus, 
way higher than 2/3, with barely a handful of people opposing.
If the vote is close to 2/3 - there are very high chances that the RFC is 
controversial, that people who oppose it will be opposing it passionately, and 
that as civilized as we try to be - bad vibes are likely to ensue.

> How? I dunno. I’m open to ideas.

I have one idea.  I made an awful mistake while drafting the Voting RFC, 
requiring a 2/3 majority for language changes.  It should have been 85-90%.  
When you have a 85-90% majority - it's likely to imply several things:
1. There's overwhelming majority for it.
2. At least based on past experience - not only the relative amount of 
opposition is low, but also the absolute one.
3. Unlike today, when the storms occur when there isn't consensus but when 
there are two sizable 'camps', even if one is bigger than the other - if we 
require an overwhelming majority to approve RFCs, I think that the issue of 
people "not shutting up and admit their opinion diverges from the consensus" 
will disappear.  If there are 9 people who support the idea for every one that 
opposes it, it's very different than having only 2 for every one that opposes 
it.  Radically different.
4.  As soon as authors notice substantial opposition, they'll quickly realize 
they're dealing with an RFC that's very unlikely to pass, and probably eiter 
abandon it or go back to the drawing board - and eliminate any contention that 
may have otherwise surrounded it.
5.  A high bar would push authors to address as many the points of opposition 
before they move to a vote, resulting in a better RFC.  From a quick glance at 
the ones that failed clearing 85/90% - it seems that at least some could have 
cleared it with some improvements.

I think that no matter what we do, CoC, guidelines or teams we have in place - 
as long as there'll be divisive RFCs, there are going to be heated, toxic 
discussions.

Had we had a 90% bar, it does mean that STH wouldn't have made it into the 
language, but it also means that we would probably not have the discussion saga 
on internals either, and all of the bad vibes that surrounded it.  Plus, STH is 
already behind us - we're talking about the future. 

So I believe it boils down to this - are we willing to give up on a few 
features in order to vastly improve the atmosphere on internals?

Zeev

Reply via email to