On Sun, 28 Apr 2019 at 14:36, Zeev Suraski <z...@php.net> wrote:

> As I said numerous times in the past, I'm a firm believer that
>>> controversial RFCs (ones that generate a lot of votes with a substantial
>>> number of opposers) should not pass.  I think this is important when
>>> adding
>>> features - but it's actually a lot more important with deprecations.
>>> When
>>> there's substantial doubt whether a deprecation should go through or not,
>>> there should be no doubt at all - it shouldn't.  This is one of the
>>> clearest cases if not the clearest one we've had to date.
>>>
>>
>> This IMHO applies to the deprecation vote which includes the default
>> change
>>
>
> From my POV it applies to all deprecations, although obviously taking out
> something that's been a basic building block for the last 20+ years is
> probably more of an issue than some 3rd party utility function.
>

 I think this just boils down to what is an acceptable majority, if 2/3 is
not enough then 3/4
but this is another debate altogether.

(and seems that is where people disagree as more people vote for the removal
>> without the deprecation notices which seems to point this is the issue)
>> which in hindsight is a stupid thing to do, but I would have loved that
>> people
>> point out to this specific issue (and the voting structure) during the
>> discussion
>> or even at the beginning of the vote.
>>
>> But basing my self on the vote to remove the short open tags in PHP 8,
>> which
>> cleared with 74% so nearly 3/4 it would need six (6) more "NO" votes
>> without any
>> "YES" votes to be on the 2/3 threshold. Whereas the deprecation votes
>> "only"
>> needs two (2) votes to be on the 2/3 threshold.
>>
>
> That's not how I understood the vote - although honestly, I found the vote
> layout to be a bit weird.
>
> There are are two issues here:
> 1.  Secondary votes only kick in if the primary vote passes.  They're also
> defined as votes where you only need a simple majority for one of the
> options.
> 2.  The two questions are, in fact, one and the same.  Removing a feature
> in a major version requires that we first deprecate it in a mini version,
> in other words - we can't remove something in 8.0 in case it's not first
> deprecated in 7.4.
>
> I admit I found this confusing that the two votes were separate, but the
> way I understood it, is that we may actually deprecate it at 7.4, without
> actually removing it at 8.0, but just keeping it deprecated.  The other way
> around (removing it in 8.0 without first deprecating it in 7.x) is against
> our rules.
>

This was indeed the intention of the voting structure as I wanted to have a
vote to get see
if people were filling to remove it with PHP 8 or leave it longer in the
Engine.

However looking at how some people voted against the deprecation notice but
for the removal
the only meaningfull conclusion I can come up with is that the change of
the default value is
the issue.


> I mean I don't see how we are in unchartered territory, the vote passed,
>> sure
>> with not a huge supra majority but it still passed.
>>
>
> We're in unchartered territory not from a process perspective, but in
> terms of the number of core devs who think it's a really bad idea and the
> fact we're rediculously close to the minimum threshold - for something that
> should really happen with consensus.
>

I can see this but is it really unheard of?


> Moreover going about how Twitter [2] reacted (which isn't necessarely a
>> good
>> metric) it seems a *vast* majority is in favor of this change.
>>
>
> It is, indeed, not a very good or even meaningful metric at all.  The
> folks which are likely to care about this are almost definitely severely
> under-represented both here and on the dev cycles on Twitter.
>

This may well be true but by the same argument I can say that a lot of
people are for this
even tho they didn't express this as much as those against it.


> I can consider it but I am really not keen on it.
>>
>
> I'd sincrerely appreciate it if you did.  I'm not fond of fighting
> windmills, even less so nowadays than in the past - but I really think
> we're making a painful mistake for virtually no gain, and I'm pretty sure
> I'm not alone in thinking that.  Ultimately, nothing in the RFC is new
> compared to what we knew back in 1998 when we decided to have short open
> tags.  There are no new developments that make it more relevant today than
> it was back then - if anything, XML is a lot less important today than it
> was back then (when it was all the rage).  And unlike 1998, the cost
> assocaited with deprecating it now is tremendous.  So even if we can argue
> whether we took the right decision 20 years ago - there's really no new
> grounds to reopen that decision today.
>

The problem is if we don't address it now it will be even more complicated
when
PHP 9 rolls around and then again. I still believe these short tags are a
legacy
oddity that should be removed.

Because what prevent me from then re-openning the vote again if the vote
>> then fails?
>>
>
> Nothing really, other than common courtesy.
> I was even hoping that the RFC will be withdrawn given the number of nays
> from core devs, but that's of course something that is up to you.
>

In all honesty I didn't check who votes for what as IMHO everybody is
entitled
to their opinion.


> What happens if the deprecation vote fails but not the removal?
>>
> Would this imply changing how it is deprecated which is literally the
>> topic of the
>> other thread without any more voting which I'm totally open to how it is
>> changed?
>>
>> I don't even mind still having a compile error in PHP 8 when it sees the
>> token
>> as I said before I don't really care that much about the timeline.
>>
>
> I think the real question this RFC raises is whether we want to deprecate
> <?
> There are several valid options:
> - Do nothing (which probably gets my vote)
> - Deprecate it in 7.4, and remove it in 8.0
> - Deprecate it in 7.4, and error out over it in 8.0
> - Deprecate it in 8.0, and figure out what we want to do with it as we
> gear towards 9.0 (which would give us time to gauge the feedback before
> taking decisions - something that won't really be possible with 7.4/8.0
> given the short timelines)
>
> What I don't really think is a possibility is removing it (one way or
> another) in 8.0 without first deprecating it in 7.4 (which again, is what I
> found a bit confusing about the vote options).
>
> I would consider restructuring the questions in a different way than they
> currently are and restart the vote:
>
> Primary Question - Deprecate short open tags yes/no  (requires 2/3
> majority)
> Secondary Question - which version 7.4/8.0  (simple majority)
> Secondary Question - what to do when we remove it - silent removal, error,
> something else?  (simple majority)
>
> Thanks,
>
> Zeev
>

The problem I have with putting this again to a vote is that it feels
revote until the
outcomes is convenient to me. And going with this logic I feel I could say
let's
redo a vote to deprecate the var keywword as the last vote was 3 years ago
and maybe opinions have changed. It just end in more resentment IMHO.


On Sun, 28 Apr 2019 at 21:46, Stanislav Malyshev <smalys...@gmail.com>
wrote:

> Hi!
>
> On 4/28/19 4:52 AM, Benjamin Morel wrote:
> >> I don't even mind still having a compile error in PHP 8 when it sees the
> > token
>
> I thought one of the arguments for the whole enterprise was to enable
> <?xml to pass through PHP? Isn't that what the RFC was claiming? So this
> obviously won't work with this solution. And the "parser simplification"
> claimed by RFC would also not happen, I imagine, since there's still two
> separate tokens. So we are already out of at least half the reasons
> original RFC has claimed...
> --
> Stas Malyshev
> smalys...@gmail.com


Oh good to have you onboard for the initial RFC and remove it with PHP 8.
I suppose the discussion is closed then in this case. :)

Best regards

George P. Banyard

Reply via email to