On 08/06/2016 12:43 PM, Matthieu Napoli wrote:

I like that project (FIG 3.0) a lot, however I'm also concerned that only 12 people will vote on PSRs. What if there's a PSR being written that has nothing to do with those 12 people?

For example what if there's an "async" PSR but none of those 12 people work with async libraries: why would they vote YES? And also important: why would they be "qualified" enough to vote correctly on topics they may not work with? -> both technically and in terms of seeing/understanding the need behind the PSR (hope I'm not offending anyone in saying that, that's not the goal at all)

Hi Matthieu.  No offense taken.

The CC isn't expected to be domain experts in all subjects. That would be unreasonable, and in practice impossible.

The issue you identify is exactly the issue we have today: Of the 39 member projects we have now, how many of them have any experience with async? Of the representatives of those projects, how many have written async code? Very very few, so an async spec in FIG today would be voted on by 39 people/projects that for the most part don't have any experience or expertise to offer, most of whom do not have the time or inclination to become domain experts just to vote on it. That's bad. :-)

When we started talking about async PSRs last year, we said (collectively) "we should get some more async projects in FIG, so we know what we're doing." That is, of course, a totally backwards way to go about it because it doesn't at all help the other projects and their reps know what they're doing, but it does then give those few async projects equal vote on, say, middlewares, or caching, areas where they may not have any expertise to offer either.

The solution to that is the CC/WG split: The Working Group is designed to be composed of those people -- whether project-affiliated or not, whether CC members or not -- who do have relevant domain knowledge and/or "skin in the game" because they are from a project (whether a FIG member or not) that does have directly relevant experience. It then gives them more say, because as a WG member they get a vote on the spec before it's passed up to the Core Committee. In that sense, this model gives even more authority to those who would be most affected by a given spec.

To Adam's "taxation without representation" point, it means that those who may be affected by a given spec would have more representation then they do today; they do not need to first be a member project, and their vote is not diluted by all of those projects that, frankly, have nothing to add.

For example, let's be honest, Drupal has little if anything to add to an async spec. We might make use of it in the future sometime, but at this point Drupal the project is of no real value, at least no more than any other random PHP user in the world. The input of people like Aaron Piotrowski of Icicle, however, is absolutely crucial, and far more important than anything I have to add. But that shouldn't require giving Icicle (which is still a small and experimental project) an equal say in Middleware design as Michael O'Phinney. Similarly, it may be valuable to actively include Sara Golemon (from HHVM, which has async support) even though she's not affiliated with any project at all.

The Core Committee, then, is not intended to deal with the nitpicky minutua of the spec. It's intended to look at the broader picture, ensure that specs are consistent with each other to the extent relevant (eg, PSR-13 favors immutability in order to be compatible with PSR-7) and don't do anything grossly stupid (let's do everything with subclasses and public properties!), ensure that Igor Wiedler (of React PHP) wasn't actively excluded, and so on. That does likely mean that CC members will be required to become at least passingly familiar with any topic that warrants a spec. They'll need to know what promises are and why they are, for instance, even if they've never written a promises library themselves. Asking 12 people (who volunteered for the job) to become at least passingly familiar with various topics is much more reasonable, and achievable, than asking 40-odd people to do so just because they want to have input in one specific spec that relates to their project.

So yes, CC members will need to become minimally competent in various topics, but not experts. That's a much easier task than we have today, and is complemented by explicitly putting the domain experts in a given area directly in charge of the technical nitty gritty that they're trying to solve.

--Larry Garfield

--
You received this message because you are subscribed to the Google Groups "PHP 
Framework Interoperability Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/php-fig/a1f55827-165f-9c5b-5bf3-b8bf9d6d77a0%40garfieldtech.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to