Re: [PHP-DEV] Alternative voting reform: Streamlining the RFC process

2019-02-04 Thread Stanislav Malyshev
Hi!

>> I want to say that even a small and fairly
> simple code change,
> which I proposed to push through the bureaucracy, was difficult.

> I think this is what Nikita wants to change with this simpler procedure.
> More RFCs even on smaller changes, so that more broad input can be
> gathered before doing any kind of change.

If so, this is IMO a bad idea. We don't need to make contributing
harder, and have a formal two-week vote on each change.
But, since the original quote talks about the past, then it can't be
about RFCs, because in the past we didn't require RFCs for small changes
(and shouldn't in the future).

-- 
Stas Malyshev
smalys...@gmail.com

-- 
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP-DEV] Alternative voting reform: Streamlining the RFC process

2019-02-04 Thread Benjamin Eberlei
On Mon, Feb 4, 2019 at 9:00 AM Stanislav Malyshev 
wrote:

> Hi!
>
> >> I want to say that even a small and fairly
> > simple code change,
> > which I proposed to push through the bureaucracy, was difficult.
>
> We're discussing RFCs. Small and fairly simple code change does not need
> an RFC.


I think this is what Nikita wants to change with this simpler procedure.
More RFCs even on smaller changes, so that more broad input can be gathered
before doing any kind of change.


> So either:
>
> a) this change is indeed small and simple, and does not belong to the
> topic about RFC process, maybe about code review process, which is no
> less important, but different talk.
>
> b) this change wasn't as small and simple as it appeared, it did require
> the RFC, but you didn't know that. It's not your fault, no shame here -
> but this shows the process worked as it should have.
>
> > This, I am afraid is all too common. Many many times, while working
> through
> > github issues, I will be uncomfortable with making a merge for someone
> > without input from internals. I would tell that person to start a
> > discussion on internals and they would be flat ignored, their change dead
> > in the water, and their reason to continue contributing evaporates.
>
> But how this relates to RFCs? Certainly not every patch needs an RFC.
>
> --
> Stas Malyshev
> smalys...@gmail.com
>
> --
> PHP Internals - PHP Runtime Development Mailing List
> To unsubscribe, visit: http://www.php.net/unsub.php
>
>


Re: [PHP-DEV] Alternative voting reform: Streamlining the RFC process

2019-02-04 Thread Stanislav Malyshev
Hi!

>> I want to say that even a small and fairly
> simple code change,
> which I proposed to push through the bureaucracy, was difficult.

We're discussing RFCs. Small and fairly simple code change does not need
an RFC. So either:

a) this change is indeed small and simple, and does not belong to the
topic about RFC process, maybe about code review process, which is no
less important, but different talk.

b) this change wasn't as small and simple as it appeared, it did require
the RFC, but you didn't know that. It's not your fault, no shame here -
but this shows the process worked as it should have.

> This, I am afraid is all too common. Many many times, while working through
> github issues, I will be uncomfortable with making a merge for someone
> without input from internals. I would tell that person to start a
> discussion on internals and they would be flat ignored, their change dead
> in the water, and their reason to continue contributing evaporates.

But how this relates to RFCs? Certainly not every patch needs an RFC.

-- 
Stas Malyshev
smalys...@gmail.com

-- 
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP-DEV] Alternative voting reform: Streamlining the RFC process

2019-02-03 Thread Stanislav Malyshev
Hi!

> Without a required discussion period, there could be slightly more
> 'incentive' for RFC authors to respond as quickly as possible, to 'get
> the discussion out the way'.

I see it exactly opposite - since we have no quorum requirement,
declaring the vote as soon as possible if a couple of people like your
proposal and nobody objected yet seems to be winning strategy. By the
time people analyze it more in detail and decide to voice objections the
vote would be half done, and by the time they read the answers and want
to continue the discussion, the vote would be finished. The right thing
in this scenario would be to vote "no" immediately to any RFC that you
didn't read yet and then start the discussion. This looks like rather
wrong process.

> It should be made really clear to people raising RFCs, that choosing
> to have the minimum voting time, particularly if the discussion didn't
> seem to produce a clear consensus can be, and possibly should be,
> interpreted by voters as a reason to vote against an RFC.

The problem, again, is, as you said, you don't read internals for weeks.
I may also have periods where this happens, and I suspect others too.
Now you come back and discover a blitz RFC already in the second week of
voting, and you don't even know what it's about. So your choice is -
read it and ask questions now, and take chance that the vote would be
done before you even get an answer, or immediately vote "no" on all
unknown RFCs and then maybe change your vote later. I don't think
encouraging such things would create a good process or be encouraging to
new RFC authors.

-- 
Stas Malyshev
smalys...@gmail.com

-- 
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP-DEV] Alternative voting reform: Streamlining the RFC process

2019-02-03 Thread Stanislav Malyshev
Hi!

> 1. There is no required discussion period. However, if an RFC vote is
> opened without leaving enough time for discussion, then voters can and
> should vote the RFC down on the grounds of insufficient discussion.

I don't think this is a good idea. I see no scenario it improves -
there's nothing in any RFC that can't wait for a week or two. However,
there can be then a situation where somebody sees something as obvious
and declares immediate vote, while others think it's not obvious at all
but by the time they get there the vote is already done. I see
absolutely no need to speed it up - the RFCs that ever got stalled
didn't get stalled because of mandatory discussion period. This tries to
solve a problem we don't have with something that may have bad
consequences.

> and require more time for an adequate discussion. Other RFCs are simple and
> of limited scope (such as an extension function addition) and do not
> require extensive discussion.

Yes, some RFCs are simple. But none of them are urgent. And frankly if
the proposed can't stay on track for two weeks

> While a two week discussion period should remain a good guideline for
> language-related RFCs, it is up to the RFC author to decide when opening an
> RFC vote is appropriate. This will depend both on the scope of the RFC

