22 ms·
I'm genuinely curious — if I understand you correctly, you consider a "permissive license" (such as BSD or MIT) to be inferior: less community-friendly, less "f
by jwr 13y ago
I'm genuinely curious — if I understand you correctly, you consider a "permissive license" (such as BSD or MIT) to be inferior: less community-friendly, less "free". Why?
The reason I ask is because I think the opposite is the case: what you call "permissive licenses" give me freedom to do whatever I want, while GPL, especially v3, is very restrictive as to what it allows me to do.
Please, I do not want to discuss the merits of each approach, I would just like to understand the point of view, especially the seemingly conflicting uses of the words "free" and "permissive".
- pc86 13y agoI’m not the parent, but is it possible he’s referring to the restrictions on derivative software? If someone develops something amazing based off of LightTable with LightTable on GPL, aren’t they required to release that something on GPL as well? I believe under MIT derivative products can be created for commercial purposes (please correct me if I’m wrong!).
- craigching 13y agoI'm sorry, I may be misunderstanding what you're asking, but it seems you're asking about the old GPL vs. BSD/Apache/whatever, free software vs. open source software. If I'm misunderstanding you, I apologize. [1] explains the difference. Why is a BSD license not free but the GPL is? Because a BSD type license allows you to take software and turn it into non-free software. IOW, you could take BSD software, base your new software on that software and not release your changes or your source code. I'm not imparting morality here, just trying to explain to you the difference between BSD and GPL and why some consider BSD to be not free. [1] http://understandinglimited.com/2007/12/13/rms-on-bsd-vs-gpl/ http://understandinglimited.com/2007/12/13/rms-on-bsd-vs-gpl...
- fotbr 13y agoExcept you don't "turn it into" anything else ... the original is still out there, and still available to be used as anyone else wishes.
- craigching 13y agoSee my reply above, I meant that derivatives could be turned into non-free (free as defined by RMS) distributions of the software.
- dragonwriter 13y ago> Because a BSD type license allows you to take software and turn it into non-free software. No, it doesn't. A BSD-type license doesn't let a third party make the software anything but BSD-licensed software. It does let them distribute derivatives under different licenses, but that doesn't change anything about the original.
- craigching 13y agoI apologize, I should have said it allows you to turn a derivative work into non-free software. The link explains what is really meant (note that it isn't my opinion here).
- gillianseed 13y agoGPL ensures that any derivatives will also remain open source, permissive licencing permits proprietary derivatives. The benefits of GPL when it comes to derivatives is that all the code will remain open, so if someone forks project A into B and make changes, project A can incorporate those changes or maybe everyone jumps onto project B, and perhaps someone will later combine project A and project B into forked project C, etc. Either way the source code of all derivatives remain open. With permissive licencing there is the option of proprietary forks, which means that nothing ensures that any changes made in a proprietary derivative will ever reach the open project. That doesn't mean that no code will be contributed back, but again there's nothing saying it will.
- craigching 13y agoYes, thank you, you understood what I meant and I appreciate the clarification.
- hdevalence 13y agoNot the OP, but: the GPL is more restrictive, in that you are not free to reduce the software freedom of some other person (say, by turning it into a proprietary product). This is the perspective that considers GPL more 'free': though the software itself is more restricted, the freedom of all of the users of the software is protected. Not everyone agrees with this position (I also am not interested in arguing about it) but this is my explanation of this point of view.
- fotbr 13y agoThat's not accurate, since making a proprietary fork of, say, a BSD project, does not deprive anyone of the original project.
- dragonwriter 13y ago> Not the OP, but: the GPL is more restrictive, in that you are not free to reduce the software freedom of some other person (say, by turning it into a proprietary product). No one's software freedom is reduced if I release a closed source derivative of a permissively-licensed open source product. All the rights that existed to the originally permissively-licensed product are intact.
- superuser2 13y agoYour users can't modify (and must pay for) your derivative.
- dragonwriter 13y ago> Your users can't modify (and must pay for) your derivative. Which doesn't reduce their freedom, since they couldn't modify it -- or have the choice to pay for it and use it -- before I made the proprietary derivative. The only "reduction in freedom" is based on the assumption that I would have made and shared a Free derivative if I did not have the choice to distribute a proprietary one, rather than either not making a derivative, or making a derivative for my own use and not providing it to others.
- cjbprime 13y agoThe difference can be broadly characterized as individual vs. societal freedom. To resolve your problem with the meaning of "free", you have to think about who the intended recipients of the freedom are. If there are no restrictions against (to pick a colorful example) letting your dog go to the toilet on the sidewalk, then individually you have more "freedom to do whatever I want", but societies work better when you can walk around without constantly stepping in dog poop. So, the way I look at it is that the GPL attempts to build a society where total happiness is greater than in the society that gave more permissions to everyone. If you agree with the existence of laws that prevent poor behaviors, you're already sympathetic to this view in principle; it just becomes a practical question of whether the harms that the GPL is trying to avoid are serious enough for it to make it worth the trade-off with individual liberty. Reasonable people disagree about this.
- StefanKarpinski 13y ago"Permissive" licenses like MIT and BSD literally permit you do more things with the software. In particular, it is not legal to combine GPL software with GPL-incompatible software (e.g. anything proprietary) and redistribute the result. This is why we cannot distribute a version of Julia pre-built with Intel's MKL even though we have MKL developer licenses that were generously donated by Intel. The fact that we use some GPL libraries makes the combination illegal to distribute. With permissive licenses like MIT and BSD, that isn't a problem. In terms of choosing a license for an open source project, I think you should choose the most permissive license that will sufficiently encourage people not to make proprietary forks. The GPL was designed on the premise that it would be necessary to legally force people to contribute changes back, but the success of so many projects with MIT and BSD licenses shows this often isn't necessary. I think the choice depends on how "infrastructurey" or "producty" the project is. For projects like libraries, compilers or programming languages, it turns out that proprietary forks don't happen because of simple economics. Why would anyone pay for a forked proprietary version of a library when the original open source project is available? And if no one wants to directly pay for a forked version of some library, why would any company bother maintaining a fork when they can just contribute their improvements back and let the open source community maintain them for free? With a self-contained product like Light Table, on the other hand, there's a very real danger that some company could come along, fork the code base, make a bunch of improvements and start selling their version. Using a viral open source license like the GPL makes this illegal, ensuring that only the original author can sell forks of the product. tl;dr – GPLv3 is a great choice of license for Light Table because it is a product, but it's overkill for most open source projects which provide much lower level functionality.
- StefanKarpinski 13y agoI was pondering what the key psychological difference between "product" and "infrastructure" is – why are people willing to pay for one and not for the other? I'm not sure, but I think that for products polish is paramount, whereas for infrastructure, maintainability is paramount. Proprietary software is a nightmare for installation, deployability and maintenance, whereas open source is great. This is why open source has won the hearts and minds of people who build and deploy websites and other computing systems everywhere while companies producing polished products still rule the desktop.
- thristian 13y agoWith both "free" and "permissive" licenses, everyone who gets code from the original author can use the code for pretty much whatever they want—boil it, mash it, stick it in a stew—but for code under a "permissive" licence, downstream recipients do not necessarily have the same rights. For example, Microsoft used some of the BSD sockets implementation in NT's network stack, but Windows users do not have the same rights of modification and redistribution for that code that Microsoft enjoyed, even if they separately obtain a permissive licence to that code by downloading a fresh copy of the code from the original authors. Thus, "permissive" licenses tend to split a community into at least two groups: developers who can make use of the original code directly and enjoy the liberties the "permissive" licence allows, and users who are only allowed to use the things the developers create for them, and have none of the liberties granted by the original licence. By contrast, a "Free" licence (in the FSF sense) guarantees that everybody who obtains some piece of code, no matter how far removed from the original developer, has exactly the same rights to it. Thus, it does not split the community in the same way, and that's why some people regard "Free" licences as more community-friendly and useful than "permissive" licences.
- asdasf 13y ago>but Windows users do not have the same rights of modification and redistribution for that code that Microsoft enjoyed, even if they separately obtain a permissive licence to that code by downloading a fresh copy of the code from the original authors. Yes they do. They have exactly the same rights microsoft enjoyed, over the exact same code microsoft enjoyed those rights. They don't have the rights to microsofts code, which is a completely different thing.
- dragonwriter 13y ago> With both "free" and "permissive" licenses "Permissive" licenses are a subset of "free" licenses; the contrast you probably intend is between "copyleft" and "permissive" licenses.
- SwellJoe 13y agoThis kind of ages old flame war is discouraged on Hacker News. From the guidelines: "Please avoid introducing classic flamewar topics unless you have something genuinely new to say about them. " The BSD vs. GPL, which is more "free" or "permissive", argument has been going on for decades and is not going to be settled in this thread.
- sovande 13y agoYour trying to pour oil on untroubled waters. Discussing the rationale and pro/con for selecting a specific Open Source License for a particular project _is_ generally interesting.
- SwellJoe 13y agoI'm trying to encourage people to respect the guidelines of the site. And, I happen to strongly agree with said guidelines. Can you not see that no one is changing anybody's minds here, and everyone who is chiming in has a fiercely held position? This is one of the classic hacker flame wars, and flame wars are a waste of everybody's time. In short: Arguing about GPL vs BSD is a shitty thing to waste this great community on, and I felt like it was worth risking the ire of all the people who love flame wars in order to say so. The guidelines exist for a reason (and this thread is more evidence that this particular guideline is useful and relevant; if pg didn't have this particular argument in mind when he wrote it, I'd be moderately surprised).
- naner 13y agoBSD/MIT - more "rights" for the developer GPL/Copyleft - more "rights" for the users
- hrabago 13y agoI thought you got this backwards, then I realized that it depends on how you classify "developer" and "user". I think of "user" as someone who downloads the licensed software and uses it. And "developer" I associate with whoever wrote the licensed software that was downloaded. Based on this definition, GPL gives more right to the developer, and less rights to the user. The user can't create derivative works from it and distribute it without also releasing the source code. This is a restriction that affects the use of the code by someone who downloaded it. Any derivatives are contributed back, giving the developer the right to integrate it to the original.
- gillianseed 13y agoIn what way is GPLv3 'especially very restrictive as to what it allows you to do'? It added the tivoization clause which prevents companies from selling hardware to you with GPLv3 code and not allow you to run your own modified version of the code on said hardware. Also if you distribute GPLv3 licenced code, you grant all recepients of that code a patent grant to any patents you hold within that code. I find these to be perfectly valid additions of what the GPL licence is for: granting and preserving end user rights.
- dragonwriter 13y ago> It added the tivoization clause which prevents companies from selling hardware to you with GPLv3 code and not allow you to run your own modified version of the code on said hardware. That depends on who "you" are. In the FSF's view some users are permitted to want to purchase hardware that can't be tampered with, and others are not.
- belorn 13y agoPlease don't spout this false old lie. Its been correct a few hundred times already on HN, so how can you have missed it? If the tamper proof hardware resist modification by everyone (including the people who produce/sell them), GPL is perfectly fine with it. Sell it, bake it, do what ever you want. However, if a producer want to sell tamper proof hardware which they exclusively have a way to tamper with, its not tamper proof and it is not fair to the person who bought it. At minimum, give the owner of the device the same right to do modifications.
- dragonwriter 13y agoIf you want to quibble over the wording describing the exact combination of features the FSF is willing to allow some users the freedom to choose to have served by products with GPL-licensed software from anyone but the copyright owner, but where they would deny that freedom to other users, you are missing the point of the objection.
- 13y ago
- dllthomas 13y agoJust for the record, the FSF considers software licensed under permissive licenses to be "free software" (assuming no patent issues). The worry is that future modifications may not remain free software.
- jwr 13y agoOk, asking this question here was a bad idea. I now regret doing this.
- abraininavat 13y agoYou should be ashamed. You've just reduced the productivity of the software development community as a whole by a non-negligible amount.
- kybernetikos 13y ago> what you call "permissive licenses" give me freedom to do whatever I want, while GPL, especially v3, is very restrictive as to what it allows me to do. A common distinction is that 'permissive licenses' give the developer more freedom, where 'free licenses' give the end user more freedom. Giving the developer freedom allows them to constrain the freedoms of the end user, where giving the end user freedoms constrains the freedom of the developer. So yes, if you're optimizing for your own personal freedom, a permissive license is best, but if you're optimizing for ecosystem or social freedom, a 'free' license is best.
- deleted 13y ago[deleted]