Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:118790 Return-Path: Delivered-To: mailing list internals@lists.php.net Received: (qmail 44229 invoked from network); 10 Oct 2022 23:06:09 -0000 Received: from unknown (HELO php-smtp4.php.net) (45.112.84.5) by pb1.pair.com with SMTP; 10 Oct 2022 23:06:09 -0000 Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id 9B098180547 for ; Mon, 10 Oct 2022 16:06:05 -0700 (PDT) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on php-smtp4.php.net X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_NONE, T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.2 X-Spam-ASN: AS15169 209.85.128.0/17 X-Spam-Virus: No X-Envelope-From: Received: from mail-qk1-f175.google.com (mail-qk1-f175.google.com [209.85.222.175]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by php-smtp4.php.net (Postfix) with ESMTPS for ; Mon, 10 Oct 2022 16:06:05 -0700 (PDT) Received: by mail-qk1-f175.google.com with SMTP id z30so7537833qkz.13 for ; Mon, 10 Oct 2022 16:06:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=newclarity-net.20210112.gappssmtp.com; s=20210112; h=to:references:message-id:content-transfer-encoding:cc:date :in-reply-to:from:subject:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=oB3qtkCBUmmytwEQoXSfjasvo389pr6htOlJYiMdBng=; b=zcjDQppRYf3ajQ+BOCu1UHS1awrdVua8l87ne8ZS+bxJtbL4vNoSfIxZmI3j5Umxmm nAfKSCEvyLDX3ZuMXnCfGgOtOrh2lmmNiuQo0NiJSFoL/9h4nEC4oxdTpfylqpSap4Nl 65RkZe4vtT+6r/H0WP3cKS1FGMN97IIxpPN7HPP6YtCWjXFqh8chZuGxWz1YZbkpIVnR FlL66Vxh62v0jRpdUKUEI2qq7MlxPWxhtdFeWWBRAfN0cPr44nTouJhku2b5TW64BUW0 iN37dPkulw2J013CZqH6DJI3IvqzB1EhLaVCVCpyELlHC9Lg9Qs0wVhy0gCaOH+XiRy1 2GiA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=to:references:message-id:content-transfer-encoding:cc:date :in-reply-to:from:subject:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=oB3qtkCBUmmytwEQoXSfjasvo389pr6htOlJYiMdBng=; b=2M/bnS8Z3Lu5NEfsY0GHs80rBS578ZRixVoHwu6q+HU6hgvpi/QroJNFZQa6JGSW1w xKpx5QbugIoc4V1CLZEQRcAQVze59A2JEdhBLN7vu7F7ynRS5y6pUq5cpTGixVVlTivp 1gzlq0o/vErzBjnx77DwlUZqZQuBaPCplEYyxrfdL6UEokeNFdmCiHSyv6EWVPdzU1qV 5DooX9QudoN3Zu/5P0qBquh7zTjMznFabXK7l99Tcm0je7zUadkmGZMp7BuCwEcaGdrM 3L0cJeSaPbFH+7FOkHvTY2XNGsB7VAc6M3bj0e78OFey7uEYb5Tw4/g5jb4dy8fuLHfz iLCw== X-Gm-Message-State: ACrzQf3dhAeYBTtu4LenH8zALEeBMvDkbjn0SgooNiUFb3jVVZ283tRa dUxmUHNrSGfkf30/WwNThq+OIg== X-Google-Smtp-Source: AMsMyM5+I4/wc78IaFGG8EIIZtq8LFRUm1mzoGsBkX8PCdOPT+GcmU0Vq2BbKjlBoLzReCoChycSGQ== X-Received: by 2002:a05:620a:bc9:b0:6be:9d56:78dc with SMTP id s9-20020a05620a0bc900b006be9d5678dcmr14180648qki.365.1665443164519; Mon, 10 Oct 2022 16:06:04 -0700 (PDT) Received: from macbookpro.local (c-24-98-254-8.hsd1.ga.comcast.net. [24.98.254.8]) by smtp.gmail.com with ESMTPSA id cr12-20020a05622a428c00b003434d3b5938sm9393616qtb.2.2022.10.10.16.06.03 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Mon, 10 Oct 2022 16:06:04 -0700 (PDT) Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (Mac OS X Mail 13.4 \(3608.120.23.2.7\)) In-Reply-To: Date: Mon, 10 Oct 2022 19:06:03 -0400 Cc: David Rodrigues , PHP Internals Content-Transfer-Encoding: quoted-printable Message-ID: <8E68EB91-5B02-4DC8-952B-51E71303DF05@newclarity.net> References: To: David Gebler X-Mailer: Apple Mail (2.3608.120.23.2.7) Subject: Re: [PHP-DEV] Experimental features From: mike@newclarity.net (Mike Schinkel) > On Oct 10, 2022, at 6:20 PM, David Gebler = wrote: >=20 > My two cents... >=20 > Why can't "common users" install a PECL extension? It's not a = difficult, > obscure or undocumented process. A lot of developers (most?) who build PHP applications run them in = shared-hosted or managed hosted servers where are never given the option = to install a PECL extension.=20 In the rare cases they can install PECL many of those PHP developers = would not have the skills to do it or the requisite permissions on the = server; I certainly did not for the first ~10 years of working with PHP. = I do now, but ironically because I have mostly moved away from = programming in PHP to do more DevOps work. Further, when working in multiple environments having to set up each = server to have all the same PECL installations can be just too much = hurdle so that developers won't even try, especially when working in = managed environments. [1] https://stackoverflow.com/a/12750694/102699 > I can accept the reasoning >=20 >> Apply a PECL strategy to try experimental features might not be the > convenient way always, for example, if we create a new ... sensitive = ini > setting that affects the behavior of PHP somehow... OR ... what about = a new > sensitive funtion in a "core extension" like JSON? >=20 > But why would the answer in those cases not be "compile the PHP = fork/branch > with the experimental feature", rather than find a way to flag the = engine > to switch arbitrary new features on or off, complete with all the > complications in the primary source code that would cause? We are, = after > all, talking about features which by definition should not be relied = upon > for any production use. >=20 > Or we're talking about features which are stable and valuable enough = to > have passed an RFC process, but then what's gained from an = experimental > designation? Why couldn't they just be included in a preview/beta/RC > version which anyone could decide to run or not? It does not seem reasonable that the bar to include a feature as = experimental should be the same bar as currently exists for forever = features. Opinions expressed on the list typically fall into one of = three categories: =20 1.) Please, please yes!=20 2.) No way whatsoever! or=20 3.) I am not convinced... Generally it seems that unless 2/3rd are in the #1 category an RFC fails = to pass, even if after evaluating in the wild the people in group #3 = might come to see a lot of value in it and some in #2 might even change = their mind. In those cases PHP suffers.=20 If there were an RFC for Experimental Use then the people on the fence = could choose to allow it to see how it plays out in real-world userland = cases, and a few people against it might be convinced to allow people to = evaluate it, and then later make a decision on a "Forever RFC." --------------- Also, the comments along the lines of "Well, this could quickly get out = of hand" presume that the people voting for experimental use won't take = that into consideration and vote against things if it seems like things = are in-fact getting out of hand. But they will take that into = consideration just a as the take other concerns into consideration now, = and thus only the better ideas will be likely to make it through to = experimental status. --------------- One more thing on this topic. PHP could ALSO allow experimental features = to be written in PHP, and ship those experimental features with PHP so = that code would always be available, at least when experimental features = are turned on, and without having to include said code. =20 The benefit there would be people could more quickly implement an = experimental feature to see how it might work in the wild before going = to all the effort to implement in C in PHP's core code, for things that = can be implemented in PHP. -Mike