This is also not a good idea - I can easily see unexperienced RFC author
setting discussion period too short, because it's obviously a good idea,
people that didn't have time to understand the RFC vote no, as you
recommended, and then RFC fails not on merits but because of easily
avoidable process issue. Better to avoid it upfront.

> 2. There is no moratorium period after an RFC vote fails. If you think that
> you have made significant progress on an RFC and resolved the issues that
> made the previous vote fail, you can give it another shot at any time,
> without having to wait out some fixed period.

Obvious failure scenario is to submit the same RFC with minimal cosmetic
changes in hope detractors gave up or don't pay attention (either
explicit or implicit - i.e. genuinely thinking the RFC was fixed but not
actually fixing it) and essentially subverting the consensus. Coupled
with no minimum discussion period I think this can happen a lot,
especially given that many people don't have time to read all discussion
on all topics on the list in real time (I don't for example).

> A failed vote does not (necessarily) mean that a feature is not wanted. It
> is quite common for significant changes to fail on first vote, due to
> issues in the initial proposal. A failed vote should not be a
> discouragement, but a motivation to address problems expressed during
> discussion or voting.

True, but I don't see how having cooldown period contradicts this.
That's exactly when the problems have to be fixed. What's the point of
putting up for vote an RFC that just yesterday have failed a vote (your
reform allows this)?

> Essentially, this is about making the RFC process more suitable for changes
> small and large, and empowering both RFC authors and the voter base to make
> decisions that are appropriate for each RFC.

I do not see which decisions it enables that will improve the process.
So far I only see the decisions that if enabled would likely to lead to
more controversial decisions passing and more people being left behind
or unable to properly participate in the process.

-- 
Stas Malyshev
smalys...@gmail.com

-- 
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP-DEV] Alternative voting reform: Streamlining the RFC process

2019-02-03 Thread Zeev Suraski
On Sun, Feb 3, 2019 at 12:08 PM Nikita Popov  wrote:

>
>> Personally, I find any proposal that does not deal with clearly defining
>> voting eligibility not only questionable, but a non-starter, that has no
>> parallels in any other major Open Source projects.
>>
>
> Why? While I think the question of voting eligibility is worth discussing
> (though I also don't consider the problem pressing in any way and think
> that our current pool of voters works quite well, even if it may not be
> what people had in mind back then), it is, just like the question of voting
> margins, a rather independent issue from the remainder of the process.
>

Kris's point made me think about this issue, and I may still need to do
some more thinking about whether the Workflow and Voting elements can be
separated.  It may be that they can.  However, I don't see how the Voting
element can be further separated into "voting eligibility" and "voting
threshold", and other surrounding elements like a quorum which we may want
to introduce.  These are inherently interlinked.  Moreover, there are
elements where even the substance of the given RFC has - or at least
*should* have - influence on the voting margins.  Cases in point:

- The PHP 6 vs PHP 7 naming RFC
- The RFC to determine PHP 7's timeline
- The PHP 5.6 EOL RFC
- Any future RFC about timeline, naming, or other administrative,
non-policy-binding decision

These administrative decisions make no sense to require a 2/3 majority, but
rather - a simple majority of the eligible voters, as ultimately, it's down
to a matter of preference - without any long term (beyond a couple of
years) commitments.

The 2/3 majority was introduced to place a bias-towards-the-status-quo of
the language, and make sure we don't create long-term commitments based on
a temporary narrow majority.  It simply does not apply in such cases.

Further, it's difficult to separate the question of "what requires a vote"
from a statement that "everything requires a 2/3 vote", although
technically not entirely impossible.

I'll do some more thinking about it and consider breaking the Workflow &
Voting into two different RFCs if I can find an elegant way to solve these
issues;  But either way, focusing on the margins alone remains a
non-starter for me.

The problem with bundling together these changes is, if you will excuse the
> political parallel, akin to bundling changes to copyright enforcement
> together with a free trade agreement. Those two things have nothing to do
> with each other (though of course interested parties will argue that they
> are inseparable), but combining them into a single agreement makes it
> feasible to pass changes that would not otherwise be considered acceptable.
> At the same time, it also puts the overall agreement at the danger of
> failing, due to parts that are not related to its core purpose.
>

As demonstrated above, they actually have a lot to do with each other, and
do have certain inter-dependencies.  Thankfully, in our world, neither is a
series of books with countless chapters like free trade and copyright law
tend to be.  I realize that there are some people here that want to simply
focus on the 2/3 margin issue and call it a day, but to me it remains a
very partial fix to a much bigger problem - that realistically, if we don't
tackle now while we've got people's attention - we'll likely never tackle.

The suggestion that the new RFC makes life more difficult, compared to the
>> current Voting RFC, is simply wrong.  It is, in fact, very much the same -
>> except it's a lot more well defined in terms of 'what happens if' - which
>> in the years since the 2011 Voting RFC was enacted became a de-facto
>> wild-west.
>>
>
> As quite likely the single largest user of the RFC process, I beg to
> differ. I think your perspective here comes about, because your use of the
> RFC process is limited to rare, but large (in the sense of important)
> proposals. However, that's not the case for all or even most RFCs. It is
> already the case that RFCs are cumbersome for smaller changes, and all
> active contributors I know (apart from cmb maybe) will go out of their way
> to avoid going through the RFC process if it is at all avoidable. It is
> something of a social faux pas to tell another core contributor on a PR
> that their change might benefit from an RFC, because that generally means
> that the change will be dropped dead in the water instead.
>
> I think that we *should* encourage the use of RFCs for less significant
> changes, because it is useful to have design considerations spelled out in
> more detail than a two line commit message. Your proposal does not make
> things much more complicated, and doesn't make the RFC process take much
> more time. But it increases the marginal costs just enough to make RFCs
> even more annoying than they already are. You edit your proposal a few
> times at inopportune moments and bam, you have to wait one and a half
> months before it can land. 

Re: [PHP-DEV] Alternative voting reform: Streamlining the RFC process

