Licensing in a Post Copyright World(lucumr.pocoo.org)
lucumr.pocoo.org
Licensing in a Post Copyright World
http://lucumr.pocoo.org/2013/7/23/licensing/
19 comments
> They have always been about freedom first and software second, and Stallman has many times stated that he'd rather a program be used less if it results in more freedom, than vice versa.
I think I disagree with your interpretation, but I think my disagreement hinges on a semantic disagreement about the word "freedom." To me, the GPL is a legal limitation on freedom. It prohibits certain use cases, like distributing that software without its source code. To me, a piece of software is "more free" if its source code is available, but people are still able to do literally anything they want with the source code, including distributing binaries without providing access to the source code. I think the point of the GPL is to utilize the copyright system to ensure access to source code for everyone, not to simply increase freedom.
The slavery quip doesn't really make sense, because in that analogy the source code is the slave. So unless we're talking about increasing freedom for source code (which is a strange notion, since most source code is not conscious) rather than increasing freedom for people, my disagreement still applies. The reason forbidding slavery is not generally considered a decrease in freedom is that both slave owners and slaves are people.
I think I disagree with your interpretation, but I think my disagreement hinges on a semantic disagreement about the word "freedom." To me, the GPL is a legal limitation on freedom. It prohibits certain use cases, like distributing that software without its source code. To me, a piece of software is "more free" if its source code is available, but people are still able to do literally anything they want with the source code, including distributing binaries without providing access to the source code. I think the point of the GPL is to utilize the copyright system to ensure access to source code for everyone, not to simply increase freedom.
The slavery quip doesn't really make sense, because in that analogy the source code is the slave. So unless we're talking about increasing freedom for source code (which is a strange notion, since most source code is not conscious) rather than increasing freedom for people, my disagreement still applies. The reason forbidding slavery is not generally considered a decrease in freedom is that both slave owners and slaves are people.
>I think the point of the GPL is to utilize the copyright system to ensure access to source code for everyone, not to simply increase freedom.
According to many, including the FSF, GNU, Stallman and myself, increasing access to the source code for everyone is increasing freedom. In fact, it's freedom number 1. "The freedom to study how the program works, and change it to make it do what you wish."
https://en.wikipedia.org/wiki/Four_Freedoms_%28software%29#D...
> The slavery quip doesn't really make sense, because in that analogy the source code is the slave.
No, it's about freedom for people in both cases. The lack of source code would be analogous to the chains of slavery. Not equivalent, mind you, but analogous. A software user is less free when he or she cannot inspect or modify the software that runs on their machine.
According to many, including the FSF, GNU, Stallman and myself, increasing access to the source code for everyone is increasing freedom. In fact, it's freedom number 1. "The freedom to study how the program works, and change it to make it do what you wish."
https://en.wikipedia.org/wiki/Four_Freedoms_%28software%29#D...
> The slavery quip doesn't really make sense, because in that analogy the source code is the slave.
No, it's about freedom for people in both cases. The lack of source code would be analogous to the chains of slavery. Not equivalent, mind you, but analogous. A software user is less free when he or she cannot inspect or modify the software that runs on their machine.
> According to many, including the FSF, GNU, Stallman and myself, increasing access to the source code for everyone is increasing freedom.
Once released freely, the source code never stops being free, so I don't really know what they're talking about in terms of "freedom". MIT licensed code is almost infinitely free, it will never stop being free, and nobody can take it away from you.
It seems to me that they're interested in forcing other people's source code to be free.
Once released freely, the source code never stops being free, so I don't really know what they're talking about in terms of "freedom". MIT licensed code is almost infinitely free, it will never stop being free, and nobody can take it away from you.
It seems to me that they're interested in forcing other people's source code to be free.
It's not just the code itself, but also derivatives thereof. Eg, no one would argue that iOS is free in any sense of the word.
There are many, many reasons for wanting the ability to inspect, modify and compile code yourself. The GPL secures those rights in perpetuity, while other licenses are more lax towards those particular rights. So, for example, you'd be losing that freedom by using BSD-derived iOS.
Basically the GPL is designed to protect users of the software, not developers of the software.
There are many, many reasons for wanting the ability to inspect, modify and compile code yourself. The GPL secures those rights in perpetuity, while other licenses are more lax towards those particular rights. So, for example, you'd be losing that freedom by using BSD-derived iOS.
Basically the GPL is designed to protect users of the software, not developers of the software.
Those rights are already secured in pepetuity. Your code, once released as opensource, is always opensource.
If users don't want to use code that contains proprietary modifications to your code, nobody is forcing them to -- your opensource code hasn't disappeared.
If users don't want to use code that contains proprietary modifications to your code, nobody is forcing them to -- your opensource code hasn't disappeared.
As the copyright holder of a piece of code, I can use the GPL to ensure my users won't ever have to wonder about the provenance of my bit of code, no matter where it ends up. When developers adopt the GPL, it should be a conscious decision to protect those rights for future users.
The goal isn't for code to be open source Just Because. Take a moment to consider the motivations behind the FSF's definition of free software, as linked above by drcube. RMS has been talking about this for 30 years.
The goal isn't for code to be open source Just Because. Take a moment to consider the motivations behind the FSF's definition of free software, as linked above by drcube. RMS has been talking about this for 30 years.
I don't think anyone in the industry isn't aware of RMS' paternalistic and communistic motivations.
You clearly misunderstand his goals and those of GNU/FSF -- that is evident from every single one of your posts on this article, despite all these people trying to explain it to you. Not going to continue here; have a good evening.
I'd argue quite the opposite, I think I understand them quite clearly, and I think the facts speak for themselves in terms of how much grief the GPL and GPL incompatibilities have caused our industry.
But the rights in question are those of the end user, and these rights include that of recieving the source code of the actual binary containing GPL licenced code, which will include any (possible) modifications of said GPL code.
This is in my opinion the main attraction GPL has for developers, as they as 'end users' are given the right to any source code modifications done to their original code.
This is in my opinion the main attraction GPL has for developers, as they as 'end users' are given the right to any source code modifications done to their original code.
Users already have that right with liberally licensed open source code. If they don't want to use proprietary extensions for which they can't acquire the source, that's fine; nobody is forcing them to.
>Users already have that right with liberally licensed open source code
No they don't have the right to the source code of the actual binary they recieve under liberal licencing.
No they don't have the right to the source code of the actual binary they recieve under liberal licencing.
Sure they do, if they choose to only use binaries provided by those that also provide source code. Which is their choice.
Which is what GPL guarantees, binaries which is guaranteed to provide source code.
Which is why developers who wants to guarantee this right to end users for the code they release, choose to licence their code under GPL.
Only copyleft style licences guarantees this right to end users, so if you are a developer who wants your users to have this right secured (which has a practical benefit for developers as they as end users of modifications to their original code, are guaranteed the source code of those moddifications), you will use copyleft style licencing.
Which is why developers who wants to guarantee this right to end users for the code they release, choose to licence their code under GPL.
Only copyleft style licences guarantees this right to end users, so if you are a developer who wants your users to have this right secured (which has a practical benefit for developers as they as end users of modifications to their original code, are guaranteed the source code of those moddifications), you will use copyleft style licencing.
> Only copyleft style licences guarantees this right to end users ...
That's just blatantly false. Distribute your binaries with source. Or distribute them with an offer of source.
There, problem solved. Heck, may your binaries non-redistributable without source.
Either way, users have the option of using/distributing your binaries, or not. You've given them nothing they didn't already have.
That's just blatantly false. Distribute your binaries with source. Or distribute them with an offer of source.
There, problem solved. Heck, may your binaries non-redistributable without source.
Either way, users have the option of using/distributing your binaries, or not. You've given them nothing they didn't already have.
When some corporation sells you some proprietary software, the consumer has the FREEDOM to choose if he wants to fork over his cash in exchange for it.
When the proprietary developer encounters some piece of GPL software, he's being forced to comply with it, even if it's still his own decision whether or not to incorporate the code in his project.
Ah, language.
(TL;DR: nobody is forcing anyone to accept the GPL. The GPL offers you a deal - passing forward the four freedoms is just the price of using the library.)
When the proprietary developer encounters some piece of GPL software, he's being forced to comply with it, even if it's still his own decision whether or not to incorporate the code in his project.
Ah, language.
(TL;DR: nobody is forcing anyone to accept the GPL. The GPL offers you a deal - passing forward the four freedoms is just the price of using the library.)
The GPL does offer a deal, but its dishonest to call it 'freedom'.
The GPL 'freedom' is not that of freedom from licence conditions, it's about the freedom(s) given to the end user(s) through to these licence conditions.
Personally I've always thought that it would be better if they just used the term 'rights' which is what the GPL conditions actually grant the end user, I can't say I find the wording 'dishonest' though, just a poor choice.
Personally I've always thought that it would be better if they just used the term 'rights' which is what the GPL conditions actually grant the end user, I can't say I find the wording 'dishonest' though, just a poor choice.
The license grants rights and imposes limitations. One of those limitations prevents users from mixing code freely.
Users already had the right to not use proprietary products; what the GPL has actually done is to take away their right to use your code with a proprietary product.
As such, you've granted users fewer rights as compared to liberal open source licenses, not more.
Users already had the right to not use proprietary products; what the GPL has actually done is to take away their right to use your code with a proprietary product.
As such, you've granted users fewer rights as compared to liberal open source licenses, not more.
Users -- those who are actually interacting with a running version of the software -- lose nothing with the GPL. On the contrary, their rights to the code are secured.
Developers -- those who modify and redistribute the software, in binary form or otherwise -- do indeed have restrictions designed to protect the rights of users.
So yes, the GPL does impose restrictions in specific cases to secure rights in the general case.
Developers -- those who modify and redistribute the software, in binary form or otherwise -- do indeed have restrictions designed to protect the rights of users.
So yes, the GPL does impose restrictions in specific cases to secure rights in the general case.
[deleted]
> Users -- those who are actually interacting with a running version of the software -- lose nothing with the GPL. On the contrary, their rights to the code are secured.
They've been denied the 'right' to use proprietary extensions to the software. Those extensions may provide more benefit to the user than the open source software alone: see also, Mac OS X.
That's no less real a 'right' than the 'right' to have access to the source code, which is something they've never lost because open-source always remains open-source, and they remain free to only use open-source software.
> So yes, the GPL does impose restrictions in specific cases to secure rights in the general case.
Those rights are already secured, because nobody forces users to use proprietary software. If they only want to use software where code is available, they have every right to do so.
They've been denied the 'right' to use proprietary extensions to the software. Those extensions may provide more benefit to the user than the open source software alone: see also, Mac OS X.
That's no less real a 'right' than the 'right' to have access to the source code, which is something they've never lost because open-source always remains open-source, and they remain free to only use open-source software.
> So yes, the GPL does impose restrictions in specific cases to secure rights in the general case.
Those rights are already secured, because nobody forces users to use proprietary software. If they only want to use software where code is available, they have every right to do so.
You are, once again, either misunderstanding or willfully misrepresenting everything that's being said. Users aren't being denied anything, because proprietary software doesn't exist under the GPL. Developers and distributors do lose the chance to keep their code closed. The GPL protects users, not developers.
You seem to think downstream developers have an entitlement to release proprietary software, even if it goes against the wishes of the original authors. News flash: devs aren't forced to use GPL'd software, either. If you want to keep your software proprietary, you're free to use something under another license, or write something under your own copyright.
Really, it's not even about being "open source" per se; the motivations of the GPL go much deeper than simply making the code available. But you obviously don't agree with those, from the other thread.
You seem to think downstream developers have an entitlement to release proprietary software, even if it goes against the wishes of the original authors. News flash: devs aren't forced to use GPL'd software, either. If you want to keep your software proprietary, you're free to use something under another license, or write something under your own copyright.
Really, it's not even about being "open source" per se; the motivations of the GPL go much deeper than simply making the code available. But you obviously don't agree with those, from the other thread.
Are users of GPL software able to combine it with proprietary plugins?
> The GPL protects users, not developers.
The users can already choose to not use proprietary software, so what is it protecting them against? Themselves?
> You seem to think downstream developers have an entitlement to release proprietary software, even if it goes against the wishes of the original authors ...
No, I just believe that the GPL is intellectually dishonest. It's about controlling other people's means of production, with the end-goal of creating a communist ecosystem in which it's essentially impossible to not participate due to inherent market entry costs.
The users can already choose to not use proprietary software, so what is it protecting them against? Themselves?
> You seem to think downstream developers have an entitlement to release proprietary software, even if it goes against the wishes of the original authors ...
No, I just believe that the GPL is intellectually dishonest. It's about controlling other people's means of production, with the end-goal of creating a communist ecosystem in which it's essentially impossible to not participate due to inherent market entry costs.
No, it's just a different perspective on freedom.
"[A]ll men may be restrained from invading another's rights and from doing harm to
one another, and [this] law of nature... which wills the peace and preservation
of all mankind... is... put into every man's hands, whereby everyone has a right to
punish the transgressors of that law to such a degree as may hinder its violation"
-- John Locke, Second Treatise of GovernmentThe GPL does not limit freedom, it only limits power. Distributing a binary to a user while denying them the source code, while not strictly a malicious act, is an attack on the user's freedom because it puts the user at a position where the author hold power over him/her. The author allows himself/herself to freely study and modify the program in its preferred format (the source code), but he/she has intentionally made it impossible for the user to do this. Copyleft is about authors willingly removing the powers granted to them by copyright and "redistributing" them so that all users are granted freedom.
It's worth noting that the GPL does not say you have to give out source code all the time, you just have to give it out when people ask for it, and you have to make the offer to give it out clear. So the actual issue that you believe is "a limitation on freedom" is the lack of the ability to say no when someone asks for the source code, despite that they have already been distributed a binary. However, there are no practical reasons to do this that don't involve intentionally keeping secrets from people, or intentionally making studying and modification of the program difficult.
It's worth noting that the GPL does not say you have to give out source code all the time, you just have to give it out when people ask for it, and you have to make the offer to give it out clear. So the actual issue that you believe is "a limitation on freedom" is the lack of the ability to say no when someone asks for the source code, despite that they have already been distributed a binary. However, there are no practical reasons to do this that don't involve intentionally keeping secrets from people, or intentionally making studying and modification of the program difficult.
Substituting "power" for "freedom" doesn't really change anything. You can certainly argue that a software distributor exerts power on a user when they don't provide source code, but you can just as easily argue that a software distributor exerts power on a user when they provide the source code but don't allow derivative works to be distributed without source code.
The slavery analogy is interesting because it's something that we all agree is unequivocally wrong. People sometimes can't wrap their heads around the GPL because not everyone agrees that e.g. not providing source code is unequivocally wrong, but that's the stance the GPL takes.
Imagine a world where slavery isn't prohibited by law, and that isn't going to change, but we still want to discourage it as much as possible. So someone comes up with the idea for a "license" to grant to current slaves: You can have your freedom, with the one restriction that you can't work with anyone who owns slaves unless they free them all and attach the same restriction. The idea being to create a large population of former slaves who have been freed with that condition, so that you create an economic environment in which owning slaves is discouraged, because anyone who continues to own slaves can no longer do business with an economically important population of former slaves.
Obviously you get the objection that you're restricting the freedom of the former slaves. The freed slaves would be individually better off if they could work with whoever they wanted, especially if there is a nontrivial population of slave owners who continue to refuse to accept that condition and might otherwise do business with them, but then you lose all the incentive for the existing slave owners to free their slaves which on the whole would result in a net reduction in freedom.
Imagine a world where slavery isn't prohibited by law, and that isn't going to change, but we still want to discourage it as much as possible. So someone comes up with the idea for a "license" to grant to current slaves: You can have your freedom, with the one restriction that you can't work with anyone who owns slaves unless they free them all and attach the same restriction. The idea being to create a large population of former slaves who have been freed with that condition, so that you create an economic environment in which owning slaves is discouraged, because anyone who continues to own slaves can no longer do business with an economically important population of former slaves.
Obviously you get the objection that you're restricting the freedom of the former slaves. The freed slaves would be individually better off if they could work with whoever they wanted, especially if there is a nontrivial population of slave owners who continue to refuse to accept that condition and might otherwise do business with them, but then you lose all the incentive for the existing slave owners to free their slaves which on the whole would result in a net reduction in freedom.
No, that doesn't follow. Giving certain users the ability to distribute derivative works to other users but yet say no when one of them asks for the source code presents the same misappropriation of power as if the author of the original work was doing it. The point of copyleft and the GPL is that no groups or individuals should be able to exert power over anybody else using the software in question.
Consider this example which is based on actual events.
Consider Project A which is based on code released by company X under GPLv2 only. We're grateful for the release of this code and start to develop a project based around it.
Then organisation Y releases Library B, something which would help us immensely with our project. However it's released under the GPLv3 and one of two scenarios occurs, they want to change the license but have distributed copyright ownership and cannot contact the original authors so the license cannot be changed, or they don't want to be seen eroding 'freedom', so they refuse.
Who is right in this situation? Why should two projects who have the goal of progressing FOSS be doomed to non-collaboration?
Then organisation Y releases Library B, something which would help us immensely with our project. However it's released under the GPLv3 and one of two scenarios occurs, they want to change the license but have distributed copyright ownership and cannot contact the original authors so the license cannot be changed, or they don't want to be seen eroding 'freedom', so they refuse.
Who is right in this situation? Why should two projects who have the goal of progressing FOSS be doomed to non-collaboration?
There is no right or wrong, GPLv2 and GPLv3 are different licences.
In order to make it possible to use GPLv(n) code together with GPLv(x) code, developers often use the 'or later' clause when they licence under GPL.
However if they only want the code to be used under the conditions of GPLv(n) then they will omit that clause, as Linus Torvalds did with Linux for instance.
The example you portray has nothing to do specifically with GPL, it would be just as true in any other licence incompability scenario. And if the original authors don't want to change the licencing then that's their right, end of story really.
Again GPLv2 and GPLv3 are _separate_ licences, and incompatible with eachother _unless_ there is a clause which allows the code to be released under a later GPL version.
In order to make it possible to use GPLv(n) code together with GPLv(x) code, developers often use the 'or later' clause when they licence under GPL.
However if they only want the code to be used under the conditions of GPLv(n) then they will omit that clause, as Linus Torvalds did with Linux for instance.
The example you portray has nothing to do specifically with GPL, it would be just as true in any other licence incompability scenario. And if the original authors don't want to change the licencing then that's their right, end of story really.
Again GPLv2 and GPLv3 are _separate_ licences, and incompatible with eachother _unless_ there is a clause which allows the code to be released under a later GPL version.
Those projects aren't doomed to non-collaboration because that is a non-issue. Worst case scenario you'll have to modify one of those projects so they can invoke the other one as an external program. Free software license incompatibility is blown way out of proportion.
This is a real life example of a scenario currently playing out between LibreCAD (GPLv2 only) and LibreDWG (GPLv3) because the former was based on the source code released from a company who has no intention of changing it and the latter is the FSF, who see anything but the latest and greatest GPL version for their own projects as undermining free software.
So you have a situation where you have a program and a library that would really benefit each other, yet are unable to combine that code and distribute it.
Yes and there are workarounds for it. If they aren't willing to do a workaround and neither of them are willing to compromise on their position (LibreCAD should probably switch to GPLv3, btw), then it's both of their faults.
>the FSF, who see anything but the latest and greatest GPL version as undermining free software
This is false. The FSF has no problem with people using licenses that aren't the GPLv3. It's suggested that you use the GPLv3, but any license that meets the criteria for being free software is an acceptable free software license.
>the FSF, who see anything but the latest and greatest GPL version as undermining free software
This is false. The FSF has no problem with people using licenses that aren't the GPLv3. It's suggested that you use the GPLv3, but any license that meets the criteria for being free software is an acceptable free software license.
LibreCAD can't switch because their project depends on a large amount of GPLv2 only code.
The FSF won't change its position because LibreDWG is a FSF project.
Catch 22, who's right?
You can blame the copyright system for that for making it not possible to negotiate license changes in the event the original copyright holder is not contactable for whatever reason. But again, there are workarounds and it makes no sense for them not to consider them, so this whole thing is a non-issue anyway. If they want to save DWG files, is there any reason they cannot invoke LibreDWG from a separate command line program using an intermediate format?
It's not the copyright system's fault in this regard.
The originator of the LibreCAD code has no interest in hiring another legal team to go through the process of re-licensing an already open source project, and the FSF sees anything less than *GPLv3 in its own projects undermining the end user's freedom.
So I ask again, who's right?
So I ask again, who's right?
[deleted]
The copyright system is to blame because without it there would be no need for them to even think about hiring a lawyer because these complex licensing issues wouldn't even exist. I would advise against looking to blame someone, as the system is not known for working in the first place.
But if you really want to blame someone, you can blame both of them. They're both wrong, because there are workarounds.
But if you really want to blame someone, you can blame both of them. They're both wrong, because there are workarounds.
So your solution is to abolish the current copyright system?
How would you fix it?
What would you do different to the current one?
And this topic is well documented and there currently is only one viable workaround, the FSF licensing LibreDWG under a GPLv2 compatible license. They have blatantly refused however, as explained here. http://libregraphicsworld.org/blog/entry/libredwg-controvers...
And this topic is well documented and there currently is only one viable workaround, the FSF licensing LibreDWG under a GPLv2 compatible license. They have blatantly refused however, as explained here. http://libregraphicsworld.org/blog/entry/libredwg-controvers...
I'm a user, and I want to use your library in my product. The GPL limits my freedom.
Your choice of not wanting to accept the GPL doesn't limit your freedom, you had the choice to accept it and you declined. The fact that the software is copyrighted in the first place is the only thing that could be potentially limiting your freedom, and the GPL cannot do anything about that.
Copyrights are not contracts. They do not have to be agreed upon for them to be legally enforceable.
Users of proprietary software have the choice and can decline, too. Since users dont need it to protect their freedom, why is the GPL necessary if not to restrict freedom?
Because what it actually protects is rights, rights of the end user.
You of course know this, but you instead choose to endlessly harp on the meaning of the word 'freedom'.
Licencing your code under GPL grants the recipient of any binary in which your code is included a specific set of rights.
These rights include the right to the source code should the recipient want it.
This particular right makes GPL very interesting for many developers as they can release code, and then as recipients of modifications of that code, get access to those modifications in source code form and thus gain improvements to their original code.
You of course know this, but you instead choose to endlessly harp on the meaning of the word 'freedom'.
Licencing your code under GPL grants the recipient of any binary in which your code is included a specific set of rights.
These rights include the right to the source code should the recipient want it.
This particular right makes GPL very interesting for many developers as they can release code, and then as recipients of modifications of that code, get access to those modifications in source code form and thus gain improvements to their original code.
If those users don't want to use code that isn't released liberally, they don't have to. So what are you actually securing for them? It's not freedom, they already have the freedom to not use proprietary software.
What you secure is the end user right to the source code of the _actual_ binary they recieve, which gives them the further rights to _examine_ and _modify_ said code and generate and _run_ a binary with their own modifications.
You know, those end user rights which GPL was created to preserve.
You know, those end user rights which GPL was created to preserve.
You don't need the GPL for that; just provide the source code for your software. If users actually care about having the code, they can use your binary for which code exists.
If they don't care, they can use proprietary software, or proprietary extensions that make your software better.
Either way, the user has full control over their choice of software, and nobody's actions can make your original open source code disappear.
The GPL is really about enforcing your ideals onto other people's code if it happens to be reliant on yours. That's a legit quid pro quo for a license, but it has jackall to do with freedom or user rights.
If they don't care, they can use proprietary software, or proprietary extensions that make your software better.
Either way, the user has full control over their choice of software, and nobody's actions can make your original open source code disappear.
The GPL is really about enforcing your ideals onto other people's code if it happens to be reliant on yours. That's a legit quid pro quo for a license, but it has jackall to do with freedom or user rights.
>The GPL is really about enforcing your ideals onto other people's code if it happens to be reliant on yours.
Oh please, enough with the bs, your code won't just 'happen' to be relient on GPL licenced code. It's just as much of a choice as that of end users choosing not to use proprietary code which you keep repeating.
And of course it has to do with user rights, that is what GPL preserves.
The right to the source code of a binary containing GPL licenced code, the right to modify and build binaries from that said source code.
It legally binds anyone who uses GPL licenced code to grant those _rights_ to their end users.
Being able to examine the code for the ACTUAL binary you recieve, rather than some original source code which may very well have gone through numerous changes before being compiled into the ACTUAL binary you recieve are very different things.
And I've already described how from a developer standpoint this is of importance as they are likely interested in recieving enhancements to their code in 'source code form' if they choose to licence under GPL, but it's also of importance in other aspects aswell since you as an end user may want to examine the source code to make sure it doesn't do something you don't want, or change it's behaviour to do something _you_ do want.
Those are definitely 'user' rights.
Oh please, enough with the bs, your code won't just 'happen' to be relient on GPL licenced code. It's just as much of a choice as that of end users choosing not to use proprietary code which you keep repeating.
And of course it has to do with user rights, that is what GPL preserves.
The right to the source code of a binary containing GPL licenced code, the right to modify and build binaries from that said source code.
It legally binds anyone who uses GPL licenced code to grant those _rights_ to their end users.
Being able to examine the code for the ACTUAL binary you recieve, rather than some original source code which may very well have gone through numerous changes before being compiled into the ACTUAL binary you recieve are very different things.
And I've already described how from a developer standpoint this is of importance as they are likely interested in recieving enhancements to their code in 'source code form' if they choose to licence under GPL, but it's also of importance in other aspects aswell since you as an end user may want to examine the source code to make sure it doesn't do something you don't want, or change it's behaviour to do something _you_ do want.
Those are definitely 'user' rights.
Your entire argument depends on the fiction that users can't make their own choices, or that somehow your code can be made non-OSS once released.
Neither is true, and this hokey 'user rights' notion is just a thinly veiled justification for a paternalistic communist view of open source collaboration, in which you want to control not only your own code, but the code that other people write, too.
It wouldn't be so insidious if it was presented honestly, as a set of limitations on freedom for your own benefit as the author of the GPL software, rather than in terms of the moral high ground of granting freedoms.
Neither is true, and this hokey 'user rights' notion is just a thinly veiled justification for a paternalistic communist view of open source collaboration, in which you want to control not only your own code, but the code that other people write, too.
It wouldn't be so insidious if it was presented honestly, as a set of limitations on freedom for your own benefit as the author of the GPL software, rather than in terms of the moral high ground of granting freedoms.
Only as far as your 'freedom' consists of violating any of the rights which GPL bestows upon end users.
GPL exists to preserve rights for end users, and since one of those rights is that of recieving the source code it is incompatible with proprietary projects. As such you can say that GPL is open source code for open source.
GPL exists to preserve rights for end users, and since one of those rights is that of recieving the source code it is incompatible with proprietary projects. As such you can say that GPL is open source code for open source.
How can you violate rights of end users? Your open source code hasn't disappeared. End users can still use it, copy it; and share it.
If end users don't want to use proprietary extensions to open source code, they don't have to. The original code doesn't just disappear.
If end users don't want to use proprietary extensions to open source code, they don't have to. The original code doesn't just disappear.
You violate the rights which the GPL licence grants them, which is the rights to the source code of the actual binary they recieve, so that they can examine, modify and run their own versions of the actual binary.
In practice this works out well for developers who release their code under the GPL and want to enjoy any enhancements made to their code in return.
They will as 'end users' of any distributed modifications have the right to the source code of those modifications.
This way those modifications/enhancements aren't locked away from the original developer in a proprietary project.
In practice this works out well for developers who release their code under the GPL and want to enjoy any enhancements made to their code in return.
They will as 'end users' of any distributed modifications have the right to the source code of those modifications.
This way those modifications/enhancements aren't locked away from the original developer in a proprietary project.
If users don't want to run binaries for which source isn't available, they are under no obligation to do so, and can simg choose to use binaries for which source is provided; no so-called ethical "right" to source code access is violated, as the source once released remains open source.
And developers who wants to create proprietary projects are under no obligation to use GPL licenced code. What is your point?
GPL licenced code comes with conditions, such as that of granting the end users certain rights, including the right to the source code of the actual binary they recieve.
Proprietary code by definition will not grant the end user access to the source code from which the binary they recieve was made, and it typically comes with the condition of monetary compensation for it's use.
In both these cases the 'end user' can choose not to use what is offered.
GPL licenced code comes with conditions, such as that of granting the end users certain rights, including the right to the source code of the actual binary they recieve.
Proprietary code by definition will not grant the end user access to the source code from which the binary they recieve was made, and it typically comes with the condition of monetary compensation for it's use.
In both these cases the 'end user' can choose not to use what is offered.
> In both these cases the 'end user' can choose not to use what is offered.
Exactly -- so what's the point of offering a 'right' the user already has, if it means taking away rights from developers?
Users can already choose to not use proprietary software, they don't need the GPL to enforce availability of the open aource software they use.
Exactly -- so what's the point of offering a 'right' the user already has, if it means taking away rights from developers?
Users can already choose to not use proprietary software, they don't need the GPL to enforce availability of the open aource software they use.
>Users can already choose to not use proprietary software
And developers can already CHOOSE not to use GPL licenced code, this part of your argument has no point whatsoever.
The GPL licence exist to grant the right of end users to examine, modify and compile/run the source code of the binaries they recieve.
The user does NOT 'already have these rights' with proprietary software.
When a developer licences their code under GPL it means that all recipients of the code in both it's original state or modified will have the above rights.
And again since developers will be 'end users' themselves once they recieve a binary containing modifications to their code, it creates an effective tit for tat mechanism where they will recieve the source code of any modifications.
There is no 'right' taken away from 'developers', they have no 'right' to use code other than under the conditions set upon it by it's owner, this holds true for all licences.
And developers can already CHOOSE not to use GPL licenced code, this part of your argument has no point whatsoever.
The GPL licence exist to grant the right of end users to examine, modify and compile/run the source code of the binaries they recieve.
The user does NOT 'already have these rights' with proprietary software.
When a developer licences their code under GPL it means that all recipients of the code in both it's original state or modified will have the above rights.
And again since developers will be 'end users' themselves once they recieve a binary containing modifications to their code, it creates an effective tit for tat mechanism where they will recieve the source code of any modifications.
There is no 'right' taken away from 'developers', they have no 'right' to use code other than under the conditions set upon it by it's owner, this holds true for all licences.
Users can also CHOOSE not to use proprietary software. You're taking away their right to choose to use your software in a proprietary context.
Try incorporating proprietary code into your product without abiding by the conditions the copyright holder imposes, and see how well that's received.
The goal of the GPL is to protect the freedom of users of software. The freedom it restricts is not generally relevant to those just trying to use the software, only to those who want to pass on changes in ways that restrict the freedom of their users.
"To me, a piece of software is "more free" if its source code is available, but people are still able to do literally anything they want with the source code, including distributing binaries without providing access to the source code."
Yes, because AIX is more free, because Solaris is more free, because Irix and HP-UX and a small plethora of other operating systems are more free.
That whole "more free" idea? It's not theory. It's history. It didn't work.
That "legal limitation on freedom" came about for a specific reason: because software released under things like the BSD license that were "more free" were taken, modified, and made proprietary. All of those operating systems essentially started as BSD Unix; the last time I saw any of the AIX source code, it had BSD copyright notices all over it. (Including on parts that clearly weren't BSD, like the journaled file system. Weird.)
That works fine, if you are a member of Berkeley's CSRG and thus the best programmer in the world. Those people touching your can't improve it; the best they can do is tarnish your brilliance. I am not the best programmer in the world, so I'm not terribly impressed with your interpretation.
Yes, because AIX is more free, because Solaris is more free, because Irix and HP-UX and a small plethora of other operating systems are more free.
That whole "more free" idea? It's not theory. It's history. It didn't work.
That "legal limitation on freedom" came about for a specific reason: because software released under things like the BSD license that were "more free" were taken, modified, and made proprietary. All of those operating systems essentially started as BSD Unix; the last time I saw any of the AIX source code, it had BSD copyright notices all over it. (Including on parts that clearly weren't BSD, like the journaled file system. Weird.)
That works fine, if you are a member of Berkeley's CSRG and thus the best programmer in the world. Those people touching your can't improve it; the best they can do is tarnish your brilliance. I am not the best programmer in the world, so I'm not terribly impressed with your interpretation.
> The slavery quip doesn't really make sense, because in that analogy the source code is the slave.
Wrong. Your users who don't have the same power to make changes as you do are the slaves in the analogy, not the source code.
I sum it up thusly: BSD is about freedom for the developers; GPL is about freedom for the users. I work professionally as a software developer, but I use far more software than I develop.
Wrong. Your users who don't have the same power to make changes as you do are the slaves in the analogy, not the source code.
I sum it up thusly: BSD is about freedom for the developers; GPL is about freedom for the users. I work professionally as a software developer, but I use far more software than I develop.
This is why I try to license my personal stuff gpl or agpl still. At the end of the day, I don't want people using it or modifying it that don't release the source, even if it is less used as a result.
The article brings up two camps - gpl vs mit / bsd, and while I use the gpl now on the precedent that the copyright situation is so bad it needs some counter-pressure wherever I can place it, I hope in the long term the outcome is the abolition of copyright entirely. But I put stuff under GPL now because the ultra-restrictive copyrights on proprietary software and their license terms harm creativity so much using the system to force freedom is better than ignoring the problem entirely. To me, at least.
The goal of the GPL is user freedom, in an age when the copyright holder / developer (not always the same person) holds all the cards.
The article brings up two camps - gpl vs mit / bsd, and while I use the gpl now on the precedent that the copyright situation is so bad it needs some counter-pressure wherever I can place it, I hope in the long term the outcome is the abolition of copyright entirely. But I put stuff under GPL now because the ultra-restrictive copyrights on proprietary software and their license terms harm creativity so much using the system to force freedom is better than ignoring the problem entirely. To me, at least.
The goal of the GPL is user freedom, in an age when the copyright holder / developer (not always the same person) holds all the cards.
I just started a project that allows teachers, educators, and interested parties to create, maintain, and fork education standards. Basically, bring long-standing software development concepts to education.
After a brief discussion on irc yesterday I went with the AGPL. I want to encourage collaboration, but I don't want some ed tech startup with vc funding to use this code. I did put a note in the readme that if anyone has a good reason to want an MIT license, I'd be open to reconsidering the license. But I can't see a good reason at this point.
After a brief discussion on irc yesterday I went with the AGPL. I want to encourage collaboration, but I don't want some ed tech startup with vc funding to use this code. I did put a note in the readme that if anyone has a good reason to want an MIT license, I'd be open to reconsidering the license. But I can't see a good reason at this point.
> I don't want some ed tech startup with vc funding to use this code.
Startups would still be free to use it as long as they abide by the license.
With the AGPLv1, they have to publish their changes. Also, if the project offers a facility for end-users to obtain the source code, it can't be removed, so you can ensure the source remains available, whether modified or not.
AGPLv3 projects must offer the source no matter what.
Startups would still be free to use it as long as they abide by the license.
With the AGPLv1, they have to publish their changes. Also, if the project offers a facility for end-users to obtain the source code, it can't be removed, so you can ensure the source remains available, whether modified or not.
AGPLv3 projects must offer the source no matter what.
That's exactly what I want. I don't mind people using the code, I just want the changes re-released.
The real counterweight is to release your code into the public domain, opting out of the copyright industry's game altogether. See http://unlicense.org/
You're not opting out of the copyright industry's game; you can't, it's the law. All you're doing is keeping on rolling the dice, while refusing to take title deed cards for yourself and keeping paying rent.
>People that license software under the BSD or MIT license probably would not mind that much if copyrights would be abolished or greatly restricted. Richard Stallman's world on the other hand would would fall apart.
I'm pretty sure that Stallman would love a post-copyright world, unless it led to a world of rented locked down single-purpose appliances run on gifted code - an outcome that MIT/BSD would be totally fine with.
AGPL and GPLv3 was a line in the sand to separate OSI types from people who feel that it is a problem that people are legally and physically alienated from their own tools.
IMO, releasing the source code that operates people's property is equivalent to putting a list of ingredients on a packaged food product.
I'm pretty sure that Stallman would love a post-copyright world, unless it led to a world of rented locked down single-purpose appliances run on gifted code - an outcome that MIT/BSD would be totally fine with.
AGPL and GPLv3 was a line in the sand to separate OSI types from people who feel that it is a problem that people are legally and physically alienated from their own tools.
IMO, releasing the source code that operates people's property is equivalent to putting a list of ingredients on a packaged food product.
> IMO, releasing the source code that operates people's property is equivalent to putting a list of ingredients on a packaged food product.
pessimizer, I really like your metaphor, and I expect that using it is an easy way to introduce the subject to non-techies/non-law-geeks. Thank you!
As I reflected on your metaphor, my first thought was that releasing source code is actually more closely similar to releasing the ingredients as well as the recipe for the packaged food. But my thinking is probably not always correct: An author can release their source code that operates on my property (the ingredients), but they have no obligation to release the process to build/compile said source code (the recipe). (Hopefully I'm correct, I'm certainly open to constructive criticism).
That said, I truly appreciate it when developers offer easy-to-follow build instructions. However, for me at least, releasing the source almost always meets my needs for sufficient disclosure.
pessimizer, I really like your metaphor, and I expect that using it is an easy way to introduce the subject to non-techies/non-law-geeks. Thank you!
As I reflected on your metaphor, my first thought was that releasing source code is actually more closely similar to releasing the ingredients as well as the recipe for the packaged food. But my thinking is probably not always correct: An author can release their source code that operates on my property (the ingredients), but they have no obligation to release the process to build/compile said source code (the recipe). (Hopefully I'm correct, I'm certainly open to constructive criticism).
That said, I truly appreciate it when developers offer easy-to-follow build instructions. However, for me at least, releasing the source almost always meets my needs for sufficient disclosure.
IANAL, but by my reading, the GPL does include build scripts as part of the source code, e.g. from GPLv3:
"all the source code needed to generate [...] the object code and to modify the work, including scripts to control those activities"
Presumably this includes things like Makefiles.
"all the source code needed to generate [...] the object code and to modify the work, including scripts to control those activities"
Presumably this includes things like Makefiles.
> they have no obligation to release the process to build/compile said source code (the recipe)
I was typing the same thing at the same time:)
I was typing the same thing at the same time:)
> I'm pretty sure that Stallman would love a post-copyright world...
See http://rudd-o.com/monopolies-of-the-mind/thoughts-after-my-d...:
"Richard is against abolishing copyrights because, to his view, without copyright, enforcing copyleft would be impossible."
See http://rudd-o.com/monopolies-of-the-mind/thoughts-after-my-d...:
"Richard is against abolishing copyrights because, to his view, without copyright, enforcing copyleft would be impossible."
I see copyleft as a kind of parody on copyright. The name itself is a play on words. Its goal, respecting freedom, is an admirable one. Copyright's goal on the other hand is not very admirable. Copyright exists to enforce an artificial monopoly on ideas, the primary incentive of which is to protect the financial interests of creators. The impetus behind copyright is not all bad--after all, the laborer is worthy of his wages. But it has the nasty side effect of making creators over-protective of their work. If creators were fairly compensated for the value they provide they might not feel such a need for copyright protection. That's why I hope things like gittip and Kickstarter become more and more mainstream.
Copylefting a project says to the world that we value freedom more than compensation. It's the right message but depends on the wrong "logic" of copyright. Ideally, we would all reward companies that value freedom above profits, thus ensuring that freedom is profitable. But for now, copyleft exists as a strong-arm tactic against the over-protection of information. In the sense that copyleft utilizes copyright law to enforce freedom, it's hard to say whether GPL or other open source licenses have a greater respect for freedom.
Copylefting a project says to the world that we value freedom more than compensation. It's the right message but depends on the wrong "logic" of copyright. Ideally, we would all reward companies that value freedom above profits, thus ensuring that freedom is profitable. But for now, copyleft exists as a strong-arm tactic against the over-protection of information. In the sense that copyleft utilizes copyright law to enforce freedom, it's hard to say whether GPL or other open source licenses have a greater respect for freedom.
>...unless it led to a world of rented locked down single-purpose appliances run on gifted code...
There would have to be some other enforcement mechanism to prevent this for Stallman to be happy. He may not think that's possible, but I'm sure he would be happy to be proved wrong.
I think that a post-copyright regime could easily require code exposure for computers that are sold to consumers - that's far less radical than a post-copyright world would have already been in order to abolish the stuff.
There would have to be some other enforcement mechanism to prevent this for Stallman to be happy. He may not think that's possible, but I'm sure he would be happy to be proved wrong.
I think that a post-copyright regime could easily require code exposure for computers that are sold to consumers - that's far less radical than a post-copyright world would have already been in order to abolish the stuff.
Ironically it might be in the form of a EULA or developer agreement.
> IMO, releasing the source code that operates people's property is equivalent to putting a list of ingredients on a packaged food product.
No, it's like putting the secret recipe to Coke on the bottle, or the food science process that makes Rice Crispies so crispy.
No, it's like putting the secret recipe to Coke on the bottle, or the food science process that makes Rice Crispies so crispy.
The GPL doesn't force you to tell people how to build your appliance, it forces you to tell them what's in it. That's not comparable to having to share the manufacturing process of a good, but is comparable to having to share what's in it.
That takes the view that the software is just an ingredient, instead of a crucial part of the "secret sauce" that makes the product special. In many cases, the software is the interesting part, not the hardware.
I'm not saying that software is just an ingredient, I'm saying that software is an ingredient. I don't know what it means to be just an ingredient. Rice isn't just an ingredient, nor water - unless I'm misunderstanding you.
In a post-copyright world, how can you force someone to release their modifications to your code? You couldn't argue that they were violating the terms of your copyright, because there is no copyright (in such a hypothetical world)! The GPL depends on copyright law to provide its teeth.
Do we have to rely on copyright to force people to list the ingredients in food?
No, but I'm having a hard time envisioning a regulatory body akin to the FDA for all software. And even ingredient lists contain terms like "natural flavors" which hide some arguably important aspects of the composition.
>I'm having a hard time envisioning a regulatory body akin to the FDA for all software.
I do too, because I think copyright will be extended until forever - but the power given to the FDA was hard to imagine before Lash-Lure. Maybe it'll take a badly coded toy or self-driving car to kill or maim a lot of people to create a Source Code Distribution Administration.
>ingredient lists contain terms like "natural flavors" which hide some arguably important aspects of the composition.
Controversially.
I do too, because I think copyright will be extended until forever - but the power given to the FDA was hard to imagine before Lash-Lure. Maybe it'll take a badly coded toy or self-driving car to kill or maim a lot of people to create a Source Code Distribution Administration.
>ingredient lists contain terms like "natural flavors" which hide some arguably important aspects of the composition.
Controversially.
I don't see your point. In the analogy, copyright law is analogous to food safety law that requires labeling.
Copyright law isn't the only kind of law possible that would require people to release source code. The fact that it is even used to do that is a weird recursive act begun by an eccentric genius and a fortunate historical accident. That's my point.
Perhaps not, strictly speaking. It could go by another name, but it would by definition have to be some sort of intellectual property protection law.
> I'm pretty sure that Stallman would love a post-copyright world, unless it led to a world of rented locked down single-purpose appliances run on gifted code - an outcome that MIT/BSD would be totally fine with.
He would not. Abolishing copyright does not imply that people are required to release their sourcecode.
He would not. Abolishing copyright does not imply that people are required to release their sourcecode.
One license I think gets overlooked is the Mozilla Public License (MPL). I think it's particularly good for libraries and I've published some of my simple javascript code under it.
The interesting part about it is that it says modifications must be published, but that they are file based and not project or linker based. This omits many of the "onerous" (from the library user's perspective) restrictions of the LGPL, while still keeping the spirit of "this is free software, please give your enhancements to others to make the world better" which is sort of the whole point of GNU.
The interesting part about it is that it says modifications must be published, but that they are file based and not project or linker based. This omits many of the "onerous" (from the library user's perspective) restrictions of the LGPL, while still keeping the spirit of "this is free software, please give your enhancements to others to make the world better" which is sort of the whole point of GNU.
Note, though, that older versions of the MPL (before version 2.0) are incompatible with the GPL, so you end up with things like MPL/GPL dual-licensing. MPL 2.0 is OK in that regard, though I still prefer LGPL or GPL.
You can use someone else's proprietary modules in MPL code to better your program or library, you can't do the same with (L)GPL.
In many cases you can with LGPL, and you can with GPL if you explicitly add a licensing exception.
Also, regarding "use ... proprietary modules ... to better your program or library": depends on your definition of "better", but if that's one of your goals, then I agree that you don't want the GPL.
Also, regarding "use ... proprietary modules ... to better your program or library": depends on your definition of "better", but if that's one of your goals, then I agree that you don't want the GPL.
To add onto it in a beneficial way to the user.
Also, MPL allows static linking, the LGPL doesn't unless you explicitly state it.
For the record, would 'GPL + Linking exception' be incompatible with the GPL and LGPL?
For the record, would 'GPL + Linking exception' be incompatible with the GPL and LGPL?
> Also, MPL allows static linking, the LGPL doesn't unless you explicitly state it.
The LGPL allows static linking, as long as you provide the means to relink with a modified version.
> For the record, would 'GPL + Linking exception' be incompatible with the GPL and LGPL?
Only in one direction. You can take code under the GPL plus a linking exception and merge it into a GPLed project, but the result will not have the exception, so you can't add proprietary code to the result.
The LGPL allows static linking, as long as you provide the means to relink with a modified version.
> For the record, would 'GPL + Linking exception' be incompatible with the GPL and LGPL?
Only in one direction. You can take code under the GPL plus a linking exception and merge it into a GPLed project, but the result will not have the exception, so you can't add proprietary code to the result.
If you want to misunderstand licensing, this article is here to help.
To pick out just one of the many errors of fact and interpretation: linux has historically been GPL v2 only; this decision was not made after the release of GPL v3.
It's great that his "generation sees copyrights [as] a concept that should be much more restricted and have a smaller lifetime": I'm glad that he's so surrounded by the FOSS that makes this possible. But this possibility came about because of the work of free software advocates and developers. Reveling in your ignorance and disinterest really isn't going helping.
And if you think that it's a problem that Apple and the FSF (among others!) are clashing on issues like restricted bootloaders, tivoization, etc. -- well, I don't really know what to say. There's a reason that Apple and advocates like the FSF are on different sides here. I know which side I'm on: do you?
To pick out just one of the many errors of fact and interpretation: linux has historically been GPL v2 only; this decision was not made after the release of GPL v3.
It's great that his "generation sees copyrights [as] a concept that should be much more restricted and have a smaller lifetime": I'm glad that he's so surrounded by the FOSS that makes this possible. But this possibility came about because of the work of free software advocates and developers. Reveling in your ignorance and disinterest really isn't going helping.
And if you think that it's a problem that Apple and the FSF (among others!) are clashing on issues like restricted bootloaders, tivoization, etc. -- well, I don't really know what to say. There's a reason that Apple and advocates like the FSF are on different sides here. I know which side I'm on: do you?
There's a reason that Apple and advocates like the FSF are on different sides here. I know which side I'm on: do you?
In the US the Democrats and Republicans clash on many issues. There are reasons for this as well, which have mostly to do with self-interest. Does this mean that I have to choose one of them, even if my interests align with neither? Might there be a better choice beyond those two?
I'm pretty certain I'm not on either side.
In the US the Democrats and Republicans clash on many issues. There are reasons for this as well, which have mostly to do with self-interest. Does this mean that I have to choose one of them, even if my interests align with neither? Might there be a better choice beyond those two?
I'm pretty certain I'm not on either side.
Not making a choice is still a choice.
This is a wonderful article, and a great summary of the current open-source software licensing issues, but I feel uneasy about the apparent conclusion. After dozens of paragraphs about the intricacies and uncertainties of licensing, it seems to suggest that if instead of asking people to choose from a drop-down list of licenses, things would be greatly improved if they were given a 10 minute overview before being forced to choose.
Any overview, even if vetted by vast teams of international copyright lawyers, can only brush the surface of the issues. At best, you could end up with a list of reasons to eliminate certain licenses based on your personal goals, with the wordings chosen by the ideologies of the lawyers involved. Would this be any better than GitHub deciding internally which license(s) they want to promote, and putting these at the top of the list?
I think we should start to seriously consider simplifying our software licensing environment
This I can agree with. Having seen the amount of time wasted by open-source projects on licensing issues, copyright worries, and patent fears (and the resulting reinvention of the wheel) I think simplification is the way to go. Personally, I don't think this simplification can be achieved by piling more layers of abstraction on top of copyright and contracts.
Most books and papers seem to get along alright without licenses. I'd love to see "fair use" defined more broadly, but I don't think that adding additional licensing would be an improvement. Most electronic parts can be used as building blocks for whatever project you want without worrying whether one part will "contaminate" the others or "infect" the project. Music is licensed more frequently, but I don't think amateur musicians would benefit if they had to agree to terms of service before attending a concert.
Please tell me again why we want every project on GitHub to choose and stick to a license? And who is this "we", and what do "we" stand to gain?
Any overview, even if vetted by vast teams of international copyright lawyers, can only brush the surface of the issues. At best, you could end up with a list of reasons to eliminate certain licenses based on your personal goals, with the wordings chosen by the ideologies of the lawyers involved. Would this be any better than GitHub deciding internally which license(s) they want to promote, and putting these at the top of the list?
I think we should start to seriously consider simplifying our software licensing environment
This I can agree with. Having seen the amount of time wasted by open-source projects on licensing issues, copyright worries, and patent fears (and the resulting reinvention of the wheel) I think simplification is the way to go. Personally, I don't think this simplification can be achieved by piling more layers of abstraction on top of copyright and contracts.
Most books and papers seem to get along alright without licenses. I'd love to see "fair use" defined more broadly, but I don't think that adding additional licensing would be an improvement. Most electronic parts can be used as building blocks for whatever project you want without worrying whether one part will "contaminate" the others or "infect" the project. Music is licensed more frequently, but I don't think amateur musicians would benefit if they had to agree to terms of service before attending a concert.
Please tell me again why we want every project on GitHub to choose and stick to a license? And who is this "we", and what do "we" stand to gain?
Yes, the conclusion feels like a letdown. With the title of his post ("post copyright") you might think he'd have something to say about releasing code into the public domain, yet there's no mention at all of this. How is licensing your code under the copyright monopoly supposed to be "post copyright"?
The introduction at http://unlicense.org seems spot on for the topic of the blog post:
The introduction at http://unlicense.org seems spot on for the topic of the blog post:
Why use the Unlicense? Because you have more important things to do
than enriching lawyers or imposing petty restrictions on users of your
code. How often have you passed up on utilizing and contributing to a
great software library just because its open source license was not
compatible with your own preferred flavor of open source? How many
precious hours of your life have you spent deliberating how to license
your software or worrying about licensing compatibility with other
software? You will never get those hours back, but here's your chance
to start cutting your losses. Life's too short, let's get back to
coding.> you might think he'd have something to say about releasing code into the public domain
Author of the post here. I'm Austrian - the whole concept of public domain does not even exist in my legislation. I cannot legally waive copyright currently. The closest to putting code into the public domain is probably something like the WTFPL but I am perfectly fine with my stuff having a few more restrictions through the MIT/BSD to avoid license confusion.
> How is licensing your code under the copyright monopoly supposed to be "post copyright"?
It is not. However there is a certain trend ongoing that people wish the whole copyright system would be reformed and that would have more impact on Copyleft licenses than MIT/BSD.
Aside from all of that I don't want to make license decisions for other people. :-)
Author of the post here. I'm Austrian - the whole concept of public domain does not even exist in my legislation. I cannot legally waive copyright currently. The closest to putting code into the public domain is probably something like the WTFPL but I am perfectly fine with my stuff having a few more restrictions through the MIT/BSD to avoid license confusion.
> How is licensing your code under the copyright monopoly supposed to be "post copyright"?
It is not. However there is a certain trend ongoing that people wish the whole copyright system would be reformed and that would have more impact on Copyleft licenses than MIT/BSD.
Aside from all of that I don't want to make license decisions for other people. :-)
Yes, the morass of software licensing sucks. But unfortunately another side effect of that is that not choosing a license or making uninformed decisions about licensing creates situations that end up with users becoming extremely susceptible to copyright trolling. It is true though that the solution is obviously to ease up on some of the powers granted by copyrights.
situations that end up with users becoming extremely susceptible to copyright trolling
I worry the trolling is largely extra-legal, and that the actual terms of the license matter little. Currently, anyone can create an account on GitHub and without proof-of-positive-ID can apply any license to any code they choose to upload. Whether they have the right to issue this license is unknown to the user other than by direct due diligence.
Consider: I take a small function out of a piece of proprietary or GPL code, and without permission put it into a library which I publish on GitHub. You use it in your successful commercial venture. Is your legal exposure different depending on whether I chose "BSD" from the drop-down or left it unlicensed? Is my liability different? What about GitHub's?
Does there exist a software equivalent of real-estate title insurance? I like the SQLite approach to this: http://www.hwaci.com/cgi-bin/license-step1
I worry the trolling is largely extra-legal, and that the actual terms of the license matter little. Currently, anyone can create an account on GitHub and without proof-of-positive-ID can apply any license to any code they choose to upload. Whether they have the right to issue this license is unknown to the user other than by direct due diligence.
Consider: I take a small function out of a piece of proprietary or GPL code, and without permission put it into a library which I publish on GitHub. You use it in your successful commercial venture. Is your legal exposure different depending on whether I chose "BSD" from the drop-down or left it unlicensed? Is my liability different? What about GitHub's?
Does there exist a software equivalent of real-estate title insurance? I like the SQLite approach to this: http://www.hwaci.com/cgi-bin/license-step1
> Currently, anyone can create an account on GitHub and without proof-of-positive-ID can apply any license to any code they choose to upload. Whether they have the right to issue this license is unknown to the user other than by direct due diligence.
A good exemplar of this from just the other day:
http://lists.gpl-violations.org/pipermail/legal/2013-July/00...
A good exemplar of this from just the other day:
http://lists.gpl-violations.org/pipermail/legal/2013-July/00...
Yes, that is a gem. With liberty, I've submitted it hoping it will also be a conversation starter: https://news.ycombinator.com/item?id=6094223
Reading one of the linked comments, it's even more interesting because the "Samsung proprietary code" looks clearly copied from the Linux kernel: http://phoronix.com/forums/showthread.php?82576-Samsung-Acci...
Sometimes I wonder if much of the corporate fear of open source is that it would slow development and restrict code reuse, since rather than just swiping the code and releasing the driver, once it's out in the open they'd also have to have endless discussion of what is and is not a derived work.
Reading one of the linked comments, it's even more interesting because the "Samsung proprietary code" looks clearly copied from the Linux kernel: http://phoronix.com/forums/showthread.php?82576-Samsung-Acci...
Sometimes I wonder if much of the corporate fear of open source is that it would slow development and restrict code reuse, since rather than just swiping the code and releasing the driver, once it's out in the open they'd also have to have endless discussion of what is and is not a derived work.
Did anyone notice the line:
What if it will become illegal to sell consumer devices without signature checks for all software running on it.
I find it pretty weird that he's complaining that any country foolish enough to enact such a draconian law would also criminalize all gplv3 software. I personally think the gplv3 would be wonderful in this case since it would create a high cost for enacting such an evil law.
What if it will become illegal to sell consumer devices without signature checks for all software running on it.
I find it pretty weird that he's complaining that any country foolish enough to enact such a draconian law would also criminalize all gplv3 software. I personally think the gplv3 would be wonderful in this case since it would create a high cost for enacting such an evil law.
Most people are ignoring licenses, because most developers think they have won.
There is a generation of developers for whom software freedom is in the bones.
Why bother putting a license on code, or releasing code under compatible licenses -its all free and open.
This attitude may seem naive - but i see it as wondrous - any attempts to put the genie back in the box will not be met by court cases led by Lessig, but simple mass global disobedience - software is free when everyone simply thinks it is free.
There is a generation of developers for whom software freedom is in the bones.
Why bother putting a license on code, or releasing code under compatible licenses -its all free and open.
This attitude may seem naive - but i see it as wondrous - any attempts to put the genie back in the box will not be met by court cases led by Lessig, but simple mass global disobedience - software is free when everyone simply thinks it is free.
Most developers think software is free for them to use, while completely proprietary if anyone tries to use theirs.
It's not software freedom in their bones, it's self-interest running in their veins.
It's not software freedom in their bones, it's self-interest running in their veins.
Well logically that still means everyone thinks all software is free. :-)
Excellent metaphor aikido there though.
Excellent metaphor aikido there though.
I don't know the original study in detail, but given my time on github I see a ton of 'projects' which are just small scraps of test code, heck even dot files.
I can certainly see why people don't bother putting a licence on these types of 'projects'.
However on all projects I've come across which are actually something substantial there has been a licence declared, so I'm wondering if this 'lack of licencing' is a 'real' problem or if it's just the result of github becoming a convenient dumping ground/backup for tons of small snippets/settings etc which used to just sit on people's harddrives.
I can certainly see why people don't bother putting a licence on these types of 'projects'.
However on all projects I've come across which are actually something substantial there has been a licence declared, so I'm wondering if this 'lack of licencing' is a 'real' problem or if it's just the result of github becoming a convenient dumping ground/backup for tons of small snippets/settings etc which used to just sit on people's harddrives.
...unless you make money using software, in which case you can be disobedient all you want, from the cardboard box in which you live.
This is a great article.
One thing I would add to this is that nobody really knows what licenses like the GPL actually do. Jacob Kaplan-Moss published a fantastic piece called "20 questions about the GPL"[0] , and my attempts to clarify a few of them with the FSF and SFLC have so far revealed that not even two developer advocate organizations can agree on even fundamentally basic concepts about the most popular license, so isn't that a problem?
The reason that I contribute to the "projects on GitHub with no license" problem is that I cannot find a license that unambiguously does what I want, after spending many, many weekends on the problem. I could write one, or get my lawyer to, but license proliferation is grounds for expulsion from the cool kids club. Since I have no good options, I take no action.
Fundamentally, I believe we need a new license steward that isn't afraid to update regularly to address 1990s questions like dynamic linking and optional dependencies, and 2010s questions like app stores. Something like Creative Commons for code, where you have some options to choose from.
[0] http://jacobian.org/writing/gpl-questions/
One thing I would add to this is that nobody really knows what licenses like the GPL actually do. Jacob Kaplan-Moss published a fantastic piece called "20 questions about the GPL"[0] , and my attempts to clarify a few of them with the FSF and SFLC have so far revealed that not even two developer advocate organizations can agree on even fundamentally basic concepts about the most popular license, so isn't that a problem?
The reason that I contribute to the "projects on GitHub with no license" problem is that I cannot find a license that unambiguously does what I want, after spending many, many weekends on the problem. I could write one, or get my lawyer to, but license proliferation is grounds for expulsion from the cool kids club. Since I have no good options, I take no action.
Fundamentally, I believe we need a new license steward that isn't afraid to update regularly to address 1990s questions like dynamic linking and optional dependencies, and 2010s questions like app stores. Something like Creative Commons for code, where you have some options to choose from.
[0] http://jacobian.org/writing/gpl-questions/
Creative Commons for code would be CC0: http://creativecommons.org/weblog/entry/27081
The post ignores, why there are so many different FOSS licenses, the thing is people have interests and sometimes these interests are not compatible. So there is a place for MIT licenses, namely if you want as much adoption as possible, and there is a place for copy left licenses, if you want to protect the associated rights of copyleft. This is probably most visible in the “anti-tivoization” section, which concludes
[1] Some examples of these interests are: Enforcement of DRM, trying to create a 'more secure' environment, having a consistent UX, etc.
The license restrictions of the AppStore, Google's Play Store
and similar distribution systems and the GPLv3 are just not
compatible.
The reason for this is Apple, Google and others have their interests, namely controlling a platform and enforcing whichever restrictions are mandated by their interests.[1] On the other hand, the GPL[v3] tries to protect the freedom to tinker for the owner of the device, the ability not only to see the source code, but also to modify and run it. So the absence of GPLv3 licensed software on iOS is actually proof, that the license is working as intended.[1] Some examples of these interests are: Enforcement of DRM, trying to create a 'more secure' environment, having a consistent UX, etc.
"What if it will become illegal to sell consumer devices without signature checks for all software running on it."
Well that would be a tragedy. As if computing isn't moving towards closed systems fast enough. I really hope general-purpose computing devices will not become something only found in museums. Few movements in humanity's history were as revolutionary.
Well that would be a tragedy. As if computing isn't moving towards closed systems fast enough. I really hope general-purpose computing devices will not become something only found in museums. Few movements in humanity's history were as revolutionary.
Sun liked the whole concept of not being compatible with GPL...
This old chestnut again? I'm assuming this is based on Danese Cooper's comments. Well, Danese was wrong: She is speaking this way because she lost an argument
inside Sun, not because her view is representative of the
views of Sun or its staff in the way she claims. She,
along with many actual engineers, was an advocate of
using GPL or OpenSolaris but the need to release rather
than wait for one of {GPL v3, Mozilla license revision,
encumbrance removal} meant that this was not possible. I
am still furious with her for the statement she made at
DebConf, which was spiteful and an obstacle to a united
FOSS movement.
http://web.archive.org/web/20110716130648/http://www.opensol...This is a must read for anyone licensing software.
I wish there would have been a discussion of the ISC license, as I find it even clearer than the MIT/BSD licenses.
I wish there would have been a discussion of the ISC license, as I find it even clearer than the MIT/BSD licenses.
I agree about the ISC, that's why OpenBSD, the most free OS (as in you can do whatever you want with a larger percentage of it than any other OS), prefers using the ISC over the BSD license now.
The FSF's site[1] points out what looks like a serious problem with this license:
> This license does have an unfortunate wording choice: it provides recipients with "Permission to use, copy, modify, and/or distribute this software…" This is roughly the same language from the license of Pine that the University of Washington later claimed prohibited people from distributing modified versions of the software.
To me, it sounds like "modify and/or distribute" means it should be okay to both modify and then distribute the modified version. But I'm not a lawyer, and if the same language has been used to argue you can't distribute modified versions, that's pretty scary. Enough reason to prefer the slightly longer MIT license.
[1] https://www.gnu.org/licenses/license-list.html#ISC
> This license does have an unfortunate wording choice: it provides recipients with "Permission to use, copy, modify, and/or distribute this software…" This is roughly the same language from the license of Pine that the University of Washington later claimed prohibited people from distributing modified versions of the software.
To me, it sounds like "modify and/or distribute" means it should be okay to both modify and then distribute the modified version. But I'm not a lawyer, and if the same language has been used to argue you can't distribute modified versions, that's pretty scary. Enough reason to prefer the slightly longer MIT license.
[1] https://www.gnu.org/licenses/license-list.html#ISC
I was under the impression that that website is outdated. The ISC used to just say "and distribute", which is similar to older versions of the Pine license, and had problems. However, the new language is more similar to the MIT license ("and/or ..."), but the FSF does not have an issue with the MIT license.
https://en.wikipedia.org/wiki/ISC_license https://www.washington.edu/pine/faq/legal.html https://www.gnu.org/licenses/license-list.html#X11License
https://en.wikipedia.org/wiki/ISC_license https://www.washington.edu/pine/faq/legal.html https://www.gnu.org/licenses/license-list.html#X11License
The FSF quotes the new version with "and/or" in the blurb claiming problems with wording, but that may just be an editing mistake; maybe someone went through and corrected the quotation without realizing it resolved the concern.
Either way, though, the OpenBSD folks didn't change "and" to "and/or" in their template, which ranks high for a search for "ISC license". Someone could easily copy the older, problematic version. Given the MIT license works fine, why take even a small risk?
Either way, though, the OpenBSD folks didn't change "and" to "and/or" in their template, which ranks high for a search for "ISC license". Someone could easily copy the older, problematic version. Given the MIT license works fine, why take even a small risk?
> To me, it sounds like "modify and/or distribute" means it should be okay to both modify and then distribute the modified version.
In fact, and/or is exactly the way to specify that options can either be used together or separately. The FSF's claimed problem, you'll note, isn't that this language was ever held to restrict distributing modified versions, only that similar language was once argued by a party with a financial interest in the outcome to have that effect.
Which is a pretty flimsy basis to assert a problem. I'm sure you can find passages in the GPL that are "roughly the same" language to something that someone, somewhere, argued in a court case meant something that would be frightening if it was what the similar language in the GPL passage was actually treated as meaning under the law, but the fact that someone once argued that a similar piece of the language means something doesn't mean that the language that they argued about (and even less, the actual license language that it is "roughly the same as") has ever been or would ever be given that effect in court.
In fact, and/or is exactly the way to specify that options can either be used together or separately. The FSF's claimed problem, you'll note, isn't that this language was ever held to restrict distributing modified versions, only that similar language was once argued by a party with a financial interest in the outcome to have that effect.
Which is a pretty flimsy basis to assert a problem. I'm sure you can find passages in the GPL that are "roughly the same" language to something that someone, somewhere, argued in a court case meant something that would be frightening if it was what the similar language in the GPL passage was actually treated as meaning under the law, but the fact that someone once argued that a similar piece of the language means something doesn't mean that the language that they argued about (and even less, the actual license language that it is "roughly the same as") has ever been or would ever be given that effect in court.
Ultimately I care more about avoiding the increased risk of the ISC license than about saving a few lines. It would be silly if trying to make my license statement a few insignificant lines shorter prevented someone from using my open-source code.
My point was that the argument that there is increased risk is based on a flimsy premise which could equally well be applied to just about anything; there's very few pieces of commonly used legal language where someone, somewhere hasn't at one time or another argued that something phrased in "roughly the same" manner means something that you'd want to avoid.
And my point is that even going through this legal reasoning is more work than just saying, "Fuck it, I'll use the MIT license."
Very informative - here is a license comparison tool I've found useful:
http://www.tldrlegal.com/compare
http://www.tldrlegal.com/compare
An interesting thing, to me, about the GPL is that it's possible for companies to use it as an anti-competitive weapon against each other. A company who owns or has been assigned the copyright to an entire codebase is able to hold the exclusive right to profit from hidden modifications of it. Oracle is in this position right now with mysql, for example. GNU itself, were it so inclined (though it obviously isn't), would be as well.
This becomes even more significant when talking about the AGPL and its limitations on using it as a service. 10gen is the only company that could run a proprietary uber-version of MongoDB, and that right persists effectively forever.
When it comes to more open licenses like BSD no one holds this as an exclusive right.
This becomes even more significant when talking about the AGPL and its limitations on using it as a service. 10gen is the only company that could run a proprietary uber-version of MongoDB, and that right persists effectively forever.
When it comes to more open licenses like BSD no one holds this as an exclusive right.
Arguably that problem is worse with permissively licensed software. In that case you don't just have the original copyright holder peddling a proprietary uber-version, you have every company and his dog doing it and every version is expensive and/or incompatible with each other.
I don't see how it can be considered worse. I could see even, but not worse. Does it matter if it's one or ten organizations that are taking advantage of the ability to make proprietary software out of open source code? At least with ten there might actually be competition.
But realistically, it's not like permissive licenses are a new thing and this apocalypse doesn't seem to be a very common occurrence in practice.
But realistically, it's not like permissive licenses are a new thing and this apocalypse doesn't seem to be a very common occurrence in practice.
I think if the FSF could get away with a clause akin to "once licensed under the GPL, this software can not be licensed under any other license for distribution, and it's license can not be changed by the copyright holder".
But that wouldn't fly. Ever. At the end of the day, the copyright holder still gets to change their license whenever they want, and the license itself can't deny that, because it would never hold up in court.
But that wouldn't fly. Ever. At the end of the day, the copyright holder still gets to change their license whenever they want, and the license itself can't deny that, because it would never hold up in court.
It wouldn't fly, because to the copyright holder, the license simply doesn't apply. At all. You only need a license if you're restricted by copyright law from doing what you're doing, but copyright law doesn't restrict the holder themselves.
Great article. My favorite example of these Talmudic complexities is opensim (opensimulator.org), an MIT-licensed Second Life-compatible server that has a twisted, Black Widow-like relationship with Linden's GPL-licensed client code. Before 2011, there was a nutty "6 month cool-off period" before any SL client contributor could contribute to Opensim: http://justincc.org/blog/2011/06/30/announcing-the-overte-fo...
This is why I use the WTFPL (DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE) http://www.wtfpl.net/txt/copying/
I'm pretty sure suing you if it causes damage counts as "what the f--k they want to."
Can you post a list of all lawsuits filed against WTFPL licensed software?
Yes: []
But that's only because it hasn't been used for anything worth suing over.
But that's only because it hasn't been used for anything worth suing over.
Are you aware that disclaimers of liability are not considered valid contract terms in most scenarios and legal jurisdictions in western countries where software is likely to be used?
Do you believe that you can disclaim liability for negligence such as carelessness or a failure to thoroughly test? How about for intentional malicious acts? Courts in the US and commonwealth nations at least don't allow such disclaimers. What about other sorts of liability? Do you know the differences between direct, consequential, special, incidental and indirect damages?
The reality is that in enough jurisdictions to matter, authors can be held legally liable for bad code they create no matter whether they have a liability clause as a condition of licensing or not. Forming an LLC or corporation won't shield them either if someone wants to sue. The only protection in these cases is maintaining E&O insurance.
If I use GPL, BSD, or any other licensed code that disclaims liability, and the code is flawed because the author was negligent, I can sue the author for damages and I can win. The disclaimer does absolutely nothing.
What purpose then is there in cluttering up licenses with useless clauses?
Do you believe that you can disclaim liability for negligence such as carelessness or a failure to thoroughly test? How about for intentional malicious acts? Courts in the US and commonwealth nations at least don't allow such disclaimers. What about other sorts of liability? Do you know the differences between direct, consequential, special, incidental and indirect damages?
The reality is that in enough jurisdictions to matter, authors can be held legally liable for bad code they create no matter whether they have a liability clause as a condition of licensing or not. Forming an LLC or corporation won't shield them either if someone wants to sue. The only protection in these cases is maintaining E&O insurance.
If I use GPL, BSD, or any other licensed code that disclaims liability, and the code is flawed because the author was negligent, I can sue the author for damages and I can win. The disclaimer does absolutely nothing.
What purpose then is there in cluttering up licenses with useless clauses?
I use the WTFPL too since it is the most free license and easiest license to understand. It also deals with the non-issue - but common complaint - that "public domain" does not exist in some backwoods third world jurisdictions.
I also use the zlib license which is very similar to WTFPL. It has restrictions against misrepresentation of origin, which in practice only affects plagiarists, so isn't a substantial limitation. An advantage of the zlib license over the WTFPL is that it can be used in "professional corporate" environments where suits have a hissy fit if they see the letters "WTF" in a license, saying that any use of that term is in some way immoral, while conveniently ignoring the fact that they personally are secretly cheating on their spouse, engaging in insider trading, embezzling, looking at donkey porn, and drowning kittens in their spare time at their palatial estate.
http://www.gzip.org/zlib/zlib_license.html
These two licenses are the ones that preserve actual freedom, unlike certain others that propaganda artists often apply the word "freedom" to, using a definition that exists only in their own imagination and is not consistent with the commonly accepted understanding of the word. These licenses are also comprehensible and far less ambiguous than certain other licenses as well. The zlib and WTFPL licenses are good and useful licenses that are worth consideration by any developers looking to license their code in a way that maintains as much freedom as possible.
I also use the zlib license which is very similar to WTFPL. It has restrictions against misrepresentation of origin, which in practice only affects plagiarists, so isn't a substantial limitation. An advantage of the zlib license over the WTFPL is that it can be used in "professional corporate" environments where suits have a hissy fit if they see the letters "WTF" in a license, saying that any use of that term is in some way immoral, while conveniently ignoring the fact that they personally are secretly cheating on their spouse, engaging in insider trading, embezzling, looking at donkey porn, and drowning kittens in their spare time at their palatial estate.
http://www.gzip.org/zlib/zlib_license.html
These two licenses are the ones that preserve actual freedom, unlike certain others that propaganda artists often apply the word "freedom" to, using a definition that exists only in their own imagination and is not consistent with the commonly accepted understanding of the word. These licenses are also comprehensible and far less ambiguous than certain other licenses as well. The zlib and WTFPL licenses are good and useful licenses that are worth consideration by any developers looking to license their code in a way that maintains as much freedom as possible.
My try of a licence wizard: http://beza1e1.tuxen.de/licences/
This is awesome.
great post.
So the goal of the various restrictions imposed by the GPL (in either of the main versions) is to increase freedom. We can usefully have a debate about how well they achieve that goal, and whether the increase in freedom is worth what has to be spent in order to achieve it. But if we do that, let's do it from a position of first having understood why the GPL says the things it does.
I saw this summed up an admirably concise way some years ago, but stupidly forgot to note whose soundbite this is: "Saying that the GPL is less free because it forbids proprietary derivatives is like saying the USA is less free because it forbids slavery". Yes, of course it's hyperbole to hold up freedom of software alongside the freedom of people; but this quote shows by example that more freedom doesn't always get achieved by less regulation but by more.