On Mon, Jun 13, 2016 at 9:07 AM, Rowan Collins <rowan.coll...@gmail.com>
wrote:

> On 06/06/2016 08:22, Dmitry Stogov wrote:
>
>>
>> This mini RFC has been moved to "Voting" state.  Voting
>> began on Jun 6 and will close on June 16.
>>
>> You can find the full RFC at: https://wiki.php.net/rfc/too_few_args
>>
>>
> The more I think about this RFC, the less I agree with it being included
> in 7.1.
>
> I realise this is now officially late in the approval process to raise
> these points, but note that the discussion period was just 5 days, when a
> language change would normally require 2 weeks.
>
> <snip>
>
> There is an assumption from those who have spoken in favour of the RFC
> that such warnings will rarely be ignored in real world code, and therefore
> nobody will actually be affected by this. Here, we are pitching anecdote
> against anecdote; my feeling is that many people routinely ignore warnings,
> and will consider their code to be "running fine" under 7.0, then see it
> "crash" under 7.1.


> I was pleased when the "minor versions will retain BC" policy was adopted,
> because I thought it would avoid the problems we had with PHP 5.3 and 5.4,
> and allow wider adoption of the latest version. Allowing this change would
> mean that promise has been broken.
>

Rowan, spot on. We're breaking promises, *when we don't need to: *just
accelerate releases of major versions.

In my mind, a version makes a concise statement about what changes to
expect. It's like a changelog, but with less reading. But that only works
when the major, minor, and patch numbers have stable meanings.

I would rather see us establish and hold firm on the membership rules (what
kind of change can go in what version) and quickly release queued
implementations, than destabilize the meaning of version numbers.

For example, our promise might read like:

"Patches do not change the language. Minors may *add* non-breaking language
features. Majors may *change* language features. Releases will be made as
soon as there is a critical mass of queued implementations."

What's in a release, when a release goes out, and when it's no longer
maintained is all arbitrary. Amidst all this arbitrariness, let's at least
give our users version numbers with reliable meaning.

bishop

Reply via email to