9 ms·
The argument from the permissive licensing side: The reason some programmers hold GPL in contempt isn't due to picking a sports team. It's really annoying to h
by tony 10y ago
The argument from the permissive licensing side:
The reason some programmers hold GPL in contempt isn't due to picking a sports team. It's really annoying to have to explain to a true believer (of GPL) that it potentially taints codebases it mixes with.
It's also a license that's complex and hasn't been tested in across jurisdictions. So arguing about what happens on a message board isn't fruitful since there is no case law. You may be recommended to "see a lawyer". I've spoken to a few people who have, ultimately the lawyer throws their hands in the air and say we don't have answers to the "What if's"; there isn't case law. And at that, the consensus of a random person on the internet isn't going to hold weight if you're accused of violating the terms of the license.
It's hard to pick GPL on the merits. Permissively licensed projects don't seem to be having reciprocity issues. Can't remember the last time I heard these thriving BSD, MIT, Apache2, ISC licensed projects complaining about freeloaders.
By the way, really happy Nintendo Switch picked up FreeBSD recently. Looking forward to upstream patches, even knowing it's entirely voluntary for them to give back.
Why? Because the potential reciprocity from a big player is better than having a license that obligates reciprocity strictly, even punitively. Which could cause them to look elsewhere, to a proprietary solution. No entity wants to risk their hard work to become a derivative of a smaller project they pull in.
- CJefferson 10y agoYes, the GPL doesn't play friendly with anything -- even itself (GPL2 vs GPL3). I have several developer friends who, reasonably, didn't want to make a GPLv2 project "or later versions", as they didn't know what those later versions would be, the FSF could produce almost anything. Now we can't link to GPL3 code.
- davexunit 10y ago>I have several developer friends who, reasonably, didn't want to make a GPLv2 project "or later versions", as they didn't know what those later versions would be, the FSF could produce almost anything. The GPL license text explicitly addresses this concern. The FSF cannot make a GPLv4 that removes one of the 4 freedoms, for example.
- anon1385 10y agoWhich is unfortunate because it means it's impossible to create a future version of the GPL that actually protects the rights of users in the modern world. GPLv4 should really be based on the AGPL, but that would violate freedom zero. The restrictions in the GPL are becoming increasingly pointless. For a large section of the computing industry the GPL is functionally identical to the liberal BSD style licences because the program will never be "distributed", only made available over a network.
- maxlybbert 10y agoThe FSF has spent decades now promising that future versions of the GPL and related licenses would be in the same spirit as existing versions. But that promise depends on their definition of "in the same spirit," which is nebulous.
- anon1385 10y ago>But that promise depends on their definition of "in the same spirit," which is nebulous. Yes, very famously Linus Torvalds felt that GPLv3 was not in the same spirit as GPLv2. He described it as "a violation of everything version 2 stood for". https://www.youtube.com/watch?v=PaKIZ7gJlRU https://www.youtube.com/watch?v=PaKIZ7gJlRU
- pekk 10y agoGPL doesn't "taint" codebases. It is deliberately applied to code by the people who write it, knowing what it is. It's not an inferior version of a BSD license. It's a different license. If you don't want your hard work to be swallowed up into some company which profits from it, doesn't make its changes available and ultimately develops a competitor that the original cannot legally use improvements from, a BSD license won't help you with that. If you don't care, then there are any number of choices. Other licenses you mention are also complex and haven't been tested. Licenses in general, not just GPL, are harder than people think. When it comes to lawyers, you get what you pay for. It's revealing at the end that you say "no one wants their hard work to become a derivative of a smaller project they pull in." The size of the project doesn't give it special entitlements. Why are you pulling in someone else's code if you don't intend to respect the license set by the person who wrote that code? That sense of entitlement to exploit other people's work without reciprocation (because you're bigger?) is the problem creators use the GPL to address. If you want to build a community that isn't based on the crumbs that some company (like Nintendo) allows to fall, and you don't want that to be subverted by free riders who use your code to compete with you without letting you use theirs, GPL is a better choice. But if and only if it is your code, it is your choice what license you use. Note that in the real world, people are constantly attacking GPL and harassing people who apply GPL to their own work, but the other way is not happening. We should respect the licenses applied by creators to what they create.
- xorblurb 10y agoIt would be unwelcome for BSD projects to complain about freeloaders given "freeloading" is explicitly authorized. You can take a quick look at https://en.wikipedia.org/wiki/List_of_products_based_on_FreeBSD https://en.wikipedia.org/wiki/List_of_products_based_on_Free... for a non exhaustive list of products based on FreeBSD. Some of them are doing some contributions, maybe some of them are 100% open source (I don't know), but clearly some are not open sourcing their most added value stuff, even when it is a clear derivative of BSD code.
- steinuil 10y agoAnd? If FreeBSD had a more restrictive license, the developers of those products would have simply chosen another similar project, or used proprietary software.
- jordigh 10y agoBSD projects sometimes do complain about their code getting put into GPLed code (usually Linux). It's bizarre. They'd rather have their code locked up into someone else's codebase than having it always free in someone else's codebase.
- air 10y agoProprietary codebase does not deprive original project from potential contributors. Gpl'd fork might
- Arizhel 10y agoHeaven forbid that developers have a choice in what they contribute to!
- eeZah7Ux 10y agoOn the contrary, closed products very often compete against open ones. Potential contributors often never hear about the Open Source projects used behind their television, phone, routers, editors, games...
- 10y ago
- z3t4 10y agoMIT, BSD, etc are good for libraries and modules. But you basically give away your rights, and your users rights, and make it possible for others to steal your program/project and user-base, and make it proprietary. The GPL protects you from that.
- daenney 10y ago> and your users rights How are you giving away your users rights? The permissive licenses don't impose any restrictions on your users. They can do as they see fit.
- Nursie 10y agoDownstream users can get the shaft though.
- dorfsmay 10y agoSomething I've seen often: GPL is evil, it's a virus. We are so much better, we use BSD. All we care is that people use good code, our code is good, we make it BSD so everybody can use it. X Million servers out there are using our code, only 12 people give us any money, the world is a horrible place.
- anon1385 10y ago>The GPL protects you from that. No it doesn't. I can "steal" your GPL code, make lots of private modifications to it and make lots of money from it without violating the licence. All I have to do is run the GPL software on a server rather than distributing a binary to end users. That also happens to be the more common way to release software these days. If GPL developers really cared about their work being stolen or the rights of end users they wouldn't be using the GPL, they would use the AGPL.
- taneq 10y agoI have to wonder what kind of developers tend to fall in each camp. The GPL-ers seem very worried about other people 'taking code and not giving it back', whereas BSD-ers seem more concerned about giving and receiving code without strings attached. Maybe GPL-ers typically tend to pick an existing codebase and work on it incrementally, whereas BSD-ers tend more towards developing their own applications and then open-sourcing them when they're done?
- jkn 10y agoThe BSD license is developer-centered. It's awesome for developers, mostly avoiding any licensing headache. The GPL is user-centered. It's not designed to be nice to developers, but to protect the user's freedoms. So to a first approximation I expect that developers that think more of developer's freedoms favor the BSD license, while developers that think more of user freedoms favor the GPL.
- daveguy 10y ago> The GPL is user-centered. It's not designed to be nice to developers, but to protect the user's freedoms. * * Unless those users are developers. I still haven't figured out the distancing and discouraging of LGPL. A lot of software doesn't have much distinction between user and programmer. GPL is one of the worst licenses for a library.
- maxlybbert 10y agoI get the feeling that a lot of GPL-ers really want to tell somebody big to back off. I'm partial to permissive licenses because I don't want to spend any time on enforcement. I honestly think some GPL supporters hope for the day that they get to send a nasty email to a company telling them that they have to comply with some term of the license.
- davexunit 10y agoThe GPL does not taint anything. People like to use pejorative terms like that, or "viral", to make the GPL seem like something that spreads on its own. It is a software license like any other, and every developer can make the decision of whether or not they want to use software available under those terms. The rest of your reply reiterates the usual developer focused "open source" viewpoint while mistakenly suggesting that it's also the focus of free software. The goal of free software has always been user freedom. Source code in the hands of users. It's not about upstream contributions. Having a free library used in a proprietary program does not advance user freedom, though it may lead to a developer improving the library. All the upstream contributions in the world simply do not matter if the user is not entitled to the complete source code of the programs that they use.
- reitanqild 10y agoThe GPL does not taint anything. What do you prefer to call what it does to anything it is compiled with?
- jimktrains2 10y agoA choice made by the developer to fulfill the terms of the license for code those chose to include in their project because it brought more value than other options or them writing it.
- reitanqild 10y agoTaint is shorter. BTW: I think you answered a different question than the one I asked.
- davexunit 10y agoTaint is pejorative. Why must you choose negative terms to describe copyleft? Words matter, and words like "taint" and "viral" have been chosen for the purpose of harming copyleft's reputation.
- roblabla 10y agoThe nintendo switch doesn't use FreeBSD[0]. They supposedly only use the FreeBSD network stack, which also happen to be used in a great deal of other devices (It's so popular that it was ported into a userland library, see libuinet[1]). [0]: https://reswitched.tech/software/os https://reswitched.tech/software/os (Reswitched is the switch RE project) [1]: https://github.com/pkelsey/libuinet https://github.com/pkelsey/libuinet
- _jal 10y ago> The reason some programmers hold GPL in contempt [....is] that it potentially taints codebases it mixes with. These programmers, for consistency, should hate proprietary software even more, because it permits no mixing at all. And yet, they tend to be the ones writing it. People who use the GPL want an alternate ecosystem, away from that. Microsoft builds theirs, Oracle buys theirs, Google builds theirs; why should a band of programmers not organized under a brand name not have theirs? Bluntly, don't like the GPL? That's totally fine; go build your own ecosystem with whatever terms you like.
- franciscop 10y agoI am one of those programmers which even built a tool to avoid having a GPL dependency down the line[1] and I can assure you that I like proprietary software less than GPL. If three levels down the dependency chain a developer was sloppy enough to incorrectly use a GPL dependency and license their project as MIT, then the whole project would automatically become GPL. That is what @git-pull meant by taint (though I do not have a negative opinion about it so I avoid pejorative terms such as taint or virus). The reason is simple and I see it akin my opinion on religion: it's okay to have your own believes, but don't force them on others. While I believe that we should all be doing Open Source for the benefit of humanity, I also understand that there are many companies who do proprietary software for different reasons. And not everyone can afford to do work exclusively on open source. [1] https://github.com/franciscop/legally https://github.com/franciscop/legally
- jessaustin 10y agoHow many times has that thrice-removed GPL dependency affected one of your projects? In those cases, did you give up? Did you remove the dependency? If so, how long did that take?
- franciscop 10y agoLuckily no one has sued me (and I hope no one is planing to) so it hasn't really affected me AFAIK, but I try to follow the law/licenses. Also when I do some proprietary work for some company and I am the one picking up the dependencies I double-check this. In JS-world most libraries are MIT-licensed, so there was only a couple of times where I had to remove minor dependencies which didn't really affect me.
- rbanffy 10y ago> it potentially taints codebases it mixes with. I prefer to say it potentially frees the codebases it mixes with. > a license that obligates reciprocity strictly, even punitively. I cannot follow this argument. You got a whole codebase for free. Reciprocity would be if you gave your patches upstream. The GPL, while it doesn't enforce that, forces patches to be available downstream, where they can be taken back upstream. The GPL forces developers to be honest. Permissive licenses allow them to be honest, if they are so inclined.
- mcguire 10y agoHow much case law is there behind the Apache, Mozilla, or Eclipse licenses? There is a good deal behind the BSD license because people were making craploads of money taking BSD proprietary and wanted to prevent 386BSD from being released openly. GPLv2 is older than most of the other licenses listed. It is clear, simple, and the reason lawyers throw up their hands is because, if you want to do something sketchy with GPL'ed code, you will lose. There are no easy ways to attack it. "No entity wants to risk their hard work to become a derivative of a smaller project they pull in." But they are a derivative of any project they pull in.
- notalaser 10y agoThe GPL an unpleasant side-effect: it encourages companies to pay lip service to community involvement and to be seen as "community leaders". If you go to any major conference now, you can't have a beer in peace without someone from one of these super-open companies trying to tell you how super-excited they are to drive innovation as part of a thriving community or whatever other cliche is popular nowadays. In the meantime, though... Most companies that don't give a shit about community and openness can keep their BSD code tucked away. For most companies that try to make money out of GPL software, not giving a shit about community and openness is usually a bad PR move, so there's a great incentive for pushing as much of what you do as far upstream as possible. You'd think really bad patches would get rejected (and more often than not I guess they do), but in many cases, the project leader(s) work for the same company as the guys sending the shitty pages, and of course they get integrated, because $company $qualifier Linux $latest_version + 1 needs to ship this June and the feature has already been announced. Whole projects, or at least major modules/sub-project, are effectively a one-company show or an internal playground. This isn't bad because companies are scary, it's bad because, while the code is out in the open, the agenda and the planning processes aren't, and it fractures the community a lot. It's a good part of how projects like PulseAudio and systemd ended up with a bad name: everyone can agree that they at least offer some useful features (some people would go as far as to say they're "much-needed improvements", but that's far more debatable than whether per-application volume setting is useful), but they were pushed way, way before they were ready for production, and everyone saw this as Red Hat's attempt to enroll everyone into their beta testing program. In many other cases, commercial involvement in GPL projects is pretty much of no value. They publish the changes because they're required to, but most of the code is so brain-damaged it can't be used upstream, or is just a GPL-licensed interface over a proprietary library, a la nVidia. I'm guilty of having written both types of code, on several occasions, so it's not like I'm really just a BSD user for whom the grapes are too sour. There's also the fun crowd that's using outdated, unsupported stuff on their rootfs because the project switched to GPLv3 six years ago. They really, really like not having to pay money for 99% of the software on their device, but they really, really REALLY like making sure you can't flash their devices with your own firmware, so they can't do GPLv3. Of course, the old branch no longer gets bugfixes or security updates, so their flashy gadget will fall flat on its head as soon as it's exposed to an Internet, but that's ok, you'll buy a new one next year anyway. 20 years ago I was really, really happy when I heard that some company was licensing something under GPL, or contributing to a GPL project. Nowadays, frankly, I'm more scared than happy. There have been success stories, but they're getting fewer and fewer.
- mintplant 10y agoIt's not about upstreaming patches, it's about an exchange. Your project respects user freedom? Okay, we're working under a common cause. Take my code (and my axe!). You want to exploit my software for private profit? Fine, that's the reality of the capitalist society we live in. But you'll have to pay me. By demanding a "permissive" license, you're valuing my labor at zero while valuing your own above that.
- simion314 10y agoWhy you need this license to be tested in the court of law? I mean if you obey the license then why worry, don't use GPL code if you are trying to work around the license and the problem is solved. About tainting, if I use some source available but not free code in my code is that tainting my code? I used the code against the license and I may have to pay damages,same as GPL you violate it then you may have to pay. Maybe some companies are afraid the developers will use GPL code, you need to train your developers on what licenses are allowed. It is easy don't use GPL mixed in your code, you can link to LGPL. My last point is that the terms viral and taint are negative but better words would be protective,freedom and not words created by MS.
- pdkl95 10y ago> It's really annoying to have to explain to a true believer (of GPL) that it potentially taints codebases it mixes with. The GPL doesn't "taint" anything. You're complaining about how Free Software supporters argue but you don't seem to understand what those arguments are. You would have the same problem if you mixed proprietary software into you codebase, because copyright "taints" derivative works. > Can't remember the last time I heard ... complaining about freeloaders. Why do you feel entitled to free (as in beer) code? > No entity wants to risk their hard work to become a derivative of a smaller project they pull in. Yes, including GPL licensed projects. If you don't like the price of distribution license, you can always ask about licensing the code under other terms. > Which could cause them to look elsewhere Yes, that's the goal. Using community code is very inexpensive when you accept the GPL's terms, but the low price requires a payment where you are required pay back to the community in a similar way to what you took from the community. This is a protection against freeloading. If you don't want to participate, that's fine, but you get to pay the financial, legal, and social costs of using a proprietary solution. > Nintendo > the potential reciprocity from a big player Good luck getting much out of Nintendo. They are famous for their iron first attitude regarding copyright. A current example is their abuse[1] of YouTube's contentID system. While there have been occasional exceptions, it is incredibly naive to expect voluntary altruism - which almost always has some costs and little profit potential - from profit-focused corporations. [1] https://www.youtube.com/watch?v=jlzEr10NY3M https://www.youtube.com/watch?v=jlzEr10NY3M