2019-02-03 Thread Dan Ackroyd
On Sat, 2 Feb 2019 at 16:24, Nikita Popov  wrote:
>
> What do you think?

> All RFCs must have a voting period of at least 14 days, announced in a
> separate [VOTE] thread.

That sounds mostly good to me. My feedback would be:

First, I wish people (including RFC authors) took more time to think
about other people's feedback before replying.

There have been some discussions around RFCs where people appear to be
sending email responses within minutes of receiving them, which gives
the appearance of not carefully evaluating that feedback, and trying
to dominate a conversation through volume.

Without a required discussion period, there could be slightly more
'incentive' for RFC authors to respond as quickly as possible, to 'get
the discussion out the way'.

I can't think of a way to codify rules against this behaviour. But
perhaps it could be noted in an updated RFC document something like
"to allow careful consideration, discussions should be allowed to take
time to resolve. It is more appropriate to send a carefully considered
response the next day, than to send a quick response."


Second, two weeks minimum is still quite short.

This may astound people, but I often go weeks at a time without
wondering what is happening in PHP internals. I believe other people
might also have a life outside of PHP internals.

It should be made really clear to people raising RFCs, that choosing
to have the minimum voting time, particularly if the discussion didn't
seem to produce a clear consensus can be, and possibly should be,
interpreted by voters as a reason to vote against an RFC.

cheers
Dan
Ack

-- 
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP-DEV] Alternative voting reform: Streamlining the RFC process

2019-02-03 Thread Larry Garfield
On Sunday, February 3, 2019 4:07:46 AM CST Nikita Popov wrote:
> On Sun, Feb 3, 2019 at 6:18 AM Zeev Suraski  wrote:

> > The suggestion that the new RFC makes life more difficult, compared to the
> > current Voting RFC, is simply wrong.  It is, in fact, very much the same -
> > except it's a lot more well defined in terms of 'what happens if' - which
> > in the years since the 2011 Voting RFC was enacted became a de-facto
> > wild-west.
> 
> As quite likely the single largest user of the RFC process, I beg to
> differ. I think your perspective here comes about, because your use of the
> RFC process is limited to rare, but large (in the sense of important)
> proposals. However, that's not the case for all or even most RFCs. It is
> already the case that RFCs are cumbersome for smaller changes, and all
> active contributors I know (apart from cmb maybe) will go out of their way
> to avoid going through the RFC process if it is at all avoidable. It is
> something of a social faux pas to tell another core contributor on a PR
> that their change might benefit from an RFC, because that generally means
> that the change will be dropped dead in the water instead.
> 
> I think that we *should* encourage the use of RFCs for less significant
> changes, because it is useful to have design considerations spelled out in
> more detail than a two line commit message. Your proposal does not make
> things much more complicated, and doesn't make the RFC process take much
> more time. But it increases the marginal costs just enough to make RFCs
> even more annoying than they already are. You edit your proposal a few
> times at inopportune moments and bam, you have to wait one and a half
> months before it can land. That's okay if you're trying to introduce a JIT
> in PHP, but if you just want to add a function, that's the point where you
> say "Why do I even bother with this?"
> 
> Regards,
> Nikita

If I may, it seems like the intended goal is to ensure that a proposal gets 
"enough" attention, "enough" time for people with other priorities to find, 
read, digest, and decide on it, and to avoid last minute changes in the RFC so 
that people don't fully realize what they're voting on (for some definition of 
"enough").

To that end, what about simply a "fallow period" before a vote can be called?  
To wit:

"Once an RFC has been announced, the proposal may call a vote on it at any 
time provided that there have been no substantive changes within the past 2 
weeks.  If there is reasonable dispute over whether a change is 'substantive', 
then it is assumed to be substantive."

That assures that there is always at least a 2 week discussion period, but you 
could still go from proposal to vote in 2 weeks.  It also ensures that if 
you've read an RFC in the last 2 weeks when the vote is called that you're 
still up to date.  However, minor changes (wording, revising an argument for 
something but not changing the actual thing, etc.) don't cause an RFC to sit 
in limbo for months.  Of course, if the RFC is still changing regularly then 
that would continue to kick the voting period further down the line, which is 
what you want in that case since it's still being revised.

It also has the advantage of being really short and easy to grok.  

--Larry Garfield

signature.asc
Description: This is a digitally signed message part.


Re: [PHP-DEV] Alternative voting reform: Streamlining the RFC process

2019-02-03 Thread Nikita Popov
On Sun, Feb 3, 2019 at 6:18 AM Zeev Suraski  wrote:

>
>
> > -Original Message-
> > From: Nikita Popov 
> > Sent: Saturday, February 2, 2019 6:24 PM
> > To: PHP internals 
> > Subject: [PHP-DEV] Alternative voting reform: Streamlining the RFC
> process
> >
> > Hi internals,
> >
> > After discussing the topic with a number of current and former
> contributors, I
> > feel that the workflow & voting RFC currently under discussion is moving
> us in
> > the wrong direction. I will not comment on the rather questionable
> proposed
> > changes to voting eligibility, as these are already extensively
> discussed in the
> > RFC thread.
>
> Personally, I find any proposal that does not deal with clearly defining
> voting eligibility not only questionable, but a non-starter, that has no
> parallels in any other major Open Source projects.
>

Why? While I think the question of voting eligibility is worth discussing
(though I also don't consider the problem pressing in any way and think
that our current pool of voters works quite well, even if it may not be
what people had in mind back then), it is, just like the question of voting
margins, a rather independent issue from the remainder of the process. I
think that these discussions and RFC can and should be split up into the
question of voting margins, the question of voting eligibility and the
question of the RFC procedure itself. While these things are of course
related, they can also be decided independently.

The problem with bundling together these changes is, if you will excuse the
political parallel, akin to bundling changes to copyright enforcement
together with a free trade agreement. Those two things have nothing to do
with each other (though of course interested parties will argue that they
are inseparable), but combining them into a single agreement makes it
feasible to pass changes that would not otherwise be considered acceptable.
At the same time, it also puts the overall agreement at the danger of
failing, due to parts that are not related to its core purpose.

