Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:130328 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 lists.php.net (Postfix) with ESMTPS id 430E01A00BC for ; Sun, 15 Mar 2026 11:54:43 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=php.net; s=mail; t=1773575687; bh=qOgK9xtj8y1tZG3bEPvGc4MCHZvSapO4JHSo8G+VbTc=; h=From:Subject:Date:References:To:In-Reply-To:From; b=YoECqXIsCuFPq5+lpKdSKGA0+Xsho0ayMWadVGQFFeo64clQiXLoaQqSM5hEVTcFp 1OOWnnZMNq8Yqc46Dm0WPlZYJg6276i03hcXik3RrvHmoyNk/VrxaNhM6DXQlFGhcN WWBHD6TVRP9/L9W/UpG9cWYJ1nlcRPSGN+oxAQgb5mWtKelJwaDpfehvrY+oUYFguI SJpy3/4Y3yWvqjMN8apQsvm6AYii1YkOEbsgL4lqQuqOfBvUdaiMKEqsHe7yUF2dqR L9WvkNMvoNMoW3ayDl39Lbe8NJK2KO/lAaIH8zcvSNoUbkmAWY/Zuc54MikCRAdhFb KNhGLthJhkyvA== Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id 9007B180037 for ; Sun, 15 Mar 2026 11:54:46 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-25) 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,FREEMAIL_FROM, HTML_MESSAGE,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_NONE, SPF_PASS autolearn=no autolearn_force=no version=4.0.1 X-Spam-Virus: No X-Envelope-From: Received: from mail-wr1-f44.google.com (mail-wr1-f44.google.com [209.85.221.44]) (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 ; Sun, 15 Mar 2026 11:54:46 +0000 (UTC) Received: by mail-wr1-f44.google.com with SMTP id ffacd0b85a97d-439d8df7620so2652545f8f.0 for ; Sun, 15 Mar 2026 04:54:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1773575680; x=1774180480; darn=lists.php.net; h=message-id:in-reply-to:to:references:date:subject:mime-version:from :from:to:cc:subject:date:message-id:reply-to; bh=G3yV4LNJe6mZMld2hXOOLDe0Tqd4nUJA4hXMl6uqP3E=; b=WzFcKCeBzVzs2Qtt8qluPAq9jmwRIetexoOq/bw1ROO1aI9IxcHXOk9ltdLVZ0UmIV rSR4lHTuXslGtY+YD7SaurHFiiUif7QldNRPd7K5haR/1HelH4+FfbEMgS6KC7TlzVZm a+NgYpvT5e103d02OPJ93ep2oaclQOAiZa3OxhFDBcdKoW1ll6vvS3/QnACx5vjWkCr0 lMa86dwRP27q/Iup3+WoeP180jtd4xsOSu8geL9Wifd1JRBDxt7CTZ+bFq7iSv92EVSN hhzs7dh4PCHMK3UH6upCxyeycLnStvJF72pVGyX4yaAopKpCwNVd3zZXDtU6eCHoTl4k VnRw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1773575680; x=1774180480; h=message-id:in-reply-to:to:references:date:subject:mime-version:from :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=G3yV4LNJe6mZMld2hXOOLDe0Tqd4nUJA4hXMl6uqP3E=; b=XsuCAsekpa7RqqRhwTL5cwcFY7zKRkesNATPiDudqYV2jvFGZzuOeWFx8vacO7Pusz buTLIO4S7YzspqDV1IqC1ZGxjuKpBlk9lLkAwd3bj05cdRtsCCrj0dDR1lsXQ6i/4Lf0 2NzwO8w9EJePeDjqae1Yy71iUcpjwvcU7SzxuX24jiYEq2OzIQTfj27LLquNIXkiwpuR xWbKczERMUZlgcZ9PVwoWzetdmoI5M66N201dcIy5EOMeRPfjbkFKdoimcC8HE+IDUMy bKJCHmOlTYrzZHLnpt9ch+fL843k6krRVbjYVHBwtg+EcU1CkU5cA5IrUMxTMGARtomD 0CPw== X-Gm-Message-State: AOJu0YwhRXIhmrFMW4OZiA9csgn4UtfVGLDxyxO780XMANkfSDmib7OO giYK7Oa8fFOzfMONu0BLDQhw3xybKL8cIKPWVlSSpjAShlqdIAoj3AQXbFR8KA== X-Gm-Gg: ATEYQzyxhx+JjEKjSaPc3+WCaszxvL50UDkHO0A29NdQKaInrwmGMLBgfPzjOdAZnyy dtMmPJr5TUjtgAvCjPcmUN0z2B/RHBPthrfSIxhEeZ2wwlyTyL6s2kCYGtx/mhDEWiFWOUc7fUS uzdgFrldkQq0I3ygYEKOfn/4lV3HpDS0W0c3uLRj5nvHA57jwxXND8L3qqWur+TgC+Boz9Urc0i cxWWU5tcc5PkBNPm68K3MDz+P2pXK6LN22GvOY24sDBzxaGcqiQw7KvoaN2NEF55/3hfCMkugb+ 8JDnEb4CF0prelX7mkybrrd7u4Gv3E09lNaT4Tvmfs/Ydl6XYPdt45Q3/JDwHvZSFKMz2DjU1N2 DlWgJAQwEE/nelqxSEAVA51GZ5vXkL0Kw63Goh8XI6Stm/FDrV9W+nCiEzIk/oIyZk6dwdWWiIZ vC43qF/0u3g2Bt9YzSg0iiUvaTcvplg5tbdjqAtOOFZW6L7M92NVLLUyIhyv+C7H5QQMHjxupqv Jgkd4L07wpThbzU7gjvYva9nuEBzTer3v1dGfEIkw== X-Received: by 2002:a05:600c:1395:b0:485:2fc5:3a5 with SMTP id 5b1f17b1804b1-48556709d85mr154210915e9.26.1773575678847; Sun, 15 Mar 2026 04:54:38 -0700 (PDT) Received: from smtpclient.apple (luna-7251fd885a1220d60000f.net.as198747.daniil.it. [2a0e:97c0:38f:0:6d02:21a5:88df:1527]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4855778206asm92794975e9.6.2026.03.15.04.54.38 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Sun, 15 Mar 2026 04:54:38 -0700 (PDT) Content-Type: multipart/alternative; boundary="Apple-Mail=_FACAC0ED-B1B1-43E8-9EC0-7E7668CA07BB" Precedence: list list-help: list-unsubscribe: list-post: List-Id: x-ms-reactions: disallow Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3864.400.21\)) Subject: [PHP-DEV] Re: [RFC] php-community: a faster-moving, community-driven PHP. Date: Sun, 15 Mar 2026 12:54:25 +0100 References: <839153A0-004D-4562-BD6E-65923201EDAA@gmail.com> To: internals@lists.php.net In-Reply-To: <839153A0-004D-4562-BD6E-65923201EDAA@gmail.com> Message-ID: X-Mailer: Apple Mail (2.3864.400.21) From: daniil.gentili@gmail.com (Daniil Gentili) --Apple-Mail=_FACAC0ED-B1B1-43E8-9EC0-7E7668CA07BB Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=utf-8 Bumped the RFC with some clarifications based on the arguments presented = here and elsewhere. ### Changelog #### 1.0.1 - **New section: [Sandboxing](#sandboxing)** =E2=80=94 Moved sandboxing = content into its own dedicated section. Clarified that sandboxing does not cover external extensions that may be = installed i.e. through PIE, but they may choose to opt-in and respect = sandboxing levels as well, if they wish. =20 Clarified that sandboxing is absolutely mandatory for the implementation = of the main goal of php-community: fast adoption of new features by the = entire PHP community, especially shared hosts, which require sandboxing = by definition, and cannot be expected to look through the list of = changes in all feature extensions bundled in all of the monthly releases = of php-community. =20 In fact, one of the reasons why shared hosts often lag behind PHP = versions is the (small, but non-negligible) cost of searching and = patching sandbox escape hatches introduced by new PHP versions, so = sandboxing, if merged in mainline PHP, may also speed up adoption of = even normal PHP upgrades. =20 - **New section: [Requirements to succeed](#requirements-to-succeed)** In order for `php-community` to succeed at its goal of making = experimental features more accessible, major frameworks and libraries = need to start relying on features initially only present in = `php-community`. For this purpose, most new PHP features should get proposed to = `php-community` first, instead of normal PHP, in order to speed up = adoption of both those features and of `php-community` itself. In fact, the normal RFC process could also be altered to **require** all = new features to pass through community RFCs, first. To further increase adoption, the PHP Feature Extensions API may also be = offered on normal PHP versions, either for especially mature feature = extensions to get even more adoption data, or for all feature = extensions, perhaps even skipping the separate `php-community` distro = altogether (though some of its properties like a stable release schedule = not movable by security updates are still preferred). - **Voting (clarification)** =E2=80=94 Better spelled out that internals = has veto rights: if 50%+1 of internals members vote Abstain or abstain = from voting altogether, the community RFC is vetoed. =20 - **Community RFC owners (clarifications)** Crucially, the maintenance burden of feature extensions will lay = **exclusively** on the feature owners, not `php-src` maintainers. =20 Features and bug fixes for feature extensions will **NOT** be a = responsibility of `php-src` maintainers. =20 This also includes reviews on feature extension code, which will be a = responsibility mainly of the owners of said features. =20 Of course, a more detailed review on behalf of php-src maintainers is = still preferable for the initial addition PR, but it is not required = (even if obviously still allowed) for subsequent PRs. =20 In other words, feature extensions are "guests" allowed into the = php-community branch, or PIE extensions "pre-installed" into PHP, and = are developed and maintained exclusively by their owners just as if they = were a standalone extension, with some overview from `php-src` = maintainers, yet maintaining independence on design/API choices (again, = as if they were standalone extensions). =20 Developers outside of the feature owners should only need to touch = feature extension code when introducing breaking changes to extension = APIs, like is already the case now for core extensions. =20 This is actually very close to the approach used by linux: drivers are = owned and maintained each by their own maintainers: non-maintainers need = to touch driver code only when authoring breaking changes to inner Linux = APIs which affect drivers. =20 - **Removal of community RFC features (clarification)** =E2=80=94 Added = note comparing the situation to long-standing legacy extension code in = `php-src`; real adoption statistics from Packagist will make removal = decisions significantly easier in `php-community`, compared to mainline = PHP. =20 - **Release process (clarifications)** =E2=80=94 Package maintainers = should pin to specific feature extension versions (e.g. = `feature-performance:^2`), not to specific `php-community` releases. The = `PhpFeature` API and scaffolding code is itself exposed as a versioned, = always-enabled `php-community` feature extension. =20 - **Feature extensions (clarification)** =E2=80=94 Expanded rationale = for supporting multiple concurrent versions of the same feature = extension, particularly for deprecation/removal features that would = otherwise introduce undue pain in an experimental channel. =20 - **API (clarification)** =E2=80=94 The `PhpFeature` API (and eventually = even feature extensions) could be made available in normal PHP for = forward compatibility. =20 > On 14 Mar 2026, at 19:32, Daniil Gentili = wrote: >=20 >=20 > Hello internals, >=20 > Submitting for discussion the php-community RFC, for a faster-moving, = community-driven PHP: https://wiki.php.net/rfc/php-community >=20 > With this proposal, the entire PHP community gets immediate access to = experimental features through an official php-community version of PHP, = versioned in a rolling manner (i.e. php-community 2026.03.01), and = available on php.net along normal PHP releases.=20 >=20 > As anticipated by Edmond Dantes in an earlier thread, I'm now part of = the True Async committee. >=20 > I decided to not present the RFC as explicitly linked to True Async, = to explicitly prevent an interpretation where it is something that will = allow us to "sneak in" True Async into PHP. >=20 > True Async is one of, but not the only nor the main reason why I = created this RFC.=20 >=20 > I truly believe that PHP could really benefit from a more agile = community RFC process, that can transform it from just a decent and fast = language I and so many others love, to an amazing, blazing fast and = actually modern and ergonomic language. >=20 > I believe PHP truly deserves this. >=20 > Kind regards, > Daniil Gentili. >=20 > =E2=80=94 >=20 > Daniil Gentili - Senior software artisan > Website: https://daniil.it > GitHub: https://github.com/danog > Email: daniil@daniil.it --Apple-Mail=_FACAC0ED-B1B1-43E8-9EC0-7E7668CA07BB Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset=utf-8 Bumped the RFC with some clarifications = based on the arguments presented here and = elsewhere.


