On Fri, Aug 30, 2024, at 20:13, Christoph M. Becker wrote:
On 30.08.2024 at 19:05, Jim Winstead wrote:
[snip]
And generally, while there are many well maintained extensions on PECL,
most (i.e. way more than half of the extension there) are outright
abandoned, dead or half-dead, a lot of the latter barely kept alive by
Remi Collet. A next generation PECL (installer) will not change this;
only people who actively care about these extension could, if these
people have knowledge of PHP extension development.
I’m not saying that all PECL extensions deserve to be kept alive; there
are good reasons for many to have been abandoned, e.g. because they were
built on no longer supported libraries, are generally not useful
anymore, or would be written in PHP nowadays (e.g. ext/dbase).
Instead I’m saying that we should be careful to unbundle extensions.
This should probably seen as a last resort if we absolutely can’t
maintain the extension any longer, or it doesn’t make sense to do that.
I’m not sure yet that ext/snmp falls into this category.
It’s easy to vote “yes, unbundle this extension” if you’ve never used
the extension and are not planning to do so in the future. It may be a
death sentence, though.
Christoph
I went over to pecl to see how hard it was to create a new extension (after being prompted by Gina to submit my GMP operator stuff as a pecl extension). It appears to be very involved with a checkmark:
“I have already discussed the topic of maintaining and/or adding a PECL extension on the pecl-dev@lists.php.net mailing list, and we determined it’s time for me to have a PECL account”
I, personally, can’t imagine going through such a process. Not only do you have to convince gate-keepers you don’t know to share your extension with (which higher up on the page says your code should be complete), but also convince end-users to use your extension. The barrier of entry is high, when it would be much easier to just create a repository and instructions; effectively making discovery of interesting php extensions nearly impossible.
If you are using something like Docker containers, there is https://github.com/mlocati/docker-php-extension-installer which go so far as to install extensions from github (and apply patches) if they aren’t updated/available in pecl (example: memcached + php 8 had an issue that was fixed on github but didn’t get an update on pecl for nearly a year, IIRC).
I’m pretty excited about pecl’s replacement (how is that going anyway?) and hope it will be easier to create, maintain, and distribute extensions with.
In other words, I emphatically agree that moving extensions out of core and into pecl would be a death sentence.
— Rob