I often hear about how open source is not sustainable because it is “made by volunteers”. But that's misunderstanding the nature of volunteering in open source projects. Volunteering is relative, not absolute and it is not a useful indicator of the sustainability of a project because in independent open source projects all contributors are volunteers.
Kinds of Contributor
To believe that open source projects being made by volunteers is unsustainable is to surrender to the view that open source is a business model. To illustrate this more, here are some fictional case studies of varying relationships to an open source project. In every case, the contributor is a “volunteer” but the impact of this on the project varies greatly.
Alice the Alpha Contributor
Alice contributes to (fictional) project CatHerd at the Apache Software Foundation (ASF). The project she works on, like all ASF projects, is composed exclusively of “volunteer developers”. Yet many of them — in some projects most of them — are also employees of a company that pays them to work on that same software. Indeed, Alice works for BigCorp Inc, who pay her pretty well for the code she writes.
CatHerd is freely licensed to everyone under the Apache License and there is no scope for natural or artificial scarcity of the code. The work in a project like this is sustainable not because of the “volunteer” relationship of the developer, but largely because of the “employee” relationship. That relationship itself must arise from some business model at BigCorp where the continuous improvement of CatHerd is valuable, but that is of no concern to other CatHerd contributors or to the ASF.
- In relation to the ASF, Alice is a volunteer, working without payment and contributing her code to the project without the exchange of a consideration — indeed, Alice signed an ICLA giving the ASF rights equivalent to ownership of every line she contributes to CatHerd.
- In relation to her employer, the work is done in exchange for compensation and the ownership of the work she is producing is passing to BigCorp in exchange for that consideration. BigCorp then freely grants the ASF rights equivalent to ownership by completing a CCLA to say Alice can do this on their behalf.
Due to her consistent contribution, Alice is also a volunteer member of the Project Management Committee (PMC) of CatHerd. Her employer has historically been ambivalent about this and does not prevent her participation as long as it does not distract her from her work. In this role, she is only a volunteer; there is no alternative relationship to describe it.
But the PMC has recently had to select a new chair for the PMC, and they have elected Alice. With the agreement of the ASF Board, Alice will become a vice-president of the ASF as a consequence of this additional voluntary role – it's unpaid, naturally. BigCorp is pretty pleased about this and plans to tell its customers that their valued employee is VP of CatHerd, so they agree to support Alice by allocating more of her time to take care of the additional responsibilities as well as covering her travel to ApacheCon. So in this role, Alice has multiple relationships; she is a volunteer at the CatHerd PMC, but she is a volunteer VP at ASF supported by BigCorp.
Derek the Dilettante
Derek is also a contributor to Apache CatHerd, which he uses in the software controlling his model train layout (which is now getting so large and complex that his husband is beginning to wonder if it's still OK...). Derek's job at the Submerged Log Company is entirely unrelated to either Apache CatHerd or the model train layout, so he has taken care to ensure his terms of employment do not in any way affect his hobby interests. Derek only has a volunteer relationship to CatHerd and to the ASF, but he's a consistent contributor because he is tinkering every weekend with his train layout and fixing bugs in CatHerd as he goes.
Eoife the Consultant
Eoife is also a contributor to Apache CatHerd. They use CatHerd within consulting engagements with some clients for their own consultancy, Aedam & Eoife Snakecharming, but there's no revenue stream associated with this usage for A&ES. Eoife is the sole maintainer of the rather complex LitterBox subsystem of CatHerd and since they have no clients at the moment there are quite a few open issues for LitterBox that are causing something of a stink. While Eoife notionally has a commercial relationship with CatHerd relative to A&ES, it turns out not to be sufficient to cover further contribution.
Looking across these various relationships:
- Alice volunteers extensively at CatHerd and the ASF but this only affects CatHerd's sustainability positively as she also has an employed relationship covering her time and work.
- BigCorp has a volunteer relationship to CatHerd but has a business model which means paying Alice to work on it will continue. This is positive for CatHerd's sustainability.
- CatHerd is an Apache project so is controlled on a purely charitable basis by the ASF. This is neutral with regard to sustainability. Research suggests that if ASF paid some contributors, the activity by those with only a volunteer relationship would decline, so maintaining a volunteer relationship with all is a positive.
- Derek has only a volunteer relationship with CatHerd, but because of his model train obsession this is a positive for CatHerd's sustainability as he spends more time on it than he does with his husband (which may prove a negative eventually).
- Eoife was a key contributor to CatHerd and maintains a critical component, all as a volunteer in relation to the project. They seem to have a commercially supported relationship with CatHerd but actually, out of view of the project, this has largely ceased. This is negative for CatHerd's sustainability.
The biggest challenge to the sustainability of Apache CatHerd is not the volunteer relationships of the contributors. That is a key enabling characteristic of open source. Rather, the diversity of the contributions to the project as a whole and to its critical components is more important. Ideally there is a succession plan as and when any individual contributor bows out (as Eoife is doing).
A project that has few contributors per component is at great risk not because the contributors are volunteers but because each contributor could leave at any time when their affiliations or motivations change. This is even more true of a single-vendor open source project, which can switch away from viable open source at any moment it suits the company.
To make open source projects sustainable, they need diverse contributors, with diverse motivations. Pay the maintainers where that's needed, for sure. But make sure there are many, not just a few. And realise the price frame is the wrong one for understanding open source.
(In case it's not obvious, all the names above are fictional apart from the ASF!)