11 ms·
GPL, copyleft use declining faster than ever
- jsavimbi 14y agoThis happens because people don't understand the GPL and its unique ability to empower developers to write software or something really interdesting like that.
- 4ad 14y agoPeople understand GPL just fine. The described trend is caused by consciously rejecting GPLs ideals, not because of ignorance.
- mjn 14y agoIn academia my impression is that the decline of the GPL is due to business models more than ideals. There was a period of popularity in the 1990s and 2000s where dual-licensing GPL/commercial was used as an attempt to both open-source the code while still making money from commercial users who would pay for a non-GPL license. The copyleftness in that strategy wasn't really about agreeing with RMS, but about making sure you'd get paid if the next version of Matlab shipped with your code in it. But only a handful of projects that've tried that have been successful at making any money from it (the Stanford Parser is one example that has been). My anecdotal impression is that the trend is therefore towards picking either openness or money as the goal, instead of trying the dual strategy. If openness is the goal, you pick MIT/BSD, because they're simpler and you hope lots of people will pick up your code, and maybe you'll get paid in citations and PR. If money is the goal, go for a full commercial licensing strategy, and either don't release the code publicly at all, or release it with a research-use-only/no-commercial-use clause.
- kstenerud 14y agoWhat I've found is that open sourcing components that are not central to your business, but that your business depends upon, provides you with free stress testing, bug fixes, and enhancements. That's a huge win, and leaves you with more resources to concentrate on things that ARE central to your business. In order to maximize uptake on your open sourced component, it makes sense to have an uncomplicated license. Take a look at the following licenses: http://www.opensource.org/licenses/MIT http://www.opensource.org/licenses/MIT http://www.apache.org/licenses/LICENSE-2.0.html http://www.apache.org/licenses/LICENSE-2.0.html http://www.gnu.org/licenses/gpl-2.0.html http://www.gnu.org/licenses/gpl-2.0.html http://www.gnu.org/licenses/gpl.html http://www.gnu.org/licenses/gpl.html When I'm looking to use some component I found on the internet, part of my decision is based on the potential for legal pitfalls. I suspect that others feel the same way.
- mccoyst 14y agoI don't think that most people understand the GPL. Everybody understands the basic spirit of it, but there are lots of details spread throughout that huge document. The preamble is longer than many permissive licenses. .That there is a preamble at all speaks to the complexity. It's too much for a small group or individual without access to a lawyer, and I don't think people in these cases are going to use a license that they don't fully understand.
- hammersend 14y agoI just took the time to read the GPL both versions 2 and 3. It is pretty cut and dry as far as licenses go. Do you have any actual evidence that small groups or individuals are having trouble understanding it to the extent that it would have a statistically significant impact on its uptake?
- zobzu 14y ago"The described trend is caused by consciously rejecting GPLs ideals," I very highly doubt that. There are 3 cases I can think of: 1 - Business related models: "we're scared of GPL, we don't know what it is, but force devs to use smth else or code it from scratch" 2 - We're devs and due to 1, and possibly startups, we'll want non-GPL code. We'll also start to spam the community how GPL is bad in any possible way. 3 - All the devs are telling me GPL sux. I'm a cool and hip new person I'll do what they say to fit in. (I don't even care about what the GPL is made for). Now, one could wonder, why'd they want to even use BSD or similar licenses? They could just go with public domain. THat's "real" freedom to their ears isn't it? Anyone does anything they want with it. Perfect. Not so. They use BSD for credits. BSD forces you to retain copyright in the code, and that means if your name is in the code, you're getting a job very, very easily. So you see, all the above only tells me one thing: People who know are misleading others (like you just did) on purpose for financial reasons, not because GPL ideals are wrong. It would be OK if they at least mentioned the reasons in these simple terms. But that wouldn't help them achieve their goals, if others keep on using the GPL. Shame on them, shame on you.
- pm90 14y ago..Not so. They use BSD for credits. I don't quite understand....why is it shameful if a developer wants to retain ownership/claim authorship over the code that he spent time and effort in developing?
- CJefferson 14y ago"Public domain" is an unclear concept, I am under the impression that in many countries there is no such thing as "public domain" from a strict legal perspective. BSD is (for me) the closest thing to a clear legal "public domain", and that is why I use it. Also, the GPL is incompatible with the iOS store, which is a serious problem for many people.
- cygx 14y agoThis is correct. For example, German law is based on the concept of 'Urheberrecht', ie 'creator's rights', instead of 'copyright'. This is the reason why copyright notices (which were mandatory in the US until 1989 according to Wikipedia) were never necessary in Germany and why there's no direct equivalent to public domain: As soon as you create something worthwhile, you gain creator's rights, and as you remain the creator no matter what you do or what usage rights you grant to others, you can't give them away completely. There's a somewhat recent, rather embarrassing quote by German politician and lawyer Volker Kauder, who claimed to have acquired creator's rights to some images he used on his homepage without having the appropriate usage rights. Anyway, you need an explicit license like http://pdclib.rootdirectory.de/wiki/License http://pdclib.rootdirectory.de/wiki/License or http://creativecommons.org/publicdomain/zero/1.0/ http://creativecommons.org/publicdomain/zero/1.0/ if you're German and want to add code to the 'public domain'.
- npsimons 14y agoI'd have to second this; there is a lot of FUD being put out about how the GPL "takes away" "freedoms" from the developer, when the truth is that if someone is writing something from scratch, they have de facto copyright and can relicense the code any way they want, at any time. Only versions released under GPL are out in the wild as "lost sales", and are more likely to garner good will than cause a loss of profits. As for BSD, well you wouldn't want your competition locking up your code and selling it back to you, now would you? And all the other licenses, while more finely nuanced to different needs, are also not as straightforward. I don't understand why GPL isn't more widespread.
- Karunamon 14y ago>I don't understand why GPL isn't more widespread. Honestly, for me? Viral nature. I don't want to put off a company using my code (well, for most things I do) because they don't want to be bound by the requirement to give away the source. That's kind of why I'm a fan of Creative Commons, attribution share-alike, with possibly noncommercial depending on what it is and my mood at the time. The GPL is just a pain in the ass for all involved. At least that's how I see it.
- cpnks 14y agoWhat distinction do you see between CC-SSA and GPL? They say essentially the same thing. CC-SS has the same viral nature as the GPL/LGPL (it's about halfway in between the two). The GPL has a lot of FUD about it, but there's very little actually offensive about it.
- Karunamon 14y agoI should have been more clear. The neat thing about the entire CC class of licenses is that it's easy to pick from what you want to do based on what you're doing. A license framework if you will. The GPL doesn't have that - and as you said, CC-BY-SA is probably the closest - but I don't have to use CC-BY-SA if I don't want to. Maybe I don't care as long as my name's on it. Then I can just use CC-BY. The FUD you speak of is another reason I tend to shy away from GPL - both in terms of enforcement (shown to be tricky, thought the SA CC license would have the same issue), and it's association with RMS and the culture and FUD surrounding it. Another thing is that CC lends itself better to things that aren't computer code.
- huhtenberg 14y agoEmpowering with something that can't be enforced in practice is not exactly empowering, it's a make believe.
- regularfry 14y agoWhy do you say it can't be enforced?
- Karunamon 14y agoI'll answer that - because only the developer can enforce it. Let's say you're an end user and you know for a fact that a library in a proprietary app is GPLed and the seller is not complying with the terms of the license by not coughing up the code. You don't have the legal standing to take the the seller to court and demand they comply with the terms of a license between them and the original developer of the GPL'ed code, even though you're technically a party to it as the release of the code benefits you. Law is a funny thing.
- regularfry 14y agoI agree in the literal sense, but couldn't you look at the GPL as an agreement between the original developer and all downstream users that the developer will enforce terms when violations are brought to light?
- Karunamon 14y agoOne would think - but the obligation is not there (nor should it be really, this would only hamper its further adoption even more than it already is) Agreed it's the right thing to do, but if I write a GPL module which is later used in say, a Microsoft product, I don't have the desire, the time, or even the money to take them to court.
- huhtenberg 14y agoHow exactly are you going to enforce GPL compliance when a Chinese company uses your library in their proprietary product? Bonus question - what exactly will you be gaining by spending your time on enforcing the GPL compliance rather than on something else (like coding)?
- Tangurena 14y agoThe religious war of "free" versus "open" is what turns a lot of people off. Previously, when posting code I wrote, I'd pick MIT license which would allow users to do what they wanted. Picking GPL would mean that many potential users would be prohibited by company policy from using it.
- billpatrianakos 14y agoExactly. I'm one of those who honestly doesn't mind if anyone comes along, forks, closes the source, and makes a million off my code. I think it's a lot about money. There's also this rejection of the FOSS ideals. The GPL puts a lot of people off because it can be perceived as being more about ego and anti-profit rather than true freedom. For me personally, I prefer open source to free because I'm against restricting anyone's usage of my code and don't mind if they don't contribute back. I think people's intentions have changed too. It was once all about paying things forward and now the importance seems to be placed on simply sharing with no regard to how the code is used or by whom.
- icebraining 14y agoI prefer open source to free The approaches are different, but in terms of licenses and rights, Open Source and Free Software are mostly the same. MIT and BSD are Free Software too.
- billpatrianakos 14y agoReally? I mean, I know they're very close but correct me if I'm wrong here: First, let me be clear that I'm talking about Free in terms of how the GPL codifies it. So Free software a la the GPL always begets more free software. Open source on the other hand is free but you can close that source up and make a nice profit without contributing back. I'm for the latter and that's the distinction I was getting at. I know all the licenses have their nuances but generally speaking free GPL style licenses forbid not contributing back whereas open source generally let's people do as they please as far as contributing your changes go.
- rollypolly 14y agoBetter(?) title: The rise of permissive licenses.
- mjn 14y agoThat would require more data to conclude. The GPL is declining as a percentage of open-source licenses, but is that because more people are BSD/MIT-licensing their code, or because people who previously GPL'd their code (perhaps as part of a GPL/proprietary dual-licensing strategy) are just keeping it proprietary now?
- Silhouette 14y agoI miss when I was a kid. If you made something cool and wanted to share it you'd just give it away as freeware on a BBS or magazine cover disk or something. You might include the source as well in case anyone wanted to hack on it. As comms technology evolved and two-way comms became more viable, a lot of people would publish an e-mail address, and if someone was interested enough to ask about how the author had achieved a certain effect or what sort of tools they used then they were often happy to start a discussion or share their code. No-one gave a damn about "licences" and "copyleft" or "freedom", we just hacked on code because it was fun and we shared it with fellow hackers because it felt good and we liked the healthy karma. The graphics/audio demo scene worked this way. Game modding communities worked this way. All kinds of useful little tools that helped the guy who wrote them and later helped other people as well got discovered and used this way. I view the rise of EULAs and "terms and conditions" pages and all that junk to be one of the biggest retrograde steps in technological history, because most of the things in these documents are legal weasel words that don't have much to do with technology at all, or even with regular users who just want to use the software in a normal way for that matter. By playing the legal game, unfortunately the FSF has essential stolen the old embrace/extend/extinguish model from big business and applied it to hobbyist software development, legalificationalising it so that lots of people who just want to hack on code and share their results with anyone interested are now divided among fragmented communities and might not even know what they can and can't do any more. Way more time and effort gets spent worrying about licence agreements and how stuff can be used than anyone used to care about, and are we really any better off for it? I don't think we are. It never seems to occur to anyone today that the reason things used to work well wasn't that hackers shared code because someone forced them to. It was that they shared code because they enjoyed it and other people often shared their own code in return for the same reason, without any formal obligation or having legalese bullshit plastered all over the top of every source file. I suspect if the only two licence agreements supported by law were "no copying without payment/permission" and "copy freely but give fair credit" no great harm would be done and a lot of people would waste a lot less time worrying about things other than building cool stuff with code. (Edit: Of course this is a simplification, but you get the idea.)
- pron 14y agoI'd be interested to hear from commercial developers of OSS how they chose their license, and about the business reasoning behind preferring copyleft or a permissive license.
- zobzu 14y ago50% or more of the replies in this thread ARE commercial devs.
- cpnks 14y agoMy impression is that by numbers, we're moving from big projects -- like Linux, LibreOffice, Gnome, KDE, Gimp, gcc, etc. -- to smaller projects -- small JavaScript libraries on github that people fork, merge, etc. GPL makes a lot of sense for the former. If you write the Linux kernel, a ton of companies would take it, enhance it, and not contribute back without GPL. That's a big part of what killed BSD. On the other hand, almost no one is going to reimplement Linux just to get around the GPL -- it's cheaper and easier to just give back. For the little libraries, permissive makes more sense. If your JavaScript control has a license that isn't permitted in my project, I'll just write my own in a day or two. If I enhance it, that's not a core advantage to my business, so I'll likely contribute it back.
- bonch 14y agoThat's not what "killed" BSD. It was AT&T's lawsuit which spurred Linux interest. The argument that companies would make changes to BSD code and not contribute back has never come true. The original code still exists, and if the changes were valuable, others would just re-implement them as open source patches. Tons of large permissively licensed projects exist today without having been destroyed by the situation you describe, so I don't get why people continue to make your argument.
- dima55 14y agoThe LGPL addresses these concerns, and is in the sweet spot, I think: You can use the library without opening the code using the library, but any changes to the library itself must be given back.
- afsina 14y agoActually MPL or CDDL are like that. I am not an expert but I think they are easier to re-distiribute than LGPL.
- saurik 14y agoIt is very easy to work around the LGPL: the main thing it ends up protecting the user from is not being able to modify the exact functionality provided by the LGPL library inside of the surrounding software system. As a case example: Apple has modifications to their version of WebCore (lower-level than WebKit, for context), a project shipped under LGPL (unlike WebKit, which is distributed under a modified BSD license). However, they don't want to have to give out those changes, so they provide the source code to a WebKit with some minimal changes to call into new code that they then don't provide: it will compile, but you will get link errors. Understand: this new code may be critical to the functionality of the library, and may be modifying the behavior of or even outright replacing key APIs and mechanisms of the LGPL library, in this case WebKit. They then provide binary object files for the new functionality that they added, and the result is compiled together to form the unified WebCore dynamic library. Even though the result is a single linked-together library, this is totally legal under the LGPL, as I can still modify the original WebKit code if I wish and still manage to build Apple's modified WebKit binary. In essence, the boundary around the LGPL code can be made very tight indeed, such that even code that is semantically required for the library to function does not fall under the redistribution requirements of the GPL part of the LGPL code.
- mattbriggs 14y agoI know the ruby and python worlds are almost universally BSD-ish licenses, and you will get a lot of flack for releasing something GPL. The reason is that most companies that use ruby or python libraries are totally happy to contribute back patches and be part of the open source ecosystem, but releasing something as GPL makes that impossible. And since there are a lot of companies doing ruby and python, there is a great deal of frustration when someone puts that block up. Another interesting thing about that world is the level of quality and participation in an open source ecosystem that doesn't legally mandate participation. It leads me to think of the GPL as an exclusionary license.
- lclarkmichalek 14y agoI've taken to using LGPL for libraries, and GPL for applications. LGPL takes the stuff I like about BSD (everyone can use, including non GPL compatible stuff), and adds some more stuff I want (viral nature). For instance, I've been working on a platform for "competitive programming", where people write AIs to play games against each other. The game engines (programs that coordinate the game between players) are licensed under GPL, for they are my work, and I want people to contribute back if they use something out of them. The game libraries are LGPL however, as I don't want to dissuade people from using the libraries, but would like them to publish improvements they make.
- mattbriggs 14y agoCall me an idiot for saying it, but I would rather believe that people fundamentally aren't jerks and rely on community spirit rather then legally enforcing cooperation :) I think the reason that happens for ruby and python is so many of the people using those platforms are startups where the technologists are the guys calling the shots, and it probably doesn't work universally, but I am glad I work in a part of the industry where we let people participate on their own terms, it just seems more meaningful. I totally get that it isn't like that everywhere though, and the only way to get good cooperation is to hold a gun to the head of large corporations.
- npsimons 14y agoThe reason is that most companies that use ruby or python libraries are totally happy to contribute back patches and be part of the open source ecosystem, Then they should have absolutely no problem with the GPL. but releasing something as GPL makes that impossible Please explain how requiring distributors to include access to source code makes it impossible to contribute source code.
- iamgilesbowkett 14y agoI like @cpnks's thing about scale -- GPL making more sense for giant projects -- but I think of GPL as a legacy license from the days when open source was a radical idea. I think you could argue that it took radical people with radical opinions to make open source what it is today, but GPL is overkill for modern development and (in my opinion) completely unnecessary. Attempting to control what people do with the software they create is, in my opinion, not only wildly inappropriate but also very self-defeating, as it limits the number of people who can do anything with your license. Likewise, there's this: "Take a look at pretty much any embedded Linux project and you will find a GPL violation. For example, most ARM devices are unusable without binary drivers that rely on specific builds of specific Linux kernel versions (example - you can't get sound or accelerated video on the Raspberry Pi!). I've had one plug computer maker tell me they have a custom version of Linux and they won't provide the source." (from @sedachv's comment) The sheer number of GPL violations out there in real life point to the fact that the license is unenforceable in practical terms, because of the legal budget a project would need in order to prosecute what is essentially an epidemic of victimless crime. If your project uses GPL, you're more likely to see an increase in corporations shrugging off open source licenses (or laughing at them) than an increase in corporations contributing code back. GPL violations are not a criminal matter. You can only enforce them with civil lawsuits. Who's going to pay for that? Imagine if Linux aggressively asserted its rights under the GPL against every violator out there. it'd be a full-time job for a whole team of lawyers -- an astronomical expense which absolutely nobody would benefit from, except for the lawyers themselves. There's absolutely no reason to expect companies to comply with the GPL, other than good manners and good ethics, both of which are rarer than they ought to be. The GPL just encourages those qualities to become even rarer. It's self-defeating and it's bad for open source in general.
- gillianseed 14y ago>There's absolutely no reason to expect companies to comply with the GPL, other than good manners and good ethics Nonsense, they are legally bound by the licence to provide source code when distributing binaries should the recipient request it. Obviously there are violators counting on not being taken to court but they are still violators and are running the risk of being being sued. Let's say that Oracle would stop releasing the source code to the enhancements they make on Linux for their distribution, do you think Red Hat, IBM and other large contributors would just let Oracle use their enhancements while violating the GPL by not releasing their own? Hardly, they would take them to court. GPL works well for this kind of cooperative project where lots of different players pool their resources as everyone is legally bound to release their enhancements. This obviously doesn't mean that every licence violation will be brought to justice, but the important thing is that they are in their right to so should they find it necessary. However the fully open source development of Linux doesn't fit all projects, looking at FreeBSD it seems it's mainly being used by companies who wants to incorporate it into proprietary solutions where they make changes to the kernel/system which are used as a competitive edge and thus don't want to open source those. Again, there is no 'one size fits all' solution and as such it's a good thing there's choice.
- npsimons 14y agoFTA: "That was the conclusion of Matthew Aslett's analysis of recent data from Black Duck Software" I'll just leave this here: http://techrights.org/wiki/index.php/Black_Duck http://techrights.org/wiki/index.php/Black_Duck
- mystilleef 14y agoAm I missing something? Where is the data?