8 ms·
Why all the hate for GPLv3?
by emergentcypher 11y ago
Why all the hate for GPLv3?
- josteink 11y agoSharing code is no longer cool if people have to share back. Or at least so it seems. The GPL-hate in here really is quite immense, even though time and time again, RMS has been shown to be right about his stance on freedom. Should we attribute it to people's desire for a quick ("free") fix over long term considerations? It's hard to tell, but I suspect the silicon valley influence here doesn't help. There everyone wants to take everyone else's hard work and code, build a weekend SaaS and get rich. The GPL, while not preventing that, is clearly in opposition to that goal.
- versteegen 11y agoAs someone who made a negative comment about the GPL elsewhere in this thread, I think I'll comment. I have absolutely nothing against the GPL, and use it myself. However, using the GPL for a library seems like a bad idea, because there are a lot of people, especially at companies, which won't touch the GPL. So if you license a library GPL and it's useful someone is just going to come along and reimplement it with a more liberal license. And such a waste of resources is sad to contemplate. The ideal of the GPL was that it would force other projects to switch to GPL, but it doesn't seem to happen too much in practice because the modern world has an abundance of alternative software for any task. Think long term: chances are someone in the next 50 years will be annoyed enough to reimplement whatever you're doing.
- robert_foss 11y agoIn the context of this project which is yet to have a finalized specification I think the GPL is an ideal format. As a project it is important to have access to all of the pieces and avoiding incompatible forks of different kinds in the early stages. So for the purpose of developing a 'golden standard' prototype for FLIF, I don't think a non-GPL license would have served them better. The author seems to have the same idea, and is considering re-licensing to MIT later on. I don't agree with corporate apologeticism which seems to be the norm here. If a company wants get something for free, expecting it to publish source code changes is not an actually high threshold. It might be in terms of corporate politics, but in actuality it is not hard.
- jobigoud 11y ago> If a company wants get something for free, expecting it to publish source code changes is not an actually high threshold. Obviously the issue is not about publishing changes to the library, it's about publishing the rest of the source which just uses the library as a building block.
- robert_foss 11y agoYou're free to link to compiled GPL libraries. There is nothing forcing you to change the license of your product unless you intend to integrate the sourcecode.
- kazinator 11y agoI also believe this, but it is not an established fact. The GPL does prohibit it, and so whether that is actually enforceable has to be tested in a court of law. So you are in fact not free to do this, if you have a boss above you who cares dearly about the company steering clear of hot water. I'd be willing to testify as a technical expert in a court of law that the GPL cannot reasonably rule out dynamic linking; that dynamic linking to a program is a form of use (like invoking a command line and passing it arguments) and not integration. The proof is that dynamically linked components can be replaced by clean-room substitutes which work exactly alike, or at least well enough so that the main software can function. For example, a program can be shipped with a stub library which behaves like GNU Readline (but perhaps doesn't have all its features). The users themselves can replace that with a GNU Readline library. Thus, the program's vendor isn't even redistributing the GPL'ed component. They can provide it as a separate download or whatever. However, if they were to include a GNU Readline binary for the convenience of the users, then the program supposedly infringes. This is clearly nonsense.
- belorn 11y agoThe problem with that line of thought is that the courts don't care if its use or integration, but if the resulting work depends on someone else work. The word used in copyright law is transform, adapt, recast, and such changes requires additional copyright permission. For example, if I buy a painting and cut it into pieces and rearrange them, I actually need an additional license beyond what I got from purchasing the copy. Components can not be cleanly viewed as separate when dealing with copyright. You can also turn this around and ask if its legal to use process call within a other program without invoking the need for additional permissions. FSF view that it should be legal, but it has never been tested. By now however an industry standard has formed around the FSF guidelines and most courts would just look at it when deciding. This is what commonly happen when no one go to court to find out what the rules actually should be.
- bdisraeli 11y agoIf companies don't want to use code licensed under the GPL, they're probably welcome to pay the original the author for a separate license.
- anon1385 11y agoIs there any evidence that the author will sell commercial licences? Other comments are describing him as a strong proponent of free software, so it seems very unlikely that he is interested in selling proprietary licences.
- kazinator 11y agoBut that unfortunately erodes the free-as-in-beer advantage, since in this situation the software is effectively proprietary, and competes with proprietary code on an equal footing: bang for the buck. "If we're going to pay to license freeware code as proprietary, let's look at all proprietary alternatives."
- jwr 11y ago> there are a lot of people, especially at companies, which won't touch the GPL Exactly. And for reasons which not everyone is aware of, for example anti-patent clauses. What people classify as "GPL-hate" is often a very pragmatic approach. I've seen this a number of times: companies have nothing against sharing improvements to the code, but do have a problem with a) having to share everything they wrote and b) anti-patent clauses which are landmines. And at companies I worked with, (b) was actually the bigger issue, especially if you build and distribute physical devices with software.
- dtech 11y ago> Sharing code is no longer cool if people have to share back. Or at least so it seems. There are plenty of licenses which require/encourage that. The problem with GPL is that everything that touches the GPL code has to become GPL or compatible. Adobe for example will never put this in Photoshop, or Microsoft in Internet Explorer, as they do not want to GPL their software. Net result is no wide support for this image format, which is a net loss compared to a e.g. LGPL/MPL scenario where companies could do that but still would have to contribute to the library if they made any changes/improvements.
- guelo 11y agoThat's the whole point of GPL. To move people away from closed source by having a sperate ecosystem that cannot be contaminated. The problem is that the ecosystem hasn't been that compelling besides a few things such as Linux.
- bmm6o 11y agoThat's fine as a long-term goal, but it's pretty directly in conflict with the short-term goal of getting support for this image format into all browsers. If you want this in e.g. IE, someone will have to re-implement it with a license compatible with IE. And there will be compatibility bugs, non feature-parity, etc. I mean, I get it if you'd like closed-source browsers to go away. You're entitled to that position. But that's not the effect that making this library GPL will have.
- bloody_pretzels 11y agoYou're not quite right. Everything that touches the GPL code has to become GPL, period. GPL compatibility only exists in one direction. A license is compatible if it is relicensable as GPL, the GPL itself isn't compatible with anything. Rant: I really want to like the GPL, but this requirement is downright hostile towards other open source licenses. And in my opinion it's not even necessary for the GPL's mission. Surely, it would be enough to require that all other parts of the combined work must also be distributed under open source licenses, not necessarily the entire GPL. Some parts of the GPL, like the installation instruction requirement and the anti-tivoization clause, should apply anyway if only some parts are GPL'd, and the reduced protection would easily be outweighed by a strengthened open source community.
- rimantas 11y ago> Sharing code is no longer cool if people have to share > back. Or at least so it seems. But in practice if you don't care if someone using your code shares back the sharing actually increases. I guess many got fed up with RMS FUD, although from time to time some fun pops up with observation how RMS was right all along, or if he weren't then you will see how right he was in about five minutes.
- zokier 11y agoIt has nothing to do with requirement of code sharing. It's all about realism. So far there has been 0 successful file formats/codecs with GPL reference implementation and there is no reason to except FLIF to buck the trend. So its a huge shame that the effort now goes to waste because of avoidable political reasons.
- JoshTriplett 11y ago> RMS has been shown to be right about his stance on freedom. The GNU project has specifically commented on cases where using an more permissive license makes sense, one being to encourage the widespread use of a file format or standard. I personally like copyleft quite a bit, but I don't think it makes sense for this particular case.
- tomc1985 11y agoWhat's to stop someone from reimplementing this with some other license?
- nickpsecurity 11y agoRMS himself was against putting such formats/codecs in GPL. Suggested Apache 2 license. See comments above for details. QED.
- tracker1 11y agoBecause GPLv3 code will never be adopted in IE, Safari, Chrome and likely Firefox... that's why. A reference implementation for an unencumbered format that doesn't also have a permissive license is unlikely to see wide adoption and support. I'm fine with GPL for a LOT of things... For others I feel that MIT/BSD/ISC/Apache2, etc are better choices. A software application that's GPL3, great... A library you want to see make it into diverse, embedded platforms, not so much.
- skrause 11y agoIf you want to your code to always be free, GPL is a good choice. If your want your code to be used by everyone, including e.g. all large browsers, you really need a permissive license. Just imagine if SQLite was GPL-only, barely anybody would use it.
- zokier 11y ago> Just imagine if SQLite was GPL-only, barely anybody would use it. Better example would be libpng
- ebbv 11y agoThe HN crowd tends to be a bit more money oriented than some of us older coders.
- skrause 11y agoSo you're saying that for example the FreeBSD people are money oriented because they prefer a more permissive license over the GPL?
- ForHackernews 11y agoThe people here aren't the FreeBSD team--they're wannabe startup founders who'd like to take BSD-licensed code and sell it.
- anon1385 11y agoPerhaps, but the GPL licensing of this code isn't a barrier to them doing that, since most of them will be running web services that can use GPL code freely without having to release the rest of their code. If it was AGPL then maybe you would have a point. The issue in this case is that image formats need widespread support to take off, and picking a license that is incompatible with 4/5 major browsers ensures that won't ever happen.
- nevir 11y agoAs a younger coder who has worked at the bigger firms that disallow use of GPL code in projects (Amazon, Google) - it is a huge disappointment to find a quality library that is GPL: There are plenty of projects at these companies that would be unreasonable to open source - and due to frequent reuse of code within a company, GPL is an unreasonable license due to its ripple effect. Contributing back to open source projects is the most enjoyable part of the process (Google for example, actively encourages this, and makes it incredibly easy). GPL projects are dramatically reducing their pool of potential contributors. I'd love to contribute to them, but I can't.
- deleted 11y ago
- warbiscuit 11y agoIMO... For opensource applications, they're seeking widespread user adoption. To that end, they want to keep users & developers focused on a single project & codebase. Releasing under a license like the GPL ensures they can easily incorporate features from any knockoffs/forks... which pretty well ensures there won't be any longterm knockoffs/forks (unless the project is mismanaged). GPL isn't so great for opensource libraries though. They don't care about users, they want widespread adoption by developers and their applications. Since applications may have all kinds of licensing requirements of their own (many of which can't mix with GPL), licensing a library under the GPL automatically limits the library's potential adoption. Which is why LGPL makes a lot more sense for a library. It allows incorporation of forks, but at the same time allows widespread adoption of the library. Of course, the BSD license almost makes great sense for a library, but mainly for ones which have little expectation that there will be significant enhancements made under closed-source forks; or ones whose purpose is to contribute a basic reference implementation for the greater good. E.g. a BSD license works well for something like a reference PNG decoder, to encourage adoption of the format; but less sense for something like ffmpeg, where the project's survival depends on garnering as many contributions as possible from a limited base of coders (experts in the intricacies of video codecs). Thus I think it's less hate, and more frustration that by using the wrong license, the project has hobbled itself at the start, which clack of contributor interest before the project even gets off the ground... and folks would like to see something (like) this succeed.
- acdha 11y agoLook at it from the perspective of someone interested in implementing this: once you put GPL code into a project, you're required to license the entire project under the GPL. That means that anyone trying to implement this format, even other open-source projects (i.e. every browser except for Internet Explorer/Edge, tools like ImageMagick, etc.) would have to relicense their entire project just to use it, which in practice means the format is never going to be adopted. The tragedy is that there's already a decent license for this exact need: http://www.gnu.org/licenses/lgpl.html http://www.gnu.org/licenses/lgpl.html That would allow e.g. Firefox to use the format as long as they either did not modify it at all or were willing to relicense any changes they made to the image codec itself under the same license, which is a much more reasonable requirement. This is important because adding a new image format is already expensive. Mike Shaver wrote a good comment explaining why Firefox never shipped JPEG 2000 support due to the expense of having a high-performance, reliable and secure implementation: https://bugzilla.mozilla.org/show_bug.cgi?id=36351#c120 https://bugzilla.mozilla.org/show_bug.cgi?id=36351#c120 If you're adding to that already big cost the requirement that you override the project's decision about what license to use and go through and get permission from everyone who's ever provided a patch to relicense their code, it just doesn't seem likely to happen.
- ChuckMcM 11y agoPerhaps it is simply that GPL3 asks much in exchange for what would be a small piece of a larger project. Kind of like asking people to give you their email address and phone number so they can use the shopping cart at the store.
- CJefferson 11y agoMy personal feeling is that GPL is good for programs, but bad for libraries, as I end up having to make my whole program GPL (or GPL-compatible) if I use a GPLed library. Often I don't want to do that, and if I use a another library which has a GPL-incompatile license, then I'm stuffed.
- rbehrends 11y agoTwo primary reasons. 1. The GPL is incompatible with many other licenses, including free and open source licenses. Viral licenses do not play nice with one another. 2. For many people, the risk associated with the GPL death penalty is simply too high. Even the watered down GPLv3 version has some scary scenarios. Aside from that, a lot of people simply aren't bothered by a proprietary fork of free or open source software with a permissive license. Keep in mind that permissive licenses or proprietary forks do not affect freedoms 0-3.