Rowan,

Based on your responses now I am not at all sure what you were driving at.

I think you are making detail points because of nuances of PECL and bundled vs. 
unbundled etc, while I was trying to make a higher level case.

So let me restate the thesis:

"When discussing a potential new feature suggesting that it be implemented in a 
way that it might not actually be available (via PECL, unbundled, disabled, 
whatever) is not a viable alternative for many PHP developers unless integral 
to the feature is a need to make it optional."

-Mike

> On Mar 23, 2020, at 1:25 PM, Rowan Tommins <rowan.coll...@gmail.com> wrote:
> 
> On Mon, 23 Mar 2020 at 16:04, Mike Schinkel <m...@newclarity.net> wrote:
> 
>> 
>> The original point of this thread was to make the case that PECL
>> extensions are _not_ a viable alternative to including features in core.
>> 
>> It does not matter if a host installs _some_ unbundled PECL extensions.
>> What matters is that the userland developer _cannot_choose_ to use a PECL
>> extension if the managed host does not _already_ have it installed.
>> 
> 
> 
> My point is that they cannot choose which "bundled" extensions they use
> either. That choice is entirely up to the managed host.
> 
> 
> 
>> You also brought up some orthogonal facts about extensions being bundled
>> vs. unbundled extensions and how a managed host might choose to install
>> some unbundled extensions.  But while your points are true, there were
>> irrelevant to the problems identified by this thread so mentioning them in
>> essence hijacked this thread and refocused it on concerns unrelated to the
>> original concern of this thread.
>> 
> 
> 
> They are neither orthogonal nor irrelevant, they are directly addressing
> the question "does bundling an extension give an advantage over having it
> in PECL?"
> 
> 
> 
>> Once a managed host has a working platform they are loath to change it
>> because something might break and create downtime for their customers that
>> is potentially devastating for their business.
>> 
> 
> 
> This is true of bundled extensions as well as PECL ones.
> 
> 
> 
>> Thus managed hosts rarely add things to their platform unless they need
>> them to support their platform (like redis or new relic) or there is
>> OVERWHELMING DEMAND in userland for adding them.
>> 
> 
> 
> This is true of bundled extensions as well as PECL ones.
> 
> 
> 
>> So it is_literal() came out in a PECL extension and I went to a managed
>> host and asked to use it they would politely tell me "sorry, we don't
>> support that."
>> 
> 
> 
> This could well be true of bundled extensions as well as PECL ones.
> 
> 
> 
>> Distros are not going to add potentially buggy extensions to their
>> distros. They are going to wait until an extension has had plenty of time
>> to mature _and_ that there is a significant number of developers that want
>> the functionality.
>> 
> 
> 
> This is true of bundled extensions as well as PECL ones.
> 
> 
> 
>>> Ultimately, the barrier to having *any* functionality included on a
>> managed
>>> platform like that is convincing the host that it will make their
>> platform
>>> better.
>> 
>> That is a false assertion.  Managed hosts will upgrade to the latest
>> version of PHP once the initial bugs are worked out.  Full stop.
>> 
> 
> 
> Upgrading to the latest version of PHP does not automatically give you all
> bundled extensions.
> 
> This is the key point I'm trying to get across here. Every extension
> "bundled with" PHP, with a tiny set of exceptions, is optional.
> 
> 
> The only way to get around that is to make the feature *mandatory*, that is:
> 
> * part of the absolute core of the language grammar or engine
> * part of an existing mandatory extension like ext/standard or ext/spl
> * a new extension which is not just bundled but which cannot be disabled in
> the build configuration
> 
> There are a few cases where that's a reasonable thing to do, but most of
> the time when people are discussing "PECL vs core", they are talking about
> a new extension, which would be optional anyway.
> 
> 
>> Yes, when an extension is missing developers have to deal with it. Which
> is exactly the point.
> 
> Exactly what point? The example I gave was ext/curl, which doesn't require
> anything from PECL, it's just optional in the build.
> 
> If you're saying we should move away from the language being modular, and
> having optional extensions, then we can discuss that. But that's a very
> different discussion from "PECL vs core".
> 
> 
> Regards,
> -- 
> Rowan Tommins
> [IMSoP]

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

Reply via email to