I understand that there is also benefit in deciding related questions in
conjunction, in that a decision in one area would only be acceptable
conditional on a decision in another area. However, to get back to the
specific topic here, this does not appear to be applicable. For example,
your changes to the RFC workflow could be implemented independently of the
voting eligibility changes and vice versa. The only possible dependency I
see is that all proposals benefit from having the 2/3 voting margin as a
baseline (which is consistent with that RFC proceeding first, of course).


> The suggestion that the new RFC makes life more difficult, compared to the
> current Voting RFC, is simply wrong.  It is, in fact, very much the same -
> except it's a lot more well defined in terms of 'what happens if' - which
> in the years since the 2011 Voting RFC was enacted became a de-facto
> wild-west.
>

As quite likely the single largest user of the RFC process, I beg to
differ. I think your perspective here comes about, because your use of the
RFC process is limited to rare, but large (in the sense of important)
proposals. However, that's not the case for all or even most RFCs. It is
already the case that RFCs are cumbersome for smaller changes, and all
active contributors I know (apart from cmb maybe) will go out of their way
to avoid going through the RFC process if it is at all avoidable. It is
something of a social faux pas to tell another core contributor on a PR
that their change might benefit from an RFC, because that generally means
that the change will be dropped dead in the water instead.

I think that we *should* encourage the use of RFCs for less significant
changes, because it is useful to have design considerations spelled out in
more detail than a two line commit message. Your proposal does not make
things much more complicated, and doesn't make the RFC process take much
more time. But it increases the marginal costs just enough to make RFCs
even more annoying than they already are. You edit your proposal a few
times at inopportune moments and bam, you have to wait one and a half
months before it can land. That's okay if you're trying to introduce a JIT
in PHP, but if you just want to add a function, that's the point where you
say "Why do I even bother with this?"

Regards,
Nikita


Re: [PHP-DEV] Alternative voting reform: Streamlining the RFC process

2019-02-03 Thread Bob Weinand
> Am 03.02.2019 um 06:18 schrieb Zeev Suraski :
> 
>> -Original Message-
>> From: Nikita Popov 
>> Sent: Saturday, February 2, 2019 6:24 PM
>> To: PHP internals 
>> Subject: [PHP-DEV] Alternative voting reform: Streamlining the RFC process
>> 
>> Hi internals,
>> 
>> After discussing the topic with a number of current and former contributors, 
>> I
>> feel that the workflow & voting RFC currently under discussion is moving us 
>> in
>> the wrong direction. I will not comment on the rather questionable proposed
>> changes to voting eligibility, as these are already extensively discussed in 
>> the
>> RFC thread.
> 
> Personally, I find any proposal that does not deal with clearly defining 
> voting eligibility not only questionable, but a non-starter, that has no 
> parallels in any other major Open Source projects.
> 
> The suggestion that the new RFC makes life more difficult, compared to the 
> current Voting RFC, is simply wrong.  It is, in fact, very much the same - 
> except it's a lot more well defined in terms of 'what happens if' - which in 
> the years since the 2011 Voting RFC was enacted became a de-facto wild-west.
> 
> It may initially feel warm & fuzzy to  have vague, fluid rules that are 
> remarkably open to interpretation.  But it's not a good idea at all.
> 
> Zeev

Hey Zeev,

why is dealing with voting eligibility a requirement for a new RFC dealing with 
the RFC process? Everything which is not dealt with, is simply inherited from 
status quo. And I personally don't think the current rules regarding voting 
eligibility, while possibly not perfect, are in such a bad state that they 
immediately need a rework. The door to concrete, separate proposals fixing 
voting eligibility is not closed with this RFC. You are always free to open a 
new specific RFC and discuss about a voting eligibility proposal.

In addition, the newly proposed RFC here is absolutely not vague. It is pretty 
well defined, showing a few clear boundaries. For everything else it is the 
task of the voter to establish whether a RFC is ready and shall be voted in as 
is. It's precisely that which makes a great voting process. In particular with 
a 2/3 required majority, I strongly doubt that bullshit RFCs which are quickly 
proposed and moved to vote, will ever be accepted. I trust our voters enough to 
know when something should definitely not be accepted.

And I strongly hope that you are not lacking faith in us PHP RFC voters, that 
you feel like you couldn't trust us to apply sensible judgement to each RFC.

Thanks,
Bob
--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php



RE: [PHP-DEV] Alternative voting reform: Streamlining the RFC process

2019-02-02 Thread Zeev Suraski



> -Original Message-
> From: Nikita Popov 
> Sent: Saturday, February 2, 2019 6:24 PM
> To: PHP internals 
> Subject: [PHP-DEV] Alternative voting reform: Streamlining the RFC process
> 
> Hi internals,
> 
> After discussing the topic with a number of current and former contributors, I
> feel that the workflow & voting RFC currently under discussion is moving us in
> the wrong direction. I will not comment on the rather questionable proposed
> changes to voting eligibility, as these are already extensively discussed in 
> the
> RFC thread.

Personally, I find any proposal that does not deal with clearly defining voting 
eligibility not only questionable, but a non-starter, that has no parallels in 
any other major Open Source projects.

The suggestion that the new RFC makes life more difficult, compared to the 
current Voting RFC, is simply wrong.  It is, in fact, very much the same - 
except it's a lot more well defined in terms of 'what happens if' - which in 
the years since the 2011 Voting RFC was enacted became a de-facto wild-west.

It may initially feel warm & fuzzy to  have vague, fluid rules that are 
remarkably open to interpretation.  But it's not a good idea at all.

Zeev



--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP-DEV] Alternative voting reform: Streamlining the RFC process

2019-02-02 Thread Kris Craig
Now THIS is a sensible proposal!  It resolves the biggest issues in a very
simple and straightforward manner.  And unlike the other RFC, this proposal
does not feel like an exclusionary power grab.

