Coraline Ada Ehmke (where.coraline.codes) has just stirred up a minor hornets’ nest in the world of Free and Open Source Software by re leasing a new licence: the Ethical Open Source Licence: https://firstdonoharm.dev.
Ehmke is known as the author of the ‘Contributor Covenant’: https://www.contributor-covenant.org which has been widely welcomed and accepted by a vast number of projects (it aims to ensure that projects present a welcoming and inclusive place for all contributors). With that in mind, and in the spirit of the contributor covenant itself, I hope that she will accept this blog post both as respectful commentary, and constructive criticism. But first, some history.
Back in the mists of time, Richard Stallman introduced the GNU EMACS General Public License, which he described as ‘copyleft’. Copyleft is a hack on copyright, and it uses the normally restrictive nature of copyright licensing to force distributors of code under a copyleft license to keep the code open, and ensure that recipients have access to the underlying source code. That licence morphed into the GNU GPLv2, which became, on some measures, the most successful software licence of all time, and provided the licensing framework behind the almost ubiquitous Linux kernel. There are many projects which have adopted GPLv2 (and its variants: GPLv3, and the various versions of the LGPL and AGPL).
Spurred on by the success of GPLv2, well-meaning people have tried to use a licence to try to limit the use of their software to what they consider to be ethical.
For example, the JSON licence restricts use to “good, not evil”. The anti-996 license tries to outlaw the use of the software by companies which use unethical working practices (996 means 9am to 9pm, 6 days a week) (https://www.wired.com/story/how-github-helping-overworked-chinese-programmers/). Creative Commons publishes a non-commercial licence, and a licence which only allows the distribution of the work in its original, non-modified form. There are other licences that prohibit use in nuclear facilities, the military and so on, and one notorious licence which allows the licensor to prohibit use in jurisdictions where there was once a patent issue, even if the patent in question has now expired.
None of these licences properly qualifies as either a free software licence* or an open-source-definition-compliant licence because they act as a limitation on the field of use of the software.
From a legal point of view, this causes problems because these limitations are usually vaguely drafted, and there are questions on the extent of their interpretation across jurisdictions.
Additionally, lawyers sometimes (and frequently misguidedly) draft documents which define ‘Open Source Licences’ as licences which comply with the Open Source Definition, and these licences, although they are widely regarded as open source licences, do not comply.
From a practical perspective, there is a bigger problem. The value in free software and open source software is often expressed to be the development of a commons – a pool of code – from which components can be drawn, modified and combined. (This is and was Stallman’s express aim: which is slightly stymied by the fact that combining code under different copyleft licences – even GPLv2 and GPLv3 (assuming no “or later” option) – is difficult or impossible, depending on the licences.
However, leaving that to one side…). If people use the Ethical Open Source Licence (which you will now realise should not be called the Ethical Open Source Licence, since software released under it is *clearly* not open source), then this creates yet another, incompatible pool of software, which cannot be combined with any copyleft code, andcan only be combined with open source software licensed under very liberal licences.
The resulting combination itself will not, of course be open source.
Is there a solution?
In the spirit of constructive criticism, I think there is.
In our drafting of the CERN OHLv2, we were often asked to incorporate superficially desirable conditions, like a condition requiring any item made from the design to be energy efficient, or to use sustainable materials, or to be easily repairable. We resisted the temptation to incorporate these, for the reasons discussed above. Instead, we suggest that organisations could apply a certification, to say that certain items of hardware meet sustainability standards, or are certified repairable. That is, a certification which is in parallel with the licensing requirement, and in order to use the relevant certification mark, the distributor of the hardware would have to be licensed by the relevant body. In effect, control would be through a combination of community norms, and legal remedies akin to trademark infringement.
There is no reason why such a scheme could be extended to software. Indeed, Ehmke could use this mechanism to police and enforce the use of her Contributor Covenant.
*Actually, one of these licences is widely regarded as being a free software licence, and I described it in a spirit of devilment and to make sure people were concentrating. I’ll buy a pint for the first person who can identify the licence I’m talking about, and why it’s regarded as a free software licence.