> 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 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."
> 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.
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.
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.
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.
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.
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.
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.
If you guarantee that your binary has source, it has source. Guaranteed.
If users only want binaries that guarantee they have source, they can insist on only downloading/acquiring binaries from people that guarantee they provide source.
If you as a developer want to ensure that users of your code or modifications thereof will have access to that source code (end user which often includes the original developer himself) permissive licences does NOT _guarantee_ that.
Only way to guarantee that is to make it a condition for using the code in question, which is exactly what GPL does.
Do we really need to continue this dance of yours?
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.)
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.
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 -- 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.
> 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.
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.
Plugins are where it gets weird. Technically there should not be proprietary plugins at all with the GPL, but it might depend on the interface or manner of linking (eg, would a HTTP-based "plugin" API be considered a derivative work?). For some cases, licensing the original software under LGPL may be sufficient to support proprietary plugins.
Ultimately it's a judgement call by the original author and what use-cases or freedoms he/she wishes to support. Hopefully they've thought that far ahead, though. It's not an easy question for the majority of the population that doesn't quite lean as far as RMS does.
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?
It's simplistic reasoning to ignore the social effects. For example, non-copyleft free software is extremely vulnerable to the EEE strategy, since any proprietary vendor can take the code and re-release it with extra or changed features under a proprietary license, which might almost extinguish the original software for lack of interest, forcing the user to have to choose between the Free version or the "upgrade", which is actually compatible with everyone else's.
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.
What happened to the person choosing to not use the software? Suddenly when it's the poor proprietary developer, he's being controlled by the bad copyright holders?
And how is the GPL intellectually dishonest? Replacing proprietary software by giving free software developers an advantage is an explicit goal of the GNU project. How is it dishonest?
In any case, you're fighting the wrong windmill. It's not the GPL that gives anyone such power, it's copyright. It's that government-granted monopoly that allows control over other people's means of production. The solution to your problem is simple: fight for its elimination.
> And how is the GPL intellectually dishonest? Replacing proprietary software by giving free software developers an advantage is an explicit goal of the GNU project. How is it dishonest?
The usual explanation is "four freedoms" and giving users freedom.
Leveraging network effects to create a communist shared ownership of the means of production is the honest explanation of the GPL, and that has nothing to do with 'freedom', and everything to do with network-enforced Marxist ideals.
> * It's that government-granted monopoly that allows control over other people's means of production. The solution to your problem is simple: fight for its elimination.*
I have no problem with copyright, and I don't want to forcibly eliminate the GPL. I'd be happy for it to die an honest death after careful and rational consideration by the industry.
The usual explanation is "four freedoms" and giving users freedom.
No, that's what all Free Software does. The GPL is an hack to extend them as widely as possible, by giving Free Software an advantage over proprietary code.
Leveraging network effects to create a communist shared ownership of the means of production is the honest explanation of the GPL, and that has nothing to do with 'freedom', and everything to do with network-enforced Marxist ideals.
There's no ownership here, only State granted monopolies. Property is an institution for allocating scarce resources; copyright is a government granted privilege designed to "promote Progress". The GPL is a way of defusing the crony system that takes away people's control of their own property - their machines. You're seeing Marxism where it doesn't exist.
On a related note, it's interesting to think that the USSR eliminated private property, yet they established and kept copyright - with fairly extensive terms, in fact.
I have no problem with copyright
"It is difficult to get a man to understand something, when his salary depends upon his not understanding it!" ;)
(By the way, I'm honestly sorry you're being downvoted. I find the attitudes of these cowards who downvoted based on disagreement rather disgusting.)
I downvoted him this time. Not only because I disagree, but also because espousing misinformation of that sort is genuinely damaging -- it's downright wrong, and calling something communistic carries a lot of negative connotations (whether justified or not).
But the worst part is, that argument sounds plausible at first glance. The marginal cost of data distribution is near-zero, and we've hit information post-scarcity. Reconciling that with traditional economic models is awkward. RMS/GNU already carry enough baggage, and without understanding their motivations, it's very easy to attach incorrect labels to them and their goals. You've been very eloquent in describing those, so thanks.
Well, then I think you should've replied and wrote that when downvoting.
Personally, I don't think downvoting is the appropriate response. Particularly, I don't think it would have the desired effect, since someone who might be affected by the supposed misinformation is unable to understand the reason behind the downvote, so they might make the same assumption that I did.
"[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 Government
The 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.
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.
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?
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.
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.
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.
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.
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...
That page basically says exactly what I did: There is a work around, they could create an alternate plugin interface specifically for this purpose. However they don't want to because it's "ugly." So after reading that I would say the blame falls completely on the LibreCAD developers. Something perceived as being "ugly" is not a valid reason for the FSF to compromise its political goals. The FSF re-licensing software they own the copyrights to is not an option. They're a political organization and they drafted the GPLv3 for urgent political reasons, for them not to use it would be hypocrisy.
As for replacing the copyright system, let's save that discussion for a different thread where it is more relevant.
If you had looked further into the subject, you would know that the LibreCAD developers attitude of 'it's ugly' includes 'it breaks a lot of stuff'.
They can't justify the workload of adding a module that would otherwise not exist because of licensing issues.
And the FSF is supposed to be a champion of, well, free software, and I find it highly hypocritical of them to leave a project out to dry like this, especially if LibreDWG was released a few years before and released under the GPLv2.
I read the article you linked and nowhere does it say that things will break. I know it's convenient for you to attack the FSF but the real problem is that RibbonSoft is a proprietary company that is more interested in dual licensing and refuses to accept the GPLv3.
Yes, I agree, it is ridiculous. That's what happens when you have to deal with software licensing. The whole point of licenses is to be incompatible, if all licenses were compatible then we would only have one license.
I didn't come up with this system, if you must blame something, blame copyright. If you think it's bad this way, it's even worse when the two licenses in question are proprietary; often times in that situation you won't even have the option of a rewrite or a workaround. The nature of copyright is that not even free software licenses can give you the legal ability to do everything you could possibly think of doing, but they give you enough to ensure that every user is granted the four freedoms as long as the copyright holds. The FSF's position is that it would be more meaningful for the community to convince RibbonSoft to re-license as GPLv3 than it would be to have the short term gain of having DWG support available sooner.
I should lay out the options for you, so you can understand them.
LibreCAD is GPLv2 only, it has code from Ribbonsoft and also from independent contributors.
In order for them to transition to GPLv3, the following must occur:
- Ribbonsoft has to clear the code release with their legal department again to see if any contracts prevented parts of the code being released with such a license, then to approach the contractors who contributed to the program and get their input, then they have to go through and see if any patent licenses they have for their code would prevent such a transition. This equates to a lot of money that Ribbonsoft may not want to dish out again.
- Any contributors to LibreCAD who used GPLv2 only licenses or didn't assign copyright to the team would have to be contacted and their permission would have to be obtained for a change.
- Any other GPLv2 only code would have to be stripped out in order to obtain compatibility with GPLv3
On the other hand, the FSF holds all the copyrights to the LibreDWG codebase. It would cost them nothing to change the license to GPLv2, nor would it waste any time with reimplementation of code already out there.
The answer is so simple that I'm finding it difficult to believe that you still can't see it.
>The answer is so simple that I'm finding it difficult to believe that you still can't see it.
That the FSF should compromise its entire purpose so Ribbonsoft can save money and avoid duplicating code? I don't think anybody donates to the FSF in order that Ribbonsoft can maintain their business model.
It's not its entire purpose, the GPLv2 is still a valid GNU license, it's still copyleft and this sort of behaviour from them isn't helping the community at all, nor is it helping free software. It's pragmatic and idiotic.
A lax permissive license could potentially lead to a whole host of other problems including licensing problems. These licenses are not free from incompatibilities either, see the infamous BSD advertising clause for an example of that. And a permissive license certainly would not guarantee the project stay "unencumbered" either. The most adequate solution to this would be to either work on persuading RibbonSoft to relicense under GPLv3, or to just do a workaround. Attacking the GPL serves no purpose, even if you disputed the choice of license it would make more sense to criticize RibbonSoft than it would to criticize the FSF just for writing the GPL.
The BSD advertising clause has been dead for years, and it was primarily incompatible with ... the GPL.
The GPL is incompatible with licenses that impose more restrictions than it does, even if those restrictions are fairly limited, like the advertising clause.
I can't say I've ever heard of license incompatibility stupidity outside of the GPL. Lots of GPL problems, though: OpenSSL, dtrace, ZFS. Apple actually dropped GCC and invested in producing the liberally licensed clang BECAUSE of the GPLv3.
It's a bit strange that you blame then GPL when it is just as much the authors of the incompatible licenses' fault, especially when in some cases it's completely their fault because the authors of those licenses deliberately wrote them with the intent of being incompatible with the GPL. Additionally I find it strange that you fault the values of the GPLv3 for Apple ditching gcc, rather than faulting Apple for being an abusive proprietary company that has problems with the values that the GPLv3 imposes. As if the FSF should be working to please Apple?
No, if you'll re-read my post you'll see how I described that even if you view this issue in a vacuum, the other parties are still at fault as well. Apple especially does not want you to "get along," and especially not if you're releasing something on their app store. Now please stop this blind hatred and FUD spreading, it's not constructive.
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.
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.
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 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.
>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.
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.
No my entire argument depends on the FACT that GPL preserves end user rights which end users are not entitled to with permissive code and are not given with proprietary code. All your attempts to evade this point shows that you have no interest in any honest conversation.
This is not about end user choice, this is about end user rights. With GPL licenced code end users have the _right_ to the source code which created the _actual_ binary they recieve. They don't have to demand the source code, but it is their right, they don't have to examine, modify, run a resulting binary of their own, but it is their right.
These rights are NOT preserved with permissive licencing, and they are NOT granted by proprietary code.
You try to muddy the waters by saying that 'users' don't have to use proprietary code unless they want to, but again developers doesn't have to use GPL licenced code so that doesn't have anything to do with this at all.
Whenever you want to use someone else's code you are subject to their conditions, you sure see nothing wrong with setting conditions for using proprietary code (users can always say no), so by what logic do you think developers should not be allowed to set GPL conditions for their code?
Your communist rant makes you sound like some crazy right-wing extremist, you want to have the right to use other people's code in your proprietary projects, but the notion of other developers instead wanting access to code used in conjunction with theirs in return somehow strikes you as some oppressive communist scheme??? Seriously???
You seem to think open source developers somehow owe you code to use in a proprietary fashion, and if they don't provide it under such conditions they are 'communists who wants to control other people's code'. I can't quite understand people like you.
That's because you've pretty substantially misinterpreted what I said.
I don't think "developers somehow owe you code to use in a proprietary fashion" -- developers are free to place any licensing restrictions they want on their work.
What I do think is that the GPL is paternalistic, communistic, and intellectually dishonest.
Here's why:
- Once open sourced, your code stays open sourced forever. There's no way to "un-opensource" code, and users can make use of it, forever.
- If users want the source code to the tools they use, they are absolutely free to only use binaries from people that provide the source code. If they don't want the code, they don't have to.
Ergo, users already have the "rights" and/or "freedoms" you're pretending to gift to them. QED.
What the GPL actually does is create a quid-pro-quo communist common ownership of the means of production (code) between developers. This has nothing to do with "rights" of end-users, and everything to do with restricting the rights of developers should they choose to participate in the GPL ecosystem.
There's nothing wrong with that system (other than it being unworkable and viral and restrictive, but there's no law against being obtuse), but it is intellectually dishonest to claim some sort of moral or ethical high ground.
The GPL is a simple mechanism to restrict what other people do with the code they write in exchange for using your code, not about "four freedoms" or "user rights". The parallel's to Marxist Philosophy ought to be pretty obvious in the aptly titled "Why Software Should Not Have Owners" essay from RMS: http://www.gnu.org/philosophy/why-free.html
>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.
No, this makes no sense. The only people who want to "control code" are proprietary companies. Copyleft and the GPL is a rejection of this, the main goal of it is to ensure that all users have equal control over the software. I don't know know how you draw the conclusion that the GPL only benefits the author, as the author loses most if not all of the (unjust) powers granted by copyright by publishing under the GPL.
> The only people who want to "control code" are proprietary companies. Copyleft and the GPL is a rejection of this ...
So copyleft/GPL licensing isn't an attempt to 'control' code? Despite the fact that this is exactly what they do?
> ... the main goal of it is to ensure that all users have equal control over the software.
The users already have the choice to use open-source software vs. proprietary software. If they want to have "equal control" over the software, all they have to do is make the choice to only use open-source software.
> I don't know know how you draw the conclusion that the GPL only benefits the author, as the author loses most if not all of the (unjust) powers granted by copyright by publishing under the GPL.
The author enters into a quid-pro-quo arrangement by which they get access to other people's code under terms equal to their own, and they're free to relicense their own code for whatever commercial use they want. It's an attempt to create a communistic shared ownership of code.
Copyright is what allows people to "control code." Copyleft is necessary to in essence "reverse the effects" of copyright. So yes it does technically leverage the control copyright provides, but this is necessary as everything is copyrighted by default. The author being able to re-license code he owns the copyrights to is an unfortunate side effect of copyright, but there is little that copyleft can do about that, it could happen regardless of the license chosen. A possible solution would be to transfer copyright to a group or person you know will never license anything under a proprietary license, such as the FSF.
Please refrain from using non-sequiturs like "communistic" to describe things. Copyleft does not deny anyone the ability to exercise any freedom including selling the software. The idea of copyright, and the idea that software should have "owners" are non-capitalistic ideas to begin with, so if anything the proprietary software companies are practicing authoritarianism.
It's hardly a non-sequitor; the parallels with Marxist thought on common ownership of the means of production are rather undeniable.
Like communism did to economies, the GPL has done our industry immeasurable harm by attempting to enforce sharing, creating closed ecosystems where the cost of market entry was so high that other's had no choice but to participate -- such as was the case with GCC, until the GPLv3 gave Apple sufficient cause to make a massive investment in breaking the GPL's shackles on the compiler/runtime tools software market.
>the GPL has done our industry immeasurable harm by attempting to enforce sharing, creating closed ecosystems
Your 'logic' is ridicoulus, GPL is no more 'enforcing' sharing than proprietary software is 'enforcing' non-sharing.
And proprietary code is the epitome of a 'closed ecosystem' as it by definition doesn't share it's source code. Meanwhile GPL code is freely shared amongst compatible licenced code.
Overall your entire line of thought is clearly that developers should not be allowed to share open source unless they allow it to be used in proprietary code, because if they don't they cause 'immeasurable harm' to the software industry.
If anything it's your kind of person who has done 'immeasurable harm' to the software industry, leeches looking for a quick buck, who thinks it's unfair if they have to compete against open source if they can't take that open source and modify and sell it. Which in the end is all that your arguments boils down to, you want the right to use someone else's code without having to return the favour, if you can't then you cry foul.
Whenever I come across someone like you I'm really glad the GPL exists as an alternative.
> Your 'logic' is ridicoulus, GPL is no more 'enforcing' sharing than proprietary software is 'enforcing' non-sharing.
You call my logic ridiculous, and then you reiterate my entire point. The GPL is enforcing sharing in the same way proprietary software is enforcing non-sharing.
Whereas the MIT and BSD licenses provide just as many freedoms as the GPL, without enforcing anything. They are, defacto, more free, both for end users and end developers. End users are free to only use open-source products, if they so desire, and developers are free to use liberally licensed open source however they wish to, too.
> Overall your entire line of thought is clearly that developers should not be allowed to share open source unless they allow it to be used in proprietary code, because if they don't they cause 'immeasurable harm' to the software industry.
This is a strawman argument that has no basis in what I actually said.
I think people should be allowed to use the GPL, just like I think people should be allowed to advocate communism. I also think that we should do our best to demonstrate the fallaciousness of their arguments, because they have the capacity to cause significant harm to our industry.
> Whenever I come across someone like you I'm really glad the GPL exists as an alternative.
And whenever I come across someone like you, it is made apparent that the GPL is more of a religion and an a political statement, rather than a reasoned decision made from an understanding of the economic and human realities of industry and our society.
>You call my logic ridiculous, and then you reiterate my entire point.
No, the 'point' you've been trying to push during this entire conversation is that proprietary software gives the end user the 'freedom' to choose not to use it, but somehow you claim that developers don't have that same 'freedom' when it comes to not using GPL licenced code, which of course is a big lie.
>Whereas the MIT and BSD licenses provide just as many freedoms as the GPL, without enforcing anything.
Stop trying to muddy the water with the meaning of the word 'freedom', we've already established that GPL is about rights, these rights are not provided by permissive licences at all. Again, GPL licenced code assures that the source code will be made available to end users, permissive licences assures nothing of the sort.
>because they have the capacity to cause significant harm to our industry.
How can they cause 'significant harm' to our industry? Furthermore how has GPL caused the 'industry immeasurable harm' which you claim it has?
>And whenever I come across someone like you, it is made apparent that the GPL is more of a religion and an a political statement
Yes the good old communist/religious/political card which always gets thrown by GPL haters when their arguments fall to pieces.
And you're not even close, I've spent my entire professional career writing software which know in the vast majority of cases has ended up being proprietary. I have no problem whatsoever with charging for software, and unlike Stallman I see nothing unethical about proprietary software.
My viewpoint is that of a developers right to set any conditions they want for THEIR code, which includes permissive, proprietary or copyleft. If I as a developer want to release my code under a licence which makes sure that any recipients of programs using MY code will also have the source code to those programs available, then that is my right (under the legal system we have now).
It doesn't matter if my motivation is that of wanting the source code of any enhancements made to my code (most likely motivation from a developer perspective), or if my motivation is political/philosophical (FSF), I still have just as much right as any other developer to set the conditions for using my code.
And neither of these motivations are in any way inferior to your motivation of wanting to make money.
> No, the 'point' you've been trying to push during this entire conversation is that proprietary software gives the end user the 'freedom' to choose not to use it, but somehow you claim that developers don't have that same 'freedom' when it comes to not using GPL licenced code, which of course is a big lie.
No, that's not what I've said at all.
> Stop trying to muddy the water with the meaning of the word 'freedom', we've already established that GPL is about rights, these rights are not provided by permissive licences at all. Again, GPL licenced code assures that the source code will be made available to end users, permissive licences assures nothing of the sort.
The permissive licenses DO provide those rights, if the users choose not to use proprietary software. If they want to use software for which the code isn't provided, they can do that too. Either way, you've given them nothing they didn't already have.
> How can they cause 'significant harm' to our industry? Furthermore how has GPL caused the 'industry immeasurable harm' which you claim it has?
The network effects of GCC/GDB being 1) very expensive to reproduce, and 2) easier to contribute to then replace, and 3) GPL'd, held back the advancement of everything from developer tools (IDEs, static analyzers, debuggers, disassemblers) to JIT implementations for 20+ years.
> Yes the good old communist/religious/political card which always gets thrown by GPL haters when their arguments fall to pieces.
If this essay was any more Marxist, it would be carrying a red flag and speaking Russian.
> And neither of these motivations are in any way inferior to your motivation of wanting to make money.
They're inferior because they're promoted based on intellectual dishonesty and false premises:
- Claiming that you're "granting freedoms", despite the fact that people already have them.
- Employing economic network effects by which the intention -- and end result, should the GPL succeed -- would make it not economically feasible for people to make a choice as to whether they wish to engage in your communal ownership of the means of production.
Fortunately, enough people have seen the logical holes in the GPL's premise that that the attempt to assume control over individuals' use of software, through economic clout of network effects, has not succeeded, despite setbacks such as GCC.
>Either way, you've given them nothing they didn't already have.
Of course you do, if you licence your code under GPL you ensure that all end users of programs using your code will be given the source code to those programs aswell.
>The network effects of GCC/GDB being 1) very expensive to reproduce, and 2) easier to contribute to then replace, and 3) GPL'd, held back the advancement...
More nonsense from you, nothing prevented anyone from forking GCC and 'advancing' it, in fact that's exactly what happened, and later that fork became the main project.
This is the exact opposite had GCC/GDB been proprietary, no one could fork it.
And GCC certainly hasn't prevented any proprietary competition either, instead it's existance has made sure that the proprietary competition have had to give better value to consumers as there has been a free alternative, which has certainly helped advance compiler development in general.
>If this essay was any more Marxist, it would be carrying a red flag and speaking Russian.
GPL is a software licence, not a political manifesto. Are you saying GPL became the most widely used licence in the world because all developers who chose to licence their original code as GPL did so because they were politically motivated? Hardly, I'd say the vast majority chose GPL because of it's tit for tat mechanism which ensured them access to modifications of their code.
The largest and most successful cooperatively developed software project in the world: Linux, had GPL chosen as it's licence by it's creator for exactly this purpose, not for political reasons.
And as it's a licence GPL has no impact at all unless a developer _chooses_ to licence their code as such and another developer _chooses_ to use it.
>Claiming that you're "granting freedoms", despite the fact that people already have them.
I've already said that I don't agree with the word 'freedoms', again it is 'rights' which is what they should have been called as it is rights which is passed along to the end user. And no, these rights are not something end users are entitled to with permissive licences, they don't have the right to get the source code with binaries which uses permissively licenced code. You can stop this bs now.
>Employing economic network effects by which the intention -- and end result, should the GPL succeed...
GPL is already a success, it's a viable licence choice, used in a ton of software.
Permissive licences are also successes, it doesn't matter if GPL is used more, permissive licences fill a need and are therefore widely used aswell.
Also these licence types (copyleft, permissive) are typically used for different type of software, copyleft is usually the choice for full solutions/applications, while permissive licences are typically used for component/framework code. As such reflecting how they satisfy different needs amongst developers.
And there will always be a place for proprietary software aswell as long as they produce value for users which makes it worth the 'cost' (typically monetary). And if you can't compete with something someone gives away for free, then you really should be doing something else.
The 'industry' doesn't owe your proprietary projects open source code or protection from competition of free alternatives.
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.
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.
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.
>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.
> Nonsense, by that logic your proprietary software is taking away users 'right' to use your proprietary software in an open source context.
Indeed, it is. The difference is that we're not intellectually dishonest about it, and don't try to dress up the mutual exchange of value (user's money for our code) in some sort of ridiculous redefinition of "freedom", and we certainly don't claim to be "more free" than liberally licensed open-source software.
>and don't try to dress up the mutual exchange of value (user's money for our code) in some sort of ridiculous redefinition of "freedom"
Bullshit, this is what you've been trying to do during this entire discussion. You claim over and over again that the the user has the 'freedom' not to use proprietary software.
But when that same 'freedom' is directed at developers who has the same 'freedom' not to use GPL licenced code, then suddenly you say their 'rights' are being taken away.
According to you proprietary developers are somehow robbed of a 'right' when they can't use GPL licenced code, which is nonsense as the only right they have to use ANY code is by the conditions set by the code owner, be it conditions of a licence or conditions of monetary compensation.
Your hypocrisy shines through your entire line of poorly constructed arguments.
You dislike GPL because you as a proprietary developer can't use that code, which for some reason you think you have a 'right' to.
> You dislike GPL because you as a proprietary developer can't use that code, which for some reason you think you have a 'right' to.
You're being obtuse; I've never said what you claim. What I've said, repeatedly, is that the the GPL grants fewer freedoms than liberal licenses such as the MIT license or the BSD license; it doesn't "protect" or "grant" any "freedoms" that the MIT and BSD licenses don't already provide themselves.
What the GPL does do is restrict usage to enforce a quid-pro-quo relationship on its users, with the political goal of leveraging network effects to push a Marxist ideology of dismantling private ownership in favor of shared ownership of the means of production.
If the goal was 'freedom', then it would be enough to provide users with free access to your code; nobody can deny them that free access once it's provided. The goal isn't freedom, however, and painting it as such is both intellectually shallow and dishonest.
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.
> 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.
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.