--Kris

On Sat, Feb 2, 2019, 8:24 AM Nikita Popov  Hi internals,
>
> After discussing the topic with a number of current and former
> contributors, I feel that the workflow & voting RFC currently under
> discussion is moving us in the wrong direction. I will not comment on the
> rather questionable proposed changes to voting eligibility, as these are
> already extensively discussed in the RFC thread.
>
> The remainder of the workflow & voting RFC is mostly concerned with
> defining stricter rules and more rigid procedures for the RFC process. It
> increases the amount of bureaucracy and overhead involved in the RFC
> process, making the RFC processes even less suitable for smaller changes
> than it already is.
>
> The proposal I would like to present in the following is not my own idea,
> it has been suggested by Anthony Ferrara. Because I found the idea very
> compelling, I'm presenting it to the list now.
>
> ---
>
> Instead of making the RFC process more complex and rigid, we should
> simplify and streamline it. The RFC process is reduced to only two rules:
>
> 1. All primary RFC votes require a 2/3 majority, while secondary votes
> resolving implementation details may use a simple majority. (This is
> already proposed in the voting margins RFC, so discussion about this point
> should be directed into the corresponding RFC thread.)
>
> 2. All RFCs must have a voting period of at least 14 days, announced in a
> separate [VOTE] thread.
>
> ---
>
> That's it. More notable than the rules itself are probably the two main
> omissions:
>
> 1. There is no required discussion period. However, if an RFC vote is
> opened without leaving enough time for discussion, then voters can and
> should vote the RFC down on the grounds of insufficient discussion.
>
> The motivation for not having a fixed discussion period (but a longer
> minimum voting period) is that RFCs come in many different forms and sizes.
> Some RFCs are long and complex (such as the recent typed properties RFC)
> and require more time for an adequate discussion. Other RFCs are simple and
> of limited scope (such as an extension function addition) and do not
> require extensive discussion.
>
> While a two week discussion period should remain a good guideline for
> language-related RFCs, it is up to the RFC author to decide when opening an
> RFC vote is appropriate. This will depend both on the scope of the RFC
> itself and the activity of the discussion. (It is an unfortunate fact that
> many RFCs receive their first meaningful feedback during the voting
> period.)
>
> 2. There is no moratorium period after an RFC vote fails. If you think that
> you have made significant progress on an RFC and resolved the issues that
> made the previous vote fail, you can give it another shot at any time,
> without having to wait out some fixed period.
>
> A failed vote does not (necessarily) mean that a feature is not wanted. It
> is quite common for significant changes to fail on first vote, due to
> issues in the initial proposal. A failed vote should not be a
> discouragement, but a motivation to address problems expressed during
> discussion or voting.
>
> It should go without saying that if you restart a failed RFC vote without
> making substantial changes to the RFC, the result is unlikely to change in
> your favor, and that continued misbehavior might be seen as spam.
>
> ---
>
> Essentially, this is about making the RFC process more suitable for changes
> small and large, and empowering both RFC authors and the voter base to make
> decisions that are appropriate for each RFC.
>
> What do you think?
>
> Regards,
> Nikita
>


Re: [PHP-DEV] Alternative voting reform: Streamlining the RFC process

2019-02-02 Thread Joe Watkins
Just a quick note ...

I should say that bug fixes should not require an RFC at all, but the line
between bug, quick fix and feature is blurry. Sometimes it is necessary to
gather consensus and voting is the most effective way we have to do that.

Cheers
Joe

On Sat, 2 Feb 2019 at 18:13, Joe Watkins  wrote:

> Hi Legale, internals,
>
> > I want to say that even a small and fairly
> simple code change,
> which I proposed to push through the bureaucracy, was difficult.
>
> This, I am afraid is all too common. Many many times, while working
> through github issues, I will be uncomfortable with making a merge for
> someone without input from internals. I would tell that person to start a
> discussion on internals and they would be flat ignored, their change dead
> in the water, and their reason to continue contributing evaporates.
>
> I think these proposals have a chance of reducing the occurrences of those
> situations: We all know that for less interesting topics, vote time is
> crunch time and that is when internals pays attention. If there is no
> necessity to wait for X weeks between proposing a change that nobody really
> has a desire to discuss, and opening a vote, that person can move forward
> quickly, we get our bug/quick fix faster, everyone is happy, especially
> that contributor who feels valued, and who feels that PHP's development
> process is geared toward actual development of PHP.
>
> Cheers
> Joe
>
> On Sat, 2 Feb 2019 at 18:02, Legale Legage 
> wrote:
>
>> Hello, internals.
>> I am with you recently. But as a person with a fresh look, let me insert
>> my
>> 5 penny coin.
>> About half a year ago, I knew about the C language only that such a
>> language exists.
>> The reason I decided to contribute is curiosity. So I'm probably not as
>> motivated
>> as some of other internals. I want to say that even a small and fairly
>> simple code change,
>> which I proposed to push through the bureaucracy, was difficult. So If RFC
>> process
>> becomes more difficult this "road" will be closed for some sort of random
>> people like me.
>> I hope this doesn't happen.
>>
>> Best regards, Ruslan
>>
>> On Sat, 2 Feb 2019 at 17:24, Nikita Popov  wrote:
>>
>> > Hi internals,
>> >
>> > After discussing the topic with a number of current and former
>> > contributors, I feel that the workflow & voting RFC currently under
>> > discussion is moving us in the wrong direction. I will not comment on
>> the
>> > rather questionable proposed changes to voting eligibility, as these are
>> > already extensively discussed in the RFC thread.
>> >
>> > The remainder of the workflow & voting RFC is mostly concerned with
>> > defining stricter rules and more rigid procedures for the RFC process.
>> It
>> > increases the amount of bureaucracy and overhead involved in the RFC
>> > process, making the RFC processes even less suitable for smaller changes
>> > than it already is.
>> >
>> > The proposal I would like to present in the following is not my own
>> idea,
>> > it has been suggested by Anthony Ferrara. Because I found the idea very
>> > compelling, I'm presenting it to the list now.
>> >
>> > ---
>> >
>> > Instead of making the RFC process more complex and rigid, we should
>> > simplify and streamline it. The RFC process is reduced to only two
>> rules:
>> >
>> > 1. All primary RFC votes require a 2/3 majority, while secondary votes
>> > resolving implementation details may use a simple majority. (This is
>> > already proposed in the voting margins RFC, so discussion about this
>> point
>> > should be directed into the corresponding RFC thread.)
>> >
>> > 2. All RFCs must have a voting period of at least 14 days, announced in
>> a
>> > separate [VOTE] thread.
>> >
>> > ---
>> >
>> > That's it. More notable than the rules itself are probably the two main
>> > omissions:
>> >
>> > 1. There is no required discussion period. However, if an RFC vote is
>> > opened without leaving enough time for discussion, then voters can and
>> > should vote the RFC down on the grounds of insufficient discussion.
>> >
>> > The motivation for not having a fixed discussion period (but a longer
>> > minimum voting period) is that RFCs come in many different forms and
>> sizes.
>> > Some RFCs are long and complex (such as the recent typed properties RFC)
>> > and require more time for an adequate discussion. Other RFCs are simple
>> and
>> > of limited scope (such as an extension function addition) and do not
>> > require extensive discussion.
>> >
>> > While a two week discussion period should remain a good guideline for
>> > language-related RFCs, it is up to the RFC author to decide when
>> opening an
>> > RFC vote is appropriate. This will depend both on the scope of the RFC
>> > itself and the activity of the discussion. (It is an unfortunate fact
>> that
>> > many RFCs receive their first meaningful feedback during the voting
>> > period.)
>> >
>> > 2. There is no moratorium period after an RFC vote fails. If you think
>> that
>> > you 