### = Changelog

#### 1.0.1

- = **New section: [Sandboxing](#sandboxing)** =E2=80=94 Moved sandboxing = content into its own dedicated = section.

Clarified that sandboxing does not = cover external extensions that may be installed i.e. through PIE, but = they may choose to opt-in and respect sandboxing levels as well, if they = wish.  

Clarified that sandboxing is = absolutely mandatory for the implementation of the main goal of = php-community: fast adoption of new features by the entire PHP = community, especially shared hosts, which require sandboxing by = definition, and cannot be expected to look through the list of changes = in all feature extensions bundled in all of the monthly releases of = php-community.  

In fact, one of the = reasons why shared hosts often lag behind PHP versions is the (small, = but non-negligible) cost of searching and patching sandbox escape = hatches introduced by new PHP versions, so sandboxing, if merged in = mainline PHP, may also speed up adoption of even normal PHP upgrades. =  

- **New section: [Requirements to = succeed](#requirements-to-succeed)**

In order = for `php-community` to succeed at its goal of making experimental = features more accessible, major frameworks and libraries need to start = relying on features initially only present in = `php-community`.

For this purpose, most new PHP = features should get proposed to `php-community` first, instead of normal = PHP, in order to speed up adoption of both those features and of = `php-community` itself.

In fact, the normal RFC = process could also be altered to **require** all new features to pass = through community RFCs, first.

To further = increase adoption, the PHP Feature Extensions API may also be offered on = normal PHP versions, either for especially mature feature extensions to = get even more adoption data, or for all feature extensions, perhaps even = skipping the separate `php-community` distro altogether (though some of = its properties like a stable release schedule not movable by security = updates are still preferred).

- **Voting = (clarification)** =E2=80=94 Better spelled out that internals has veto = rights: if 50%+1 of internals members vote Abstain or abstain from = voting altogether, the community RFC is vetoed. =  

- **Community RFC owners = (clarifications)**


Crucially, = the maintenance burden of feature extensions will lay **exclusively** on = the feature owners, not `php-src` maintainers. =  

Features and bug fixes for feature = extensions will **NOT** be a responsibility
of `php-src` = maintainers.  

This also includes reviews = on feature extension code, which will be a responsibility mainly of the = owners of said features.  

Of course, a = more detailed review on behalf of php-src maintainers is still = preferable for the initial addition PR, but it is not required (even if = obviously still allowed) for subsequent PRs. =  

In other words, feature extensions are = "guests" allowed into the php-community branch, or PIE extensions = "pre-installed" into PHP, and are developed and maintained exclusively = by their owners just as if they were a standalone extension, with some = overview from `php-src` maintainers, yet maintaining independence on = design/API choices (again, as if they were standalone extensions). =  

Developers outside of the feature owners = should only need to touch feature extension code when introducing = breaking changes to extension APIs, like is already the case now for = core extensions.  

This is actually very = close to the approach used by linux: drivers are owned and maintained = each by their own maintainers: non-maintainers need to touch driver code = only when authoring breaking changes to inner Linux APIs which affect = drivers.  

- **Removal of community RFC = features (clarification)** =E2=80=94 Added note comparing the situation = to long-standing legacy extension code in `php-src`; real adoption = statistics from Packagist will make removal decisions significantly = easier in `php-community`, compared to mainline PHP. =  

- **Release process (clarifications)** = =E2=80=94 Package maintainers should pin to specific feature extension = versions (e.g. `feature-performance:^2`), not to specific = `php-community` releases. The `PhpFeature` API and scaffolding code is = itself exposed as a versioned, always-enabled `php-community` feature = extension.  

- **Feature extensions = (clarification)** =E2=80=94 Expanded rationale for supporting multiple = concurrent versions of the same feature extension, particularly for = deprecation/removal features that would otherwise introduce undue pain = in an experimental channel.  

- **API = (clarification)** =E2=80=94 The `PhpFeature` API (and eventually even = feature extensions) could be made available in normal PHP for forward = compatibility.  


On 14 Mar 2026, at 19:32, Daniil Gentili = <daniil.gentili@gmail.com> wrote:


Hello internals,

Submitting for discussion the = php-community RFC, for a faster-moving, community-driven = PHP: https://wiki.php.net/rfc/php-community

= With this proposal, the entire PHP community gets immediate access to = experimental features through an official php-community version of PHP, = versioned in a rolling manner (i.e. php-community 2026.03.01), and = available on php.net along normal PHP = releases. 

As anticipated by Edmond Dantes = in an earlier thread, I'm now part of the True Async = committee.

I decided to not present the RFC as = explicitly linked to True Async, to explicitly prevent an interpretation = where it is something that will allow us to "sneak in" True Async into = PHP.

True Async is one of, but not the only nor = the main reason why I created this RFC. 

I = truly believe that PHP could really benefit from a more agile community = RFC process, that can transform it from just a decent and fast language = I and so many others love, to an amazing, blazing fast and actually = modern and ergonomic language.

I believe PHP = truly deserves this.

Kind = regards,
Daniil = Gentili.

=E2=80=94

Danii= l Gentili - Senior software artisan
E= mail: = daniil@daniil.it

= --Apple-Mail=_FACAC0ED-B1B1-43E8-9EC0-7E7668CA07BB--