Re: [RFC] Working Groups

From: Date: Fri, 12 Jun 2026 17:06:11 +0000
Subject: Re: [RFC] Working Groups
References: 1 2  Groups: php.internals 
Request: Send a blank email to internals+get-131216@lists.php.net to get a copy of this message
On 6/8/26 08:56, Tim Düsterhus wrote:
Hi Am 2026-05-26 18:15, schrieb Ben Ramsey:
I'm opening discussion on an RFC to create a policy for PHP project working groups: https://wiki.php.net/rfc/working_groups
Thank you for the RFC. Purely policy-wise, any policy RFC should consist of a PR to https://github.com/php/policies/ as the “source of truth” with the RFC text itself only being a stub that references the PR and that provides supplementary information. See: https:// wiki.php.net/rfc/ policy-repository
Tim, thank you for reviewing the RFC. I was following the Feature Proposals[1] policy, which doesn't include this information. It might be worth updating the Feature Proposals policy to include text about creating an initial pull request for policy RFCs, as well as clarifying that this is intended for creation of new policies as well as amending existing policies (the Policy Repository RFC only states that a PR must be created first when you're amending a policy). The Working Groups RFC is clear about what parts of the RFC go into the policy document:
Upon acceptance, this PHP RFC adds a new document, working- groups.rst, to the PHP policies repository. The document working- groups.rst MUST contain the contents of the Introduction and Working Groups sections of this RFC.
I've also opened a PR for this: https://github.com/php/policies/pull/35
As for the RFC itself, as I think I had already mentioned on social media back then, it is unclear what value this additional policy brings. Given that everything relating to a working group needs to go through an RFC anyways (which is a good and important rule), I don't quite see why we would need another policy on top of the (policy) RFC process itself.
I believe I've explained at length what I think the value is in the RFC's non-normative discussion section, particularly under Rationale.[2] Is there something specific I can elaborate on that's unclear, or are you saying you disagree with the rationale? I disagree that this is "on top of the (policy) RFC process." This is orthogonal to the RFC process. However, it is complementary. Yes, the RFC process is used to charter a working group. This provides transparency and allows the community to decide what working groups are important to the PHP Project. But a working group does not need an RFC for every decision it makes or activity it undertakes. Approval of a working group charter is the community saying, "we grant you permission to operate according to your charter." This is empowerment. The goal of working groups is empowerment. I can propose a Bike Shed Working Group that's chartered with the specific purpose of operating and maintaining the bike shed. The community agrees it's important and grants the group authority to operate and maintain the bike shed without needing to ask for broad approval for every single decision it makes (this is done through voting in favor to approve the working group's charter). Now, when the bike shed needs to be painted, the working group, whose charter says it operates and maintains the bike shed, can decide what color to paint it without needing full community approval. Meanwhile, working groups must be transparent in their decisions. The Bike Shed WG must have methods for the community to provide feedback, but the community has entrusted the working group with the authority to make decisions, and the working group has the final say in the bike shed's color. Nevertheless, working groups are accountable to the community. The Working Groups policy describes the process the community may take if it feels a working group has gone beyond their charter or is acting in bad faith. I hope that doesn't happen, but the policy provides community-led remediation in the event it does. That said, working groups cannot operate outside the RFC process for PHP language or policy changes: "If a working group's activities include making changes to the PHP programming language and/or PHP Project policies, the working group MUST follow the PHP RFC process to propose these changes."
For language RFCs, RFC authors are already working with the list and their co-authors to figure out the best possible version for a given proposal without any official “working group”. In practice, these kinds of RFCs work best when done with a very small team of “subject matter experts” that have done their research before proposing the RFC and where the discussion only makes minor adjustments.
This is true, and as the RFC states, "creating a working group is not a requirement for creating a PHP RFC." Language RFC authors and co-authors may continue to operate as they have, without needing to charter a working group. However, "working groups MAY propose PHP RFCs as part of their activities," and if they want to make changes to the language, they "MUST follow the PHP RFC process to propose these changes." I don't see value in creating a working group for the sake of working on a specific RFC. RFCs for features like the pipe operator, property hooks, the URI extension, DOM changes, etc. probably would not benefit from having working groups. One could argue that Larry's initiative for Algebraic Data Types[3] might benefit from a working group. The True Async[4] project might also benefit. But I don't think either of these require the thing that a working group provides: operational autonomy (i.e., empowerment). If a group who wants to design language features (and thus create RFCs) also needs operational autonomy for something, then it would be valuable for them to propose a working group.
This leaves the non-language tasks, such as marketing. I expect there to be a need for less than a handful of this kind of “working group” or “team”, which I believe can easily be handled with the existing RFC process. In fact Roman's social media RFC that you referenced in your email is already proposing to create a “working group” (or officially delegating responsibilities) even without the featured RFC being accepted.
My RFC defines a set of expectations we would require for any such working group and provides a mechanism for anyone in the community to propose a working group. You're right that the lack of a mechanism doesn't restrict anyone from doing this (as evidenced by Roman's RFC), but it definitely doesn't encourage involvement, and I've tried my best through the discussion on the RFC to argue in favor of encouraging broader community involvement by signaling that (a) we're welcoming of others creating initiatives within the PHP project, and (b) we trust and empower these initiatives to operate and make decisions without a formal project hierarchy or BDFL. Cheers, Ben [1]: https://github.com/php/policies/blob/main/feature-proposals.rst [2]: https://wiki.php.net/rfc/working_groups#rationale [3]: https://wiki.php.net/rfc/adts [4]: https://true-async.github.io/

« previous php.internals (#131216) next »