Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:125492 X-Original-To: internals@lists.php.net Delivered-To: internals@lists.php.net Received: from php-smtp4.php.net (php-smtp4.php.net [45.112.84.5]) by qa.php.net (Postfix) with ESMTPS id 5A3FE1A00BD for ; Tue, 10 Sep 2024 20:46:17 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=php.net; s=mail; t=1726001298; bh=LBvyJ7w6j/jIk3tZar4fNQa/QiNB1IiAMaJjhEG1bt4=; h=Date:To:From:Cc:Subject:In-Reply-To:References:From; b=SULQgtkjkgpbUHVjE+pe6DEeAcqtdKYpgx/FIONEi114wIZRi3Un3czy0FJGtUuxg +R3wj/Kjt2ROJjvDrW4Ld8ot9rvxDvWHBFD9vPZ6qL4X80aPLAeToHfrWwGdd6Ryqs PD7ZHrRj0Gsei6TIx+hUgWh3xczo/WGzEgcWkmwWlGgy+rwXesX5EDOZGBtoVlCs1m uK/QD8JZjltEQqTwN/kbNNd6XNeAzf5+oxGSkzcLUqcPvuQ4dAo7j+Pk6fyP4wLy1W r51sileFWJaKDbOdj56su5MsfVls5kCH1LJGdjkR0QwkVq0V2Yh5QWmEMHQvLGwhWN tNusulHxde5Gw== Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id 0EAAB180053 for ; Tue, 10 Sep 2024 20:48:16 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 4.0.0 (2022-12-13) on php-smtp4.php.net X-Spam-Level: X-Spam-Status: No, score=0.6 required=5.0 tests=BAYES_50,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,DMARC_PASS,RCVD_IN_MSPIKE_H4, RCVD_IN_MSPIKE_WL,SPF_HELO_PASS,SPF_PASS autolearn=no autolearn_force=no version=4.0.0 X-Spam-Virus: No X-Envelope-From: Received: from mail-4323.proton.ch (mail-4323.proton.ch [185.70.43.23]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by php-smtp4.php.net (Postfix) with ESMTPS for ; Tue, 10 Sep 2024 20:48:15 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gpb.moe; s=protonmail2; t=1726001171; x=1726260371; bh=LBvyJ7w6j/jIk3tZar4fNQa/QiNB1IiAMaJjhEG1bt4=; h=Date:To:From:Cc:Subject:Message-ID:In-Reply-To:References: Feedback-ID:From:To:Cc:Date:Subject:Reply-To:Feedback-ID: Message-ID:BIMI-Selector; b=QBmFzRwOw7X9leRW19FqWEZfZU4nUrOganAFkupi2PRARR4AkAjDE7CYAdRDzbTxZ hbFeBgm2irv7Zzwqz6Tl8vyvbNu1XD32Qz5AMpcuF8Q3KT1WQ4plvhL8VgCl/16QdT hkh1NNVMQadO+9p5N7kufyyJJkhgQORiyMvgoMNiS3SmzyF/mimvTUDUsjxWIumiY2 gO0PaJcvUP41xlk6bcu0IPr1j8iWDuFEhsJmU1Smk3E40yykMWahu53Yqwt11iM1+B j3Qtuot9PHtRV5ZgBqN0stPMDXl3YlGIAKk3we0yBmir9HFw6NM40NdBs24ffajpXM oPon3/Y0xjUFw== Date: Tue, 10 Sep 2024 20:46:01 +0000 To: "Christoph M. Becker" Cc: Jim Winstead , internals@lists.php.net Subject: Re: [PHP-DEV] What to do with ext/snmp? Message-ID: In-Reply-To: <27cbee89-093f-4903-baec-a10058370c33@gmx.de> References: <9791621c-1313-4306-bc6a-5dd789f2b2df@gmx.de> <51FA7D6F-09F6-4267-9B57-5CBD42EA898C@cmpct.info> <57156bdd-cf93-404f-a10c-cd842bd7bb92@app.fastmail.com> <27cbee89-093f-4903-baec-a10058370c33@gmx.de> Feedback-ID: 96993444:user:proton X-Pm-Message-ID: ca32f0bb6957fd65776ed0d382b72e21b3e3989c Precedence: bulk list-help: list-post: List-Id: internals.lists.php.net x-ms-reactions: disallow MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable From: internals@gpb.moe ("Gina P. Banyard") On Friday, 30 August 2024 at 20:13, Christoph M. Becker = wrote: > On 30.08.2024 at 19:05, Jim Winstead wrote: >=20 > > Perhaps if the effort from the PHP Foundation to build a next-generatio= n PECL bears fruit, an even harder look can be taken at migrating out even = more of the extensions still living in the php-src tree. With some robust C= I, care could be made to make sure changes in php-src that impact extension= s is noticed and dealt with, but spinning them out on their own might make = them easier for more people to contribute to and maintain. >=20 >=20 > Let's see what happened with the latest unbundled extensions: >=20 > * PHP 7.4 unbundled ext/wddx, ext/recode and ext/interbase; neither has > any release on PECL; they are effectively dead. At least the latter is > still barely maintained outside of PECL. >=20 > * PHP 8.0 unbundled ext/xmlrpc, which had three releases, and given that > I'm listed as maintainer, I'd say that extension is also dead. >=20 > * PHP 8.4 unbundled imap and pspell. These had two releases each, but I > wouldn't hold my breath for a third. >=20 > * PHP 8.4 also unbundled oci8 and pdo_oci. The former has already been > partially maintained on PECL. Regarding the latter Christoph Jones is > struggling to keep it somewhat maintained (due to lack of time). >=20 > 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. >=20 > 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). >=20 > 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. >=20 > 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. >=20 > Christoph Arguably this is because PECL is a pain to use as a maintainer and that we = use PECL as a "graveyard". But it is my biggest belief that most extensions would be better outside th= e php-src repo and live in PECL so they could be updated independently and = not tied to the yearly PHP release schedule. The fact that ext/cURL is not allowed to be updated in patch releases any m= ore means that features in libcurl take *ageees* to get exposed in PHP. It also prevents extensions to be properly refactored because they are boun= d to the same BC policy as the PHP engine, which doesn't make a lot of sens= e to me. I could have cleaned-up ext/xml with all the weird "string method callables= " used with xml_set_object() in 1 week by releasing 3 different versions on= PECL, instead of performing some refactoring and 1 RFCs. [1] Or fix ext/dba and do a release without the absurd parameter type of dba_ke= y_split(). Having the DOM extension in PECL and be able to just change the behaviour o= f the legacy classes to fix them instead of creating a whole new hierarchy = which slows down adoption could also have been prevented (if it is a good i= dea) if it wasn't tied to PHP's release schedule and BC policy. It would also permit extensions to follow semver while the engine continues= to have its own versioning system. Having an extension be "bundled" doesn't even mean it is properly maintaine= d, as neither ext/imap, ext/xmlrpc, or in this case ext/snmp are actually m= aintained. Having added support for PIE for ext/csv, which was very easy, [2] I hope w= hen this tool is finally ready, and we ditch PECL, we will start unbundling= extensions so that they are not constrained by the PHP Engine release cycl= e. Best regards, Gina P. Banyard [1] https://wiki.php.net/rfc/deprecations_php_8_4#xml_set_object_and_xml_se= t_handler_with_string_method_names [2] https://gitlab.com/Girgias/csv-php-extension/-/commit/ab978521e4d3bde15= b73838d4605c5e5178ba082