[llvm-foundation] Voting

Tanya Lattner via llvm-foundation llvm-foundation at lists.llvm.org
Thu Jun 30 10:27:57 PDT 2016

> On Jun 30, 2016, at 1:51 AM, David Chisnall via llvm-foundation <llvm-foundation at lists.llvm.org> wrote:
> On 29 Jun 2016, at 19:01, Hal Finkel via llvm-foundation <llvm-foundation at lists.llvm.org> wrote:
>>> This proposal of course assumes that the LLVM community is to be run
>>> as a direct democracy. I don't want to distract from your detailed
>>> proposal, but it seems the desired governance model needs to be
>>> defined before delving in to the details of how to implement it. Or
>>> has this discussion taken place somewhere? I'm specifically not
>>> expressing a view one way or the other. I had assumed the current
>>> set-up was some combination of BDFL and decisions being taken by
>>> Foundation board members, but I don't recall this being explicitly
>>> defined - though it would be good if it was.
>> I'd like to second this. I don't think that we should focus on a direct-democracy model. Such systems work well only for small groups. Having accountable representatives and leaders is better. A smaller group of accountable decision makers can invest more time in understanding the issues and the alternatives in order to make an informed decision. Accountability can come from elections, from the risk of community fracturing, etc.
> I’m not sure if it would help, but the FreeBSD project has spent a few decades evolving its governance structures and may provide some useful example.
> In 2000, we move to having an elected Core Team (which, after two terms, I am currently in the process of standing down from).  Core Team terms run for two years (though if Core drops below quorum as a result of resignations / death then a new election can be held early).  In the elections that we just held[1], we had 325 people eligible to vote and a turnout of around 65%.
> The Core Team has the final say on any technical matters, but very rarely has to exercise this power (in my four years, we’ve been asked to make this kind of call roughly once a year on average).  Most aspects of the project are run with devolved authority from the Core Team (for example, the documentation team and ports teams are pretty much autonomous, the security team is appointed by Core but then handles all security issues without any further interaction).  ‘Flag waving’ is the main responsibility of the Core Team: setting high-level objectives (e.g. ARMv8 should be a tier-1 platform) and then coordinating people / companies to work towards those goals.  This is something that’s missing from LLVM (for example, the typeless pointer work is a great idea and will make life a lot easier, but no one in a leadership position is advocating it or - at least visibly - coordinating work towards it).  Being elected helps the Core Team significantly in this capacity, because they can claim to represent the majority of committers.
> On the side, we also have the FreeBSD Foundation, which is a US non-profit with an annual turnover of around $1m.  They explicitly have no direct control over the project (though, in practice, I don’t think that there’s ever been a time since the Foundation was created when the board of the Foundation and the Core Team haven’t had at least a couple of members in common) and are responsible for fund raising, outreach and public engagement (including sponsoring BSD-related conferences and sending FreeBSD developers to other open source conferences, publishing the FreeBSD Journal), and so on.  They buy hardware for the project, which is then run by one of the teams that has devolved responsibility form Core.  They also fund development work, in two forms.  Sometimes there are things that need doing but no one is actively working on them (in LLVM land, providing external consumers with good ways of describing things that follow the C ABI would be top of this list.  At other times, they coordinate with companies (who are often direct competitors) to implement features that all of them need, often with additional external funding (for example, the ARMv8 bring-up work was funded by the Foundation, ARM, and Cavium).  The FreeBSD Foundation has no direct accountability to the project, but must be seen to be representing the project both to keep its tax-exempt status and to keep donations flowing in.
> It’s worth noting that, while certain individuals are on both Core and the Foundation Board, their responsibilities are very different in these two capacities.  The Foundation has a lot more flexibility, because it is decoupled from the project and not directly responsible, whereas the Core Team has far greater authority within the project as a result of their elected status.  The relationship between the FreeBSD Foundation and the FreeBSD Project is very carefully managed.  By spending money on things, the Foundation can direct development to a degree (though no more than any other company that is investing in FreeBSD - a dozen or so companies routinely spend more on FreeBSD development than the Foundation), but its role must be (and must be seen to be) supporting and facilitating, not driving.
> The LLVM Foundation is currently in a place somewhere between these.  Some of the minutes from the early LLVM Foundation meetings discussed technical issues (inclusion of subprojects) that should be LLVM-the-project decisions, not Foundation issues (though the same people would likely have been making the decisions in both cases).  It’s still not clear within the LLVM project (or from outside) where the LLVM Foundation’s authority starts and ends.  There is no equivalent of an elected Core Team that serves as an obvious project-side balance for the Foundation.

Regarding sub projects, it was discussed as to what criteria would be used to accept sub projects from the perspective of supporting the sub-project with resources paid for and administered by the LLVM Foundation. In addition to hosting and infrastructure support, I see the LLVM Foundation supporting official sub-projects in educational services realm as well (workshops, conferences, etc). I do not feel this is a technical issue but an administrative and legal issue. Obviously projects are proposed on the list first (like the parallel-libs project).

As I have said many times before we are supporting the LLVM Project through legal, financial, administrative, and infrastructure. We don’t control the LLVM project in any technical way. We have code owners to handle technical decisions.


> David
> [1] Results have been announced internally, but I don’t think we’ve done a public announcement yet.  Given that I didn’t stand this time, I don’t think that I’m giving anything away by saying that I wasn’t elected..._______________________________________________
> llvm-foundation mailing list
> llvm-foundation at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-foundation

More information about the llvm-foundation mailing list