Why companies don't do GPL enforcement
lwn.net
lwn.net
Summary: Open Source lives and dies by community and engagement. Lawsuits make people disengage. Better to spend your resources working with people to get them to come around gently.
That's GPL enforcement.
This is mostly how FSF, SFLC et al do it and they win battles. Recently they're actually waging a legal one against VMWare but I don't see the company deterred from contributing as much as they did before. Would be nice if they contributed more.
I don't think we should care about proprietary makers' feelings here. What hurts free software more is FUD and villification of copyleft.
What's the point of open sourcing something if it can't be used in a proprietary product? At least release it under a license so that it can be used + allow the users to contribute their changes back to the original codebase.
Plenty of companies will do this, but only if they can actually use it in their app or software. GPL code is, unless it's run in a self contained process, for all intents and purposes useless.
The honest answer is that people releasing software under the GPL don't want you using their code in your proprietary whatever. They explicitly said they don't want you to do that.
How is that different than you releasing your proprietary whatever, and conditioning use on paying you money and agreeing not to share it? If you get to set the terms of use of your code, so do other people.
> What's the point of open sourcing something if it can't be used in a proprietary product?
Obviously, the point is to share it with people who want to do something other than use it in a proprietary product.
Complaining about free gifts generally doesn't end very well. Don't like the terms? Pretend it is Oracle or Microsoft crown-jewel code. You can't do what you want with that, either.
One component != an entire product. That's like saying you invent an open source car engine licensed under GPL. And now you can't use it in any car, because you can't build an entire car on your own, and even if you could, you'd have to give the entire car design away for free.
I don't mind giving back any improvements I make to a library (and I've done so several times in the past), but I honestly don't see the point in releasing anything under GPL. That's like saying, you know what guys, I love the fact that no one is ever going to bother using this for something great. The only use case the GPL works in, if it's an entire product on its own, i.e. MySQL, etc.
Closed source doesn't always mean evil. Open source doesn't always mean good.
If you have such a noble use of the code, feel free to ask the authors to be charitable and license it to you under different terms.
"better"… That's sorta like saying that when some community gets together and builds a public park that when a wealthy company comes around and builds a fancy exclusive country club that the terms of the country club are better, and if only the folks had just let the country club folks build their exclusive clubhouse in the middle of the original park, that would be better because it doesn't cause them to have to go buy and prepare a different plot of land.
Better - companies are choosing to replicate, not stamping out kiddie parks. If you're going to end up with an MIT license, why not start there and avoid all the waste?
I could take your argument and use it the same way vs proprietary software - why even bother writing it, if some of it is going to end up being remade(or even just relicensed!) under an MIT license?
In both cases, the developer extracted some value from the licensing.
You gave as an example Blink vs Webkit and agreed to LLVM and GCC. In Blink's case, Google[0] argued:
> The main reason is that Chromium uses a different multi-process architecture from other WebKit-based browsers. So, over the years, supporting multiple architectures has led to increasing complexity for both the WebKit and Chromium communities, slowing down the collective pace of innovation.
In LLVM's case, I don't have a source available, but early in its development I recall arguments that it was easier to rearchitecture a new, modern compiler, rather than tweaking GCC, which carried a lot of baggage. This is quite common in open source, especially in web dev, where "screw it, I'll just rewrite this library better" happens constantly, even with MIT licensing.
The "enormous waste" you're describing is thus not universal, but waste from your point of view. Tactically, do you feel a good way to convince people to stop GPL-ing their software is to dismiss their goals as "waste" and demand they submit "to the greater good", at least, your interpretation of it?
[0] - http://www.chromium.org/blink/developer-faq#TOC-Why-is-Chrom...
That case really was a licensing issue. GCC's architecture was deliberately compromised for licensing reasons.
A user isn't required to accept GNU GPL license terms to simply use it. The user should be allowed to install a software released under the terms of GNU GPL even if the user refuses to accept the license terms.
GNU GPL cares the modification and (re)distribution of the software. Not its mere use.
Edit: Remove the previous edit. (If you are never releasing/distributing the combined work into public, it is Okay to link your code with an [AL]GPL code and use as you wish).
Take GCC. The fact that GCC was GPL'd made Objective-C open source.
One can arguably say that Linux's GPL base is what makes custom ROMs (and all the cool stuff they brought to stock android) possible.
On the other hand, BSD was under a permissive license. How many Operating Systems leech of it and don't give back?
The GPL imposes certain requirements on any product that you use a GPL component in. If that's "cancer" then virtually every commercial software library is equally "cancerous". You can decide for yourself whether those requirements are too costly to comply with or not, and again that's absolutely normal, standard industry practice. There are plenty of libraries and products where the developers would have liked to use that library in their product but decided the license for it was too costly; it's unreasonable to single out the GPL.
(As an end use who bought a Linux game and then switched to Linux, and was therefore only able to continue playing it thanks to the GPL, I'm pretty happy about the GPL)
Whether or not that goal was or wasn't well-served by the GPL, that was and remains the motivation.
It is rather easy to see how patent and tivoization are harmful to the creation of such ecosystem.
As for the article, "no empirical evidence that they serve to increase innovation and productivity" is obviously outright false. We certainly don't have proof, but there's a helluva historical correlation between patent enforcement (or existence) and countries with strong economic growth, particularly in technology sectors. That has to be referred to as evidence - since evidence which cannot be misleading, i.e. "incontrovertible evidence" is actually proof.
Moreover, histories of technology often show simultaneous invention, and in such cases, the obscure and unsuccessful efforts very strongly tend to appear in areas where patent law is not efficient or respected, and therefore investment for development of inventions is lacking. Without his patent, James Watt could not have and would not have (finally, after a long effort) found a sufficiently rich partner who could fund the development and production of his new kind of steam engine.
Note too that even if patents weren't globally efficient (which I strongly believe they are), they nonetheless attract inventors to your country and so are locally efficient (a prisoner's dilemma that only coordination through treaties would defeat.)
This doesn't mean that present patent law is ideal, or that the historical context hasn't at least partly vanished, however: very complex technologies (which we're now awash in) create situations in which it may be more valuable to cease to produce smartphones and instead use patents to hold a gun to the head of others and merely extract rent from those still producing them (sneezeMicrosoft.) Since you aren't producing phones, others can't retaliate by refusing to license their patents - you no longer need their patents. When more than one (or perhaps a thousand) IP holders want to extract rent from the same item, obviously this can introduce great inefficiencies. Few patents are truly essential (outside FRAND standards, a different situation) but many are costly to get around. One way or another, sooner or later, we may have to deal with this situation. I wish I knew just how.
So why not open source windows from the beginning and save billions, and a ton 'o precious programmer time?
Increasingly, corporations are concluding that investing in licenses for other's proprietary software is wasteful and they are seeking out open source software where they can, to avoid lock-in and network effects. So a hundred years from now, that may be the standard view of proprietary software. Long before that I hope we recognize how awkward applying artistic copyright to code is, and grant a four or seven year copyright, but only once the code has been revealed. The purpose of granting intellectual property rights was originally to create public goods, that's just not what's happening with computer code.
The GPL is commonly cited as the reason why Linux is where it is today. It's a different incentive model to be sure, but one that undeniably works. It's why many prominent projects continue to use it, and it's why new projects use it as well. The only thing the GPL slowed down is people who aren't willing to accept how the GPL was designed to work.
Sure, I'd love a world where copyright was laughed off and where DMCA and anti-circumvention laws were annulled (i.e code is treated like the math that it is), but that's not the world we live in. In this reality, I and many others believe that the GPL provides the best trade-offs in terms freedom to users (and thus developers).
Just because other people have reproduced work that enabled freeloading doesn't mean the GPL wasn't successful at discouraging it. Not that this was ever the point.
Why is that in any way surprising?
> With or without replication, the general response to the GPL is not to contribute, since contribution is penalized in a way that freeloading isn't.
How is contribution penalized? And what makes you think the give back rate is any better for more permissive licenses? There are a tonne of proprietary BSD forks that have never contributed anything back.
BSD gets a lot of contributions back, including many from corporations that forbid use of GPLed code. Of course, as with other open source projects, there are non-contributors, and the scale of that (cough, Apple) can indeed be galling. But over time, a lot of the sting has been taken out of that, as corporations have seen the long-term advantages to open source in helping them avoid another firm's lock-in and network effects. So nowadays, you can fork a lot of code, take it proprietary.. but then fail to sell it, since what you've mostly added is adverse lock-in, etc.
The real solution is governmental - code isn't art. It should have a four or seven year "copyright" and then go into the public domain. But that copyright doesn't go on executables unless the code is revealed first. Two recent court cases that have, astonishingly, treated copyrights to code as something more like patents of ideas or methods have really underlined this for me. One is the Facebook/Oculus case (yes it's Texas, but really!) The other is the Facebook/Nearby Places case.
http://www.nasdaq.com/article/facebook-suspends-locationshar...
> But over time, a lot of the sting has been taken out of that, as corporations have seen the long-term advantages to open source in helping them avoid another firm's lock-in and network effects.
And what about when you can sell it, like with a closed sourced android that is locked in to google?
The Android libraries (as opposed to Java engine, app store, etc) that Google recreated are open source, and not locked in to Google, many others use them.
It's not reasonable to hope to banish proprietary code entirely, especially since open source hasn't really found a good, general business model yet. Open source code that businesses will use and contribute to is winning the day; GPL has been a bad wrong-turn. Again, copyleft might work - but the software and hardware patent grabs that come with GPL2 and GPL3 simply haven't. Such an incredible waste. It's hard to find historical parallels.
Blink is a fork of webkit, it's still under the LGPL. But I see where you've gone wrong now, you're attributing every OSS rewrite that also includes a license change to being rewritten because of licensing, which is simply not true. Without webkit being LGPL though, they never would have got to the point where they could fork it.
> It's not reasonable to hope to banish proprietary code entirely, especially since open source hasn't really found a good, general business model yet. Open source code that businesses will use and contribute to is winning the day; GPL has been a bad wrong-turn.
The GPL doesn't banish proprietary software and never will. It banishes GPL software from becoming closed software.
The interests that led Google to make Chrome would still have existed, though it probably would have been a downstream adaptation of Firefox with V8 rather than one of WebKit.
Tally up all the replacements, and the cost is staggering. Not to mention that developers and programmers are especially critical resources. GPL is possibly the greatest tragedy to befall technology since James Watt failed to understand the physics of scale, and vigorously prevented high-pressure steam engines from existing until his patent ran out.
BSD or MIT are more liberal??
The reality is that there is nothing called 'absolute freedom or liberty.' Freedom may be defined as the terms that are acceptable to the whole community, not as an individual.
Say for example, GNU GPL Freedom translated to real life: I can't kill you, so you shouldn't kill others.
and the same terms for MIT/BSD: I'm letting you alive, but it is Okay for you to kill others (including me).
Which one (GPL vs others) do you now think is more liberal?
If you think carefully on what you have said, you are contradicting yourself. How are you sure that you won't get sued for the patents used in the MIT software/library you use in your (proprietary) software (even if the original software developers are the patent owners)? In fact, GNU GPLv3 prohibits that, and ensures that you won't get sued for the patents from the original authors.
I recommend you better get a lawyer, rather than saying that 'MIT/BSD is simple.' btw, IANYL, and IANAL. :)
Thank you.
Edit: Some says, there is implicit patent protection for MIT/BSD. But afaik, it is never tested in court. GNU GPL v3 gives explicit patent protection. Be at the safe side if you doubt.
Edit2: If you agree with "there is an implicit patent protection for MIT/BSD" that means it "includes giving away (partially) your hardware and software patents." If then, why would you use MIT/BSD Rather than doing a GNU GPLv3+/non-free dual licensing (as do Qt or Odoo do), which would better serve your business?
There is no implicit patent grant that comes along with MIT/BSD licenses. "THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT."
If the point is so that people contribute the changes back to the original codebase (which you seem to agree with), then the point of using the GPL is to make sure that actually happens. If it is used in a proprietary product, and never given back, from the perspective of the open source world, that use of the code might as well have never happened.
For some reason, had Samsung done the same, everyone would have praised them to the heavens, it would have been "the obvious success of permissive licencing". Now, when a founder and major contributor did the same to his OS project, everyone cried foul.
But Lineage is still Apache2, for some reason.
> For some reason, had Samsung done the same, everyone would have praised them to the heavens, it would have been "the obvious success of permissive licencing".
Do you have an oracle or a time machine to know this?
That's obviously not how it works in the real world. Out of ten people, 5 might give back, and 5 might not. You're essentially saying then that the contribution of the first 5 isn't worth it, because the other 5 wouldn't be contributing. Any contribution is great. The more a library is being used (commercially or non commercially), the more contributors it'll have in the long run. It's not a zero sum game.
Let's say ZFS would be released under a BSD license.
Linux would eat it up and improve it. So GPL code is >= BSD (in theory. At this point, Linux can't just use BSD code because of arch differences, but it's true for divers - any BSD driver can be swallowed up by Linux, but not vice versa).
But the same is true for BSD -> Proprietary. Any good BSD codebase can be eaten up by, improved, and closed source.
If you mean Linux as in GNULinux, the whole GNU library was recreated in a more permissive license by Google at immense expense - which is what generally happens with GPL licensed code. By no coincidence, this stranded the patent grants to the kernel - but now it looks like Google is going to go to the trouble of recreating/replacing the Linux kernel as well.
Copyleft without a patent grab should be tried - it might actually work. As for GPL, history says nope.
Good, they want android to become a closed source commercial product and that should be expensive. And when that happens everyone will be reminded of why the GPL is a good thing.
Not yet, but they're permissive enough that google can close source them any time they wish. And when that happens there will be a lot of crying about google doing something they are specifically allowed to do.
Of course, while there are conflicting theories about whether the GPL is gratuitous or not (and this may actually vary from case to case—if you buy software that comes with GPL terms, it is clearly not gratuitous), this potentially affects the GPL as much as any permissive license.
It is okay for some vendor to lock a hardware by default with GNU GPLv3 software in it. The rule is that it shouldn't be a permanent lock. The user should be allowed to break the lock if he/she wishes (of course the vendor can say that it will void warranty). This is what it happens when a user roots his/her android phone.
So not using GNU GPL by Google has not much to do with tivoization if rooting of a phone is allowed, and if the user is allowed to change the software inside.
Note: For things like bombs, nuclear reactors, medical equipments, voting machines, etc. It is allowed to have a permanent lock even if the software inside is licensed under the terms of GNU GPLv3+.
Not quite; e.g., Medical equipment designed to be installed in a home cannot be permanently locked under the GPLv3.
The more I look at the license https://www.gnu.org/licenses/gpl-3.0.txt the more discouraged I get - it covers user products (consumer, household use) and as part of a building (???) and that's it! Never gets near making room for the security cases that worry me most.
In fact this language: "For a particular product received by a particular user, "normally used" refers to a typical or common use of that class of product, regardless of the status of the particular user or of the way in which the particular user actually uses, or expects or is expected to use, the product." pretty much rules out allowing tivoization for my security cases. The only obvious way to read "regardless of the status of the particular user" would mean that employees would have to have the ability to modify the product without the company's knowledge, which is precisely what I'd like to be able to prevent of course.
NetAPP has supported bsd camps in many ways over the years. Your comment is ignorant. Either way they are not required to. By using BSD code the level of quality of their product is raised. It's in their interest to keep their diff set against head as small as possible. Something a few vendors have learned the hard way. So it makes no sense for them to horde all their changes and code. It just makes their life a lot harder when updating their code base from say FreeBSD.
No education worked with MS and BSD.
The issue is that I don't see why would someone code for you for free, if you're going to sell the resultant code. For example, I don't think IBM would contribute to Linux if Linus was considered "the sole owner" and sold GPL exemptions.
GPL3 - I give you my time and my work, you can sell it or include it in your product but you need to also release your product under GPL3 and make it available to the public (eg.. Copy left).
The caveat of GPL3 is if the legal department doesn't like it, they can negotiate with the developer to purchase a GPL2 license, or proprietary license that comes with support.
Mostly boils down if you want everyone to play nice.
This is how business works for codes like Qt and Odoo. They didn't choose [AL]GPLv3+ for the software to be free, but (or along with), for the reason that it would benefit them. The same tactic may be used by Canonical (Ubuntu) for their code like Mir, Unity, and other codes with CLA in the near future.
For me, GPLv3 gives the following additional protection:
* Patent protection from the authors (for their own patents that are used in the software)
* More freedom (Eg: A router with GPLv2 Linux + Busybox is simply open source, not free software. That is, you can get the source code of those Linux + Busybox. But the router company may not give you a way to modify the software bundled with the router. GPLv3 protects the users against such locks).
* Easier distribution requirement. If a user asks for source code of some GPLv2 code in a CD or some other offline media, the developer is obliged to (of course the developer can ask for its expenses). for a GPLv3+ code, it is enough to be hosted online/emailed.
There are current ongoing issues with GPLV2 with router, ip camera's and some other big named businesses that have bundled open source software but have not honored the license agreement and released or make publicly available those modifications. In doing so they're in breach of the license agreement and considering they're a commercial entity the copyright holders should rightly so be compensated.
You can take the chance and be the `nice` guy and release your source code under a BSD or GPLv2 license though with anything open source don't be surprised if you find your work inside a Toyota with your email address.
x264 and x265 are both GPLv2 licensed, but also offer commercial licenses.
v2 I can include x264 either dynamically linked or statically linked into my software and sell the software but wouldn't need to release the source code to my software. If I make any alteration or modification to the x264 source code (eg.. performance/bug fix) then I'm bound by the license agreement to make such modification available.
v3 very similar but under the license agreement I have to make my source code and any derivative libraries that my software package source code available under the same license.
GPL protects users' freedoms. Like the freedom to use it however they like (no 90-page EULA), the freedom to actually know what's running on their computer, freedom to change it and share changes.
But what is most annoying here is TFA doesn't really talk about this either. Protecting users is another factor when weighing up GPL enforcement strategies. If you put GPL code in a pacemaker that millions of people have, there's a very strong argument to ensure users of that can inspect the source.
[1] https://mobile.twitter.com/luis_in_140/status/84107363612766...