Re: [PHP-DEV] Alternative voting reform: Streamlining the RFC process

2019-02-02 Thread Joe Watkins
Hi Legale, internals,

> I want to say that even a small and fairly
simple code change,
which I proposed to push through the bureaucracy, was difficult.

This, I am afraid is all too common. Many many times, while working through
github issues, I will be uncomfortable with making a merge for someone
without input from internals. I would tell that person to start a
discussion on internals and they would be flat ignored, their change dead
in the water, and their reason to continue contributing evaporates.

I think these proposals have a chance of reducing the occurrences of those
situations: We all know that for less interesting topics, vote time is
crunch time and that is when internals pays attention. If there is no
necessity to wait for X weeks between proposing a change that nobody really
has a desire to discuss, and opening a vote, that person can move forward
quickly, we get our bug/quick fix faster, everyone is happy, especially
that contributor who feels valued, and who feels that PHP's development
process is geared toward actual development of PHP.

Cheers
Joe

On Sat, 2 Feb 2019 at 18:02, Legale Legage  wrote:

> Hello, internals.
> I am with you recently. But as a person with a fresh look, let me insert my
> 5 penny coin.
> About half a year ago, I knew about the C language only that such a
> language exists.
> The reason I decided to contribute is curiosity. So I'm probably not as
> motivated
> as some of other internals. I want to say that even a small and fairly
> simple code change,
> which I proposed to push through the bureaucracy, was difficult. So If RFC
> process
> becomes more difficult this "road" will be closed for some sort of random
> people like me.
> I hope this doesn't happen.
>
> Best regards, Ruslan
>
> On Sat, 2 Feb 2019 at 17:24, Nikita Popov  wrote:
>
> > Hi internals,
> >
> > After discussing the topic with a number of current and former
> > contributors, I feel that the workflow & voting RFC currently under
> > discussion is moving us in the wrong direction. I will not comment on the
> > rather questionable proposed changes to voting eligibility, as these are
> > already extensively discussed in the RFC thread.
> >
> > The remainder of the workflow & voting RFC is mostly concerned with
> > defining stricter rules and more rigid procedures for the RFC process. It
> > increases the amount of bureaucracy and overhead involved in the RFC
> > process, making the RFC processes even less suitable for smaller changes
> > than it already is.
> >
> > The proposal I would like to present in the following is not my own idea,
> > it has been suggested by Anthony Ferrara. Because I found the idea very
> > compelling, I'm presenting it to the list now.
> >
> > ---
> >
> > Instead of making the RFC process more complex and rigid, we should
> > simplify and streamline it. The RFC process is reduced to only two rules:
> >
> > 1. All primary RFC votes require a 2/3 majority, while secondary votes
> > resolving implementation details may use a simple majority. (This is
> > already proposed in the voting margins RFC, so discussion about this
> point
> > should be directed into the corresponding RFC thread.)
> >
> > 2. All RFCs must have a voting period of at least 14 days, announced in a
> > separate [VOTE] thread.
> >
> > ---
> >
> > That's it. More notable than the rules itself are probably the two main
> > omissions:
> >
> > 1. There is no required discussion period. However, if an RFC vote is
> > opened without leaving enough time for discussion, then voters can and
> > should vote the RFC down on the grounds of insufficient discussion.
> >
> > The motivation for not having a fixed discussion period (but a longer
> > minimum voting period) is that RFCs come in many different forms and
> sizes.
> > Some RFCs are long and complex (such as the recent typed properties RFC)
> > and require more time for an adequate discussion. Other RFCs are simple
> and
> > of limited scope (such as an extension function addition) and do not
> > require extensive discussion.
> >
> > While a two week discussion period should remain a good guideline for
> > language-related RFCs, it is up to the RFC author to decide when opening
> an
> > RFC vote is appropriate. This will depend both on the scope of the RFC
> > itself and the activity of the discussion. (It is an unfortunate fact
> that
> > many RFCs receive their first meaningful feedback during the voting
> > period.)
> >
> > 2. There is no moratorium period after an RFC vote fails. If you think
> that
> > you have made significant progress on an RFC and resolved the issues that
> > made the previous vote fail, you can give it another shot at any time,
> > without having to wait out some fixed period.
> >
> > A failed vote does not (necessarily) mean that a feature is not wanted.
> It
> > is quite common for significant changes to fail on first vote, due to
> > issues in the initial proposal. A failed vote should not be a
> > discouragement, but a motivation 

