The author suggests that the answer to “Can I license my code under AGPL with an extra clause that prohibits people from using it for commercial purposes?” is “no-ish”. However, the answer is “yes”; many companies will avoid using AGPL-licensed code even without extra clauses. I curated a list of such licenses alongside AGPL, including examples of corporations who refuse to accept the AGPL license for third-party contributions.
Yes, exactly. Or, to quote from a past version of myself:
The goal, to paraphrase a famous prayer, is to find licensing from which all corporations recoil. As a technicality, I would like to see such licenses which are nonetheless still FSF- or OSI-approved.
There turn out to be several such licenses, with AGPL being merely the most well-known and well-understood.
This is quite interesting to me. After going through the process to relicense a project with a previous employer (who I definitely do not speak for) I wanted to write up some thoughts that would’ve started the exact same way:
Many people don’t understand:
copyright law,
and GPL.
What I’ve learned is that while we might have good basic intuitions about copyright law and the GPL, we (read: software devs) do not understand it. We can claim to, but a lot of it hinges on case law/prior art/and what lawyers will and will not go after (see also: how much money you have).
Something I’ve noticed is that a lot of software people want the law to work like source code. They read the thing and try to imagine some kind of machine that will execute the legal code within it. They look for logical implications and contradictions and deductions they can arrive to by reading the license text.
Of course, though, the law is interpreted by the whims of judges and sometimes juries, with its own peculiar culture that outsiders might not be familiar with. It’s more like how early web browsers did whatever they wanted with HTML than what ghc does with Haskell. :)
Also, there’s often this certain uninformed “folklore” of how the law works (like those no “no copyright intended!” messages in fan-made YouTube music uploads) that is even worse.
Also, there’s often this certain uninformed “folklore” of how the law works (like those no “no copyright intended!” messages in fan-made YouTube music uploads) that is even worse.
Yeah, and this is one of the reasons I don’t quite enjoy discussions around the GPL :)
A lot of what people think about the GPL is what they want the GPL to say but that it doesn’t quite say or intentionally talks around. My particular hobby horse: “what is a derivative work?” The GPL doesn’t define it. There’s some US case law that has decided particular things. There’s some examples in the FAQs but they’re not exhaustive. There’s endless discussions about what is/isn’t a derivative work on the internet. But nobody knows until they’re in a courtroom.
While few people understand licenses, the GPL is one of the few license people don’t even read. It’s often just carted around and used because tradition.
While few people understand licenses, the GPL is one of the few license people even read. It’s often just carted around and used because tradition.
It doesn’t help that it’s not a very well-written document (as well as needlessly long including quite a few bits that probably aren’t really needed).
For example, let’s take this paragraph from the GPL 3:
A separable portion of the object code, whose source code is excluded from the Corresponding Source as a System Library, need not be included in conveying the object code work.
I had to read this several times and out loud to really understand what’s being meant here, which is “Object code whose source is not part of the GPL licensed code does not need to have their source made available”. I think so, anyway. It’s not hard to see how this could be phrased in a much clearer way. This isn’t even about “legalese language is hard”, it’s just bad writing IMO. I’ve managed to read things like SCOTUS decisions or EU laws without too much trouble, but I struggle with the GPL.
For this reason alone, I think the EUPL is an infinitely better copyleft license.
It’s not hard to see how this could be phrased in a much clearer way. This isn’t even about “legalese language is hard”, it’s just bad writing IMO.
Oh! Another thing this reminds me about is how the GPL and its FAQs reference things like static and dynamic linking and object/machine code. While I respect that the license made sense at the time, these distinctions become harder to make with each passing day. A lot of things are bundled together in a way that makes them singularly executable (e.g. .app files on macOS, Docker images, concatenated scripts for interpreted languages) but aren’t static linking in the original sense—how does all of that come into play? Who knows.
As mentioned elsewhere in this discussion: no one knows anything until in a court room. The GPL itself isn’t interested in linking and even the FAQs mention it mostly to make certain binary requiremnts more clear in cases they make sense (more for LGPL than GPL). The maim hinges are legal terms of art like “derivative” and what a judge would think is anyone’s guess.
GPL good. It’s our only legal defense against corporate open source, where huge companies take all the software and give back none of the freedom. Tech empires are being built on the backs of hobbyists giving their software away. The GPL prevents this: no taking without giving back. It levels the playing field.
Weak licenses have enabled situations where we have all of this open source software and yet our phones and websites are tracking our every move and spying on everything we do.
GPL good. It’s our only legal defense against corporate open source
GPL is not the only copyleft license. Tabling the discussion about whether the concept of copyleft is good or bad, the GPL is a terrible implementation of it IMHO, starting with the poorly written text as I mentioned in my other comment, but I also don’t really care for the organisation/people behind it; in particular the shenanigans surrounding the GPL3 left me with a serious distrust and dislike over the GPL specifically (independent of the idea of copyleft). Torvalds explained this fairly well.
So, perhaps somewhat pedantically, the GPL is not “out only legal defence”. Copyleft perhaps is, but GPL and copyleft are not synonyms.
@arp242 mentioned the EUPL in another comment, which I agree seems more relevant to modern software. It is also really neat in that it has official non-English versions and is written by an actual governing body.
The Open Software License (OSL) is also interesting in that it was written by a lawyer/member of a law firm and is quite readable. I personally like a license that I can read and expect others to read.
A note on the EUPL. Copyright law that follows EU tradition includes a moral rights component that is entirely ignored by the GPL (both version 2 and 3) and does to my knowledge not even exist in US law. The EUPL addresses it and tries to waive it to the most extend possible. This might not be at all what you want. Even if you fully stand behind the copyleft concept, you might still want to retain moral rights. The EUPL has this clause probably because it is designed to be used for code written by EU institutions, but it does not really fit code written by natural persons.
The GPL has improved over time. While GPLv2 had only considered US law, the GPLv3 has been designed to be much more friendly to other jurisdictions. It does not recur to specific US concepts anymore and uses wording that is distinct from traditional US copyright wording for that very reason. It is quite a bit easier to fit the GPLv3 into European jurisdictions than the GPLv2. The notorious “derivative work” has been erased from the text and replaced with a clause that makes its GPLv3 equivalent depending on what the active jurisdiction requires the copyright holder’s consent for. A nice and elegant solution from a jurist’s view.
The biggest issue I have with the OSL is the “reasonable effort” clause:
If You distribute or communicate copies of the Original Work or a Derivative Work, You must make a reasonable effort under the circumstances to obtain the express assent of recipients to the terms of this License.
So what does that mean for apt-get install osl-project?
I like the EUPL, but there are others as well. I didn’t do a full review/comparison of all licenses, but I wrote a little bit about it over here last year.
The author suggests that the answer to “Can I license my code under AGPL with an extra clause that prohibits people from using it for commercial purposes?” is “no-ish”. However, the answer is “yes”; many companies will avoid using AGPL-licensed code even without extra clauses. I curated a list of such licenses alongside AGPL, including examples of corporations who refuse to accept the AGPL license for third-party contributions.
You mean that although the AGPL does not forbid commercial use, in practice it does because companies refuse to do commerce under its terms?
Yes, exactly. Or, to quote from a past version of myself:
There turn out to be several such licenses, with AGPL being merely the most well-known and well-understood.
This is quite interesting to me. After going through the process to relicense a project with a previous employer (who I definitely do not speak for) I wanted to write up some thoughts that would’ve started the exact same way:
What I’ve learned is that while we might have good basic intuitions about copyright law and the GPL, we (read: software devs) do not understand it. We can claim to, but a lot of it hinges on case law/prior art/and what lawyers will and will not go after (see also: how much money you have).
Something I’ve noticed is that a lot of software people want the law to work like source code. They read the thing and try to imagine some kind of machine that will execute the legal code within it. They look for logical implications and contradictions and deductions they can arrive to by reading the license text.
Of course, though, the law is interpreted by the whims of judges and sometimes juries, with its own peculiar culture that outsiders might not be familiar with. It’s more like how early web browsers did whatever they wanted with HTML than what ghc does with Haskell. :)
Also, there’s often this certain uninformed “folklore” of how the law works (like those no “no copyright intended!” messages in fan-made YouTube music uploads) that is even worse.
Yeah, and this is one of the reasons I don’t quite enjoy discussions around the GPL :)
A lot of what people think about the GPL is what they want the GPL to say but that it doesn’t quite say or intentionally talks around. My particular hobby horse: “what is a derivative work?” The GPL doesn’t define it. There’s some US case law that has decided particular things. There’s some examples in the FAQs but they’re not exhaustive. There’s endless discussions about what is/isn’t a derivative work on the internet. But nobody knows until they’re in a courtroom.
While few people understand licenses, the GPL is one of the few license people don’t even read. It’s often just carted around and used because tradition.
Edit: s/people even read/people don’t even read/
It doesn’t help that it’s not a very well-written document (as well as needlessly long including quite a few bits that probably aren’t really needed).
For example, let’s take this paragraph from the GPL 3:
I had to read this several times and out loud to really understand what’s being meant here, which is “Object code whose source is not part of the GPL licensed code does not need to have their source made available”. I think so, anyway. It’s not hard to see how this could be phrased in a much clearer way. This isn’t even about “legalese language is hard”, it’s just bad writing IMO. I’ve managed to read things like SCOTUS decisions or EU laws without too much trouble, but I struggle with the GPL.
For this reason alone, I think the EUPL is an infinitely better copyleft license.
Oh! Another thing this reminds me about is how the GPL and its FAQs reference things like static and dynamic linking and object/machine code. While I respect that the license made sense at the time, these distinctions become harder to make with each passing day. A lot of things are bundled together in a way that makes them singularly executable (e.g.
.app
files on macOS, Docker images, concatenated scripts for interpreted languages) but aren’t static linking in the original sense—how does all of that come into play? Who knows.As mentioned elsewhere in this discussion: no one knows anything until in a court room. The GPL itself isn’t interested in linking and even the FAQs mention it mostly to make certain binary requiremnts more clear in cases they make sense (more for LGPL than GPL). The maim hinges are legal terms of art like “derivative” and what a judge would think is anyone’s guess.
I have yet to read a useful post about licenses, given that I know basic info: MIT/BSD - good, GPL - bad =)
GPL good. It’s our only legal defense against corporate open source, where huge companies take all the software and give back none of the freedom. Tech empires are being built on the backs of hobbyists giving their software away. The GPL prevents this: no taking without giving back. It levels the playing field.
Weak licenses have enabled situations where we have all of this open source software and yet our phones and websites are tracking our every move and spying on everything we do.
GPL is not the only copyleft license. Tabling the discussion about whether the concept of copyleft is good or bad, the GPL is a terrible implementation of it IMHO, starting with the poorly written text as I mentioned in my other comment, but I also don’t really care for the organisation/people behind it; in particular the shenanigans surrounding the GPL3 left me with a serious distrust and dislike over the GPL specifically (independent of the idea of copyleft). Torvalds explained this fairly well.
So, perhaps somewhat pedantically, the GPL is not “out only legal defence”. Copyleft perhaps is, but GPL and copyleft are not synonyms.
What are other “good” copyleft licenses?
@arp242 mentioned the EUPL in another comment, which I agree seems more relevant to modern software. It is also really neat in that it has official non-English versions and is written by an actual governing body.
The Open Software License (OSL) is also interesting in that it was written by a lawyer/member of a law firm and is quite readable. I personally like a license that I can read and expect others to read.
A note on the EUPL. Copyright law that follows EU tradition includes a moral rights component that is entirely ignored by the GPL (both version 2 and 3) and does to my knowledge not even exist in US law. The EUPL addresses it and tries to waive it to the most extend possible. This might not be at all what you want. Even if you fully stand behind the copyleft concept, you might still want to retain moral rights. The EUPL has this clause probably because it is designed to be used for code written by EU institutions, but it does not really fit code written by natural persons.
The GPL has improved over time. While GPLv2 had only considered US law, the GPLv3 has been designed to be much more friendly to other jurisdictions. It does not recur to specific US concepts anymore and uses wording that is distinct from traditional US copyright wording for that very reason. It is quite a bit easier to fit the GPLv3 into European jurisdictions than the GPLv2. The notorious “derivative work” has been erased from the text and replaced with a clause that makes its GPLv3 equivalent depending on what the active jurisdiction requires the copyright holder’s consent for. A nice and elegant solution from a jurist’s view.
The biggest issue I have with the OSL is the “reasonable effort” clause:
So what does that mean for
apt-get install osl-project
?I like the EUPL, but there are others as well. I didn’t do a full review/comparison of all licenses, but I wrote a little bit about it over here last year.