I think the LLVM Foundation is still figuring out what are the correct
boundaries for its authority. This is not a surprise.
The discussion of the llgo sub-project in particular was a mix of
technical and non-technical aspects. There may be some difference of
opinion about what is a "technical" aspect so I will spend some time
laying out my opinion here. The 25 Nov 2014 minutes say:
We want to encourage new sub-projects, but have specific guidelines
such as: following the LLVM Developer Policy, code structured similar
to other LLVM projects, licenses should follow the UIUC/MIT licenses
as appropriate to the project. Exceptions to these rules will be
considered on a case by case basis by the board.
I think it's entirely appropriate for the Foundation to state copyright,
licensing and patent requirements for software sub-projects hosted with
equipment/services provided by the Foundation. This is legal stuff that
clearly falls under the Foundation's purview.
But, it's equally *not* appropriate for the Foundation to impose technical
requirements, and I include the following as "technical" points.
- Code structure is a technical point, to be decided by the community.
- Adhering to Developer Policy (besides the legal stuff) is a technical
I should be clear that I think all these requirements are appropriate,
just that it's absolutely not the Foundation's job to impose them.
Although, as David suggests, exactly the same people participating on the
Dev lists (instead of a Foundation board meeting) absolutely should make
sure these requirements were imposed. Understanding how these roles are
(and should be) separate is a bit of a learning curve.
If the community decides a new software sub-project is appropriate, and
the new subproject adheres to the Foundation's legal requirements, then
it should Just Happen; the community should not have to go to the
Foundation to get *approval* for the new sub-project. The Foundation
provides equipment/services to support the software deemed appropriate
by the community; having the Foundation approve new sub-projects would
be putting the cart before the horse. Nobody's IT department decides
what products to produce.
Conversely, if the Foundation wants to host non-software subprojects
using the same equipment/services (to support workshops, conferences,
other educational services) that's entirely up to the Foundation, of
course. And for those subprojects, there is no reason for the Foundation
to go to the *community* for approval.
Given that essentially all of the LLVM Foundation board members are
people who are used to writing software, it's no real surprise that
it's hard to correctly separate the legal/operational policy concerns
that are properly in the domain of the Foundation from the technical
policy concerns that are properly the domain of the community. Yes
they are all "policy" but no, they are not all Foundation concerns.