Re: [PHP-DEV] Alternative voting reform: Streamlining the RFC process

2019-02-02 Thread Legale Legage
Hello, internals.
I am with you recently. But as a person with a fresh look, let me insert my
5 penny coin.
About half a year ago, I knew about the C language only that such a
language exists.
The reason I decided to contribute is curiosity. So I'm probably not as
motivated
as some of other internals. I want to say that even a small and fairly
simple code change,
which I proposed to push through the bureaucracy, was difficult. So If RFC
process
becomes more difficult this "road" will be closed for some sort of random
people like me.
I hope this doesn't happen.

Best regards, Ruslan

On Sat, 2 Feb 2019 at 17:24, Nikita Popov  wrote:

> Hi internals,
>
> After discussing the topic with a number of current and former
> contributors, I feel that the workflow & voting RFC currently under
> discussion is moving us in the wrong direction. I will not comment on the
> rather questionable proposed changes to voting eligibility, as these are
> already extensively discussed in the RFC thread.
>
> The remainder of the workflow & voting RFC is mostly concerned with
> defining stricter rules and more rigid procedures for the RFC process. It
> increases the amount of bureaucracy and overhead involved in the RFC
> process, making the RFC processes even less suitable for smaller changes
> than it already is.
>
> The proposal I would like to present in the following is not my own idea,
> it has been suggested by Anthony Ferrara. Because I found the idea very
> compelling, I'm presenting it to the list now.
>
> ---
>
> Instead of making the RFC process more complex and rigid, we should
> simplify and streamline it. The RFC process is reduced to only two rules:
>
> 1. All primary RFC votes require a 2/3 majority, while secondary votes
> resolving implementation details may use a simple majority. (This is
> already proposed in the voting margins RFC, so discussion about this point
> should be directed into the corresponding RFC thread.)
>
> 2. All RFCs must have a voting period of at least 14 days, announced in a
> separate [VOTE] thread.
>
> ---
>
> That's it. More notable than the rules itself are probably the two main
> omissions:
>
> 1. There is no required discussion period. However, if an RFC vote is
> opened without leaving enough time for discussion, then voters can and
> should vote the RFC down on the grounds of insufficient discussion.
>
> The motivation for not having a fixed discussion period (but a longer
> minimum voting period) is that RFCs come in many different forms and sizes.
> Some RFCs are long and complex (such as the recent typed properties RFC)
> and require more time for an adequate discussion. Other RFCs are simple and
> of limited scope (such as an extension function addition) and do not
> require extensive discussion.
>
> While a two week discussion period should remain a good guideline for
> language-related RFCs, it is up to the RFC author to decide when opening an
> RFC vote is appropriate. This will depend both on the scope of the RFC
> itself and the activity of the discussion. (It is an unfortunate fact that
> many RFCs receive their first meaningful feedback during the voting
> period.)
>
> 2. There is no moratorium period after an RFC vote fails. If you think that
> you have made significant progress on an RFC and resolved the issues that
> made the previous vote fail, you can give it another shot at any time,
> without having to wait out some fixed period.
>
> A failed vote does not (necessarily) mean that a feature is not wanted. It
> is quite common for significant changes to fail on first vote, due to
> issues in the initial proposal. A failed vote should not be a
> discouragement, but a motivation to address problems expressed during
> discussion or voting.
>
> It should go without saying that if you restart a failed RFC vote without
> making substantial changes to the RFC, the result is unlikely to change in
> your favor, and that continued misbehavior might be seen as spam.
>
> ---
>
> Essentially, this is about making the RFC process more suitable for changes
> small and large, and empowering both RFC authors and the voter base to make
> decisions that are appropriate for each RFC.
>
> What do you think?
>
> Regards,
> Nikita
>


Re: [PHP-DEV] Alternative voting reform: Streamlining the RFC process

2019-02-02 Thread Arvids Godjuks
сб, 2 февр. 2019 г. в 18:24, Nikita Popov :

> Hi internals,
>
> After discussing the topic with a number of current and former
> contributors, I feel that the workflow & voting RFC currently under
> discussion is moving us in the wrong direction. I will not comment on the
> rather questionable proposed changes to voting eligibility, as these are
> already extensively discussed in the RFC thread.
>
> The remainder of the workflow & voting RFC is mostly concerned with
> defining stricter rules and more rigid procedures for the RFC process. It
> increases the amount of bureaucracy and overhead involved in the RFC
> process, making the RFC processes even less suitable for smaller changes
> than it already is.
>
> The proposal I would like to present in the following is not my own idea,
> it has been suggested by Anthony Ferrara. Because I found the idea very
> compelling, I'm presenting it to the list now.
>
> ---
>
> Instead of making the RFC process more complex and rigid, we should
> simplify and streamline it. The RFC process is reduced to only two rules:
>
> 1. All primary RFC votes require a 2/3 majority, while secondary votes
> resolving implementation details may use a simple majority. (This is
> already proposed in the voting margins RFC, so discussion about this point
> should be directed into the corresponding RFC thread.)
>
> 2. All RFCs must have a voting period of at least 14 days, announced in a
> separate [VOTE] thread.
>
> ---
>
> That's it. More notable than the rules itself are probably the two main
> omissions:
>
> 1. There is no required discussion period. However, if an RFC vote is
> opened without leaving enough time for discussion, then voters can and
> should vote the RFC down on the grounds of insufficient discussion.
>
> The motivation for not having a fixed discussion period (but a longer
> minimum voting period) is that RFCs come in many different forms and sizes.
> Some RFCs are long and complex (such as the recent typed properties RFC)
> and require more time for an adequate discussion. Other RFCs are simple and
> of limited scope (such as an extension function addition) and do not
> require extensive discussion.
>
> While a two week discussion period should remain a good guideline for
> language-related RFCs, it is up to the RFC author to decide when opening an
> RFC vote is appropriate. This will depend both on the scope of the RFC
> itself and the activity of the discussion. (It is an unfortunate fact that
> many RFCs receive their first meaningful feedback during the voting
> period.)
>
> 2. There is no moratorium period after an RFC vote fails. If you think that
> you have made significant progress on an RFC and resolved the issues that
> made the previous vote fail, you can give it another shot at any time,
> without having to wait out some fixed period.
>
> A failed vote does not (necessarily) mean that a feature is not wanted. It
> is quite common for significant changes to fail on first vote, due to
> issues in the initial proposal. A failed vote should not be a
> discouragement, but a motivation to address problems expressed during
> discussion or voting.
>
> It should go without saying that if you restart a failed RFC vote without
> making substantial changes to the RFC, the result is unlikely to change in
> your favor, and that continued misbehavior might be seen as spam.
>
> ---
>
> Essentially, this is about making the RFC process more suitable for changes
> small and large, and empowering both RFC authors and the voter base to make
> decisions that are appropriate for each RFC.
>
> What do you think?
>
> Regards,
> Nikita
>

