Hi

What I understand from this is that the voters are not willing to make any
concessions to include a feature that is important to at least 10% of the
developers in the PHP ecosystem (someone mentioned 10% in an earlier email;
I would guess the number is even higher, considering China). It’s important
for us, who are part of that 10% that apparently isn’t important enough to
be heard, to know what the voters’ stance actually is regarding the
introduction of tooling for Async in PHP. That way we can understand what
the next step needs to be: whether we take on the difficult job of
migrating our software from PHP to another platform, or the impossible job
of trying to convince people who are not willing to be convinced.

Regards,

Luís Vinícius

Em qui., 20 de nov. de 2025, 12:44, Jakub Zelenka <[email protected]> escreveu:

> On Thu, Nov 20, 2025 at 1:04 PM Deleu <[email protected]> wrote:
>
>> On Thu, 20 Nov 2025 at 07:21 Daniil Gentili <[email protected]>
>> wrote:
>>
>>> Hi,
>>>
>>> >> Hello Bart.
>>> >> I am ready to agree with every word.
>>> >>
>>> >> Participation from a working group, framework representatives, and the
>>> >> ability to adapt libraries in advance would remove the concerns that
>>> >> are currently causing fear. This is probably the only effective
>>> >> process for developing and introducing such a feature.
>>> >
>>> > Then two days later, you decided that no more discussion was
>>> > necessary, and opened a vote.
>>> >
>>> > This feels like a complete contradiction.
>>> >
>>> > Let's find a way to get that working group set up, and get people from
>>> > other projects involved.
>>> >
>>>
>>> My key takeaway from Bart's message is:
>>>
>>>  > Moreover, even though there are quite a few people in the community
>>> who have the knowledge required because they either develop or work with
>>> aforementioned libraries or extensions, (almost) none of them seem to be
>>> involved in discussing this RFC.
>>>  > For an RFC that can drastically change the way we develop
>>> applications I would expect more experts on this matter to be involved.
>>> Ideally, PHP core developers, library developers & maintainers, IDE
>>> developers, ..., would develop software using this branch to at least
>>> get some feel for the paradigm and this RFC in general.
>>>
>>> I absolutely agree with this take, however, so far, the discussion
>>> around this RFC has been, in my opinion, mostly bikeshedding, with
>>> theoretical correctness proposals that are an absolute nightmare in
>>> practice (like structured concurrency), proposed by people that
>>> admittedly have never written extensive amounts of async code in
>>> languages using multiple paradigms, and thus haven't:
>>>
>>> - Experienced the pain of writing async with colored functions
>>> - Experienced the footguns of structured concurrency
>>> - And on the other hand, haven't experienced the pleasure and simplicity
>>> of safely writing async code in languages like Go, or in PHP using AMPHP
>>> (which use uncolored and unstructured concurrency, the kind proposed and
>>> championed by edmond)
>>>
>>> While a working group *can* steer the conversation away from
>>> theoretically correct but practically unusable approaches, that can
>>> happen only if
>>>
>>> - The correct people (i.e. async library maintainers, or people that
>>> write async logic every day in multiple languages like myself) are
>>> present
>>> - They are given more weight than the average PHP developer who hasn't
>>> used async much if at all, and can only make theoretical proposals not
>>> based on practice and experience
>>>
>>> I'm afraid that given the current state of the PHP community, which is
>>> largely new to async, the quality of the conversation in a working group
>>> would not be much higher than the one I'm seeing in this RFC, and would
>>> just protract even longer the agony of design by committee, where in
>>> reality what's needed is a single, clear and correct vision (which
>>> Edmond has), without influences from unexperienced people making
>>> proposals based purely on abstract/theoretical PoVs.
>>>
>>> Regards,
>>>
>>> Daniil Gentili.
>>
>>
>> While I certainly can sympathize with the painful, dreadful, unpleasant,
>> unbearable agony of debating a subject with “non-experts”, it’s important
>> to have some perspective in the opposite direction.
>>
>> As it has been mentioned before, Async PHP in general is practically a
>> rounding error in terms of user base and there are reasons for that. It’s
>> important to remember that the benefits of async doesn’t always justify the
>> burden that it brings. For PHP as a language to adopt an async solution
>> natively it’s very important that sync code continues to function while
>> also allowing developers to opt into async without having to feel like they
>> changed languages and must re-learn how to manage their projects. If this
>> is not possible then perhaps the current state is as good as we can ever
>> get: let expert matter install their extension (opt-in) on a per-project
>> basis.
>>
>> It's going to be up to the subject experts to come up with a path that
>> allows PHP to stay coherent while offering both approaches. To put this in
>> another way: RFC Voters are above average PHP developers. If they're unable
>> to digest the changes being proposed, even if said changes are being
>> proposed by the single most subject-expert human on the planet, then how do
>> we expect average PHP developers to make good use of it?
>>
>
> Yeah I think this is one of the reasons why the RFC failed. It couldn't
> properly explain the topic even though it was reduced to minimum. One of
> the factor is certainly that Edmond is new to the RFC process but more
> importantly it's quite contentious topic that can bring even more bike
> shedding. I think there were some important points raised in the
> discussions about safety of the existing sync code which I think might be
> the real killer here. So even if we omit the mix up with the
> pre-announcement and sudden voting (that were sure path to rejection), I
> think the bigger problem is the whole size of the feature and the fact that
> it will be extremely hard to find any solution that will please majority of
> voters. I'm honestly not sure if this is possible to get to any form that
> can pass. I would like to be wrong but we can see the reality here.
>
> I think the way forward for PHP is to do what we have been doing and it is
> to provide the building blocks for user space to enable async there because
> that's something that can be reasonably introduced using the RFC through
> smaller chunks. It means improving the non blocking setup, exposing IO
> hooks, better polling and other primitives. That was actually the plan in
> past and that's why it is also contained in my STF stream work where the
> scope was created way before the TrueAsync.
>
> Kind regards,
>
> Jakub
>

Reply via email to