Hello Nikita, internals,

as a user-land developer and at least a decade reader of internals (and
basically seen it all on here) and occasional poster, I highly approve of
your proposal. I like it very much.

To me, this represents a great move towards a less bureaucratic and
edge-case prone process, that requires a high bar of approval from the
internal's community and ability to iterate on complex RFC's at a decent
pace and not hinder small easy changes that are relatively a no-brainer
like it is right now.

I literally see no holes or edge cases in this proposal. Though I can't
vote, this is a big +1 from me and a hope that this will calm down
internals list going forward after what has happened this past week.

-- 
Arvīds Godjuks

+371 26 851 664
arvids.godj...@gmail.com
Skype: psihius
Telegram: @psihius https://t.me/psihius


Re: [PHP-DEV] Alternative voting reform: Streamlining the RFC process

2019-02-02 Thread Joe Watkins
Afternoon Nikita, internals,

In stark contrast to the proposals being made to make contributing to PHP
more complex, slower, and burdened with bureaucracy: These are elegant
proposals that I think will invite new contributors to join our ranks,
which we no doubt need. They will allow current contributors to work faster
on PHP without reducing the quality of their work or the input the rest of
internals has on their contributions. I would hope that it would reduce the
number of RFC that sit on the Wiki for years at a time also, but this is
only my hope.

While these are quite drastic changes, let us try to resist a knee jerk
response to them.

>From me, it's +1

Cheers
Joe

On Sat, 2 Feb 2019 at 17:24, Nikita Popov  wrote:

> Hi internals,
>
> After discussing the topic with a number of current and former
> contributors, I feel that the workflow & voting RFC currently under
> discussion is moving us in the wrong direction. I will not comment on the
> rather questionable proposed changes to voting eligibility, as these are
> already extensively discussed in the RFC thread.
>
> The remainder of the workflow & voting RFC is mostly concerned with
> defining stricter rules and more rigid procedures for the RFC process. It
> increases the amount of bureaucracy and overhead involved in the RFC
> process, making the RFC processes even less suitable for smaller changes
> than it already is.
>
> The proposal I would like to present in the following is not my own idea,
> it has been suggested by Anthony Ferrara. Because I found the idea very
> compelling, I'm presenting it to the list now.
>
> ---
>
> Instead of making the RFC process more complex and rigid, we should
> simplify and streamline it. The RFC process is reduced to only two rules:
>
> 1. All primary RFC votes require a 2/3 majority, while secondary votes
> resolving implementation details may use a simple majority. (This is
> already proposed in the voting margins RFC, so discussion about this point
> should be directed into the corresponding RFC thread.)
>
> 2. All RFCs must have a voting period of at least 14 days, announced in a
> separate [VOTE] thread.
>
> ---
>
> That's it. More notable than the rules itself are probably the two main
> omissions:
>
> 1. There is no required discussion period. However, if an RFC vote is
> opened without leaving enough time for discussion, then voters can and
> should vote the RFC down on the grounds of insufficient discussion.
>
> The motivation for not having a fixed discussion period (but a longer
> minimum voting period) is that RFCs come in many different forms and sizes.
> Some RFCs are long and complex (such as the recent typed properties RFC)
> and require more time for an adequate discussion. Other RFCs are simple and
> of limited scope (such as an extension function addition) and do not
> require extensive discussion.
>
> While a two week discussion period should remain a good guideline for
> language-related RFCs, it is up to the RFC author to decide when opening an
> RFC vote is appropriate. This will depend both on the scope of the RFC
> itself and the activity of the discussion. (It is an unfortunate fact that
> many RFCs receive their first meaningful feedback during the voting
> period.)
>
> 2. There is no moratorium period after an RFC vote fails. If you think that
> you have made significant progress on an RFC and resolved the issues that
> made the previous vote fail, you can give it another shot at any time,
> without having to wait out some fixed period.
>
> A failed vote does not (necessarily) mean that a feature is not wanted. It
> is quite common for significant changes to fail on first vote, due to
> issues in the initial proposal. A failed vote should not be a
> discouragement, but a motivation to address problems expressed during
> discussion or voting.
>
> It should go without saying that if you restart a failed RFC vote without
> making substantial changes to the RFC, the result is unlikely to change in
> your favor, and that continued misbehavior might be seen as spam.
>
> ---
>
> Essentially, this is about making the RFC process more suitable for changes
> small and large, and empowering both RFC authors and the voter base to make
> decisions that are appropriate for each RFC.
>
> What do you think?
>
> Regards,
> Nikita
>