7 ms·
Really, this should just be a big sign saying "use the MIT license". This is a site for beginners to OSS licensing. If this is your first time, just choose the
by pbiggar 13y ago
Really, this should just be a big sign saying "use the MIT license".
This is a site for beginners to OSS licensing. If this is your first time, just choose the MIT. If it's not the first time, you get to worry about whether you want to restrict reuse with the GPL, whether you prefer the BSD (2-clause or 3?), whether you agree with Stallman's philosophy enough to put up with the downsides of imposing GPL on your users, whether patents affect you, whether you need copyright assignment, whether to set up an entity to own your code, and all sort of other license bullshit.
First timers should use MIT, every time.
- jmillikin 13y agoThe GPL doesn't restrict users; it guarantees them access to the source. The GPL restricts middlemen from withholding the source from users.
- foobarbazqux 13y agoThe GPL restricts all non-GPL open source developers by stopping them from changing the license (except to a later version). The converse is hardly true since almost all non-GPL open source code can be relicensed as GPL. Since this erupted into a fireball, here is a link explaining how code licensed under a permissive license can be included in a project that accepts GPL contributions: https://www.softwarefreedom.org/resources/2007/gpl-non-gpl-collaboration.html https://www.softwarefreedom.org/resources/2007/gpl-non-gpl-c...
- icebraining 13y agoThe GPL restricts all non-GPL open source developers. Nope, only those that want to distribute their changes of GPL licensed projects. You're free to do whatever you want and keep the changes to yourself as long as you never distribute outside your machines or your organization (this allows closed in-house development).
- foobarbazqux 13y agoLook, you're restricted from shooting me with a gun, that doesn't mean you want to shoot me with a gun.
- icebraining 13y agoI'm sorry, I can't understand your analogy.
- foobarbazqux 13y agoI'm sorry I was hasty. I said that the GPL restricts all developers from relicensing the code as BSD, I thought that it was obvious that this meant only the ones that want to. So we agree about that.
- jmillikin 13y agoFirst, developers are not users. Second, changing the license is a permission granted only to the copyright owner. Otherwise I could take BSD-licensed code, relicense it to WTFPL, and then include it in my code without any credit to the original author. Most licenses do not permit any sort of modification or version upgrade. The standard GPL boilerplate is extremely unusual for giving third parties a range of permitted versions. > almost all non-GPL open source code can be relicensed as GPL. This is absolutely wrong. You do not have the right to change the license of someone else's code.
- foobarbazqux 13y agoOkay, so changing a license to GPL does not violate the conditions of the BSD. You just have to maintain the little notice and the copyright. If you want you can call it GPL+BSD but it's obviously identical to GPL. Basically, you can convert the same code from BSD to LGPL to GPL to AGPL, but you cannot go in the other direction.
- dragonwriter 13y ago> Okay, so changing a license to GPL does not violate the conditions of the BSD. You just have to maintain the little notice and the copyright. Not requiring this downstream violates the BSDL, but requiring it downstream, violates the GPL, at least in GPLv2, which does not itself require it, and prohibits additional terms to its own. I think the GPLv3's allowance of additional terms is broad enough to actually make some of the licenses that the FSF promoted as GPL compatible under GPLv2 but which were clearly not on a reasonable reading of the terms of the licenses compatible with the GPLv3.
- foobarbazqux 13y agoIs the discussion here totally bogus? I can only see the first answer. http://www.quora.com/Can-you-convert-code-under-a-simplified-BSD-license-to-a-GPL-license http://www.quora.com/Can-you-convert-code-under-a-simplified...
- jmillikin 13y ago
- protomyth 13y ago"The converse is hardly true since most non-GPL open source code can be relicensed as GPL." Which non-GPL open source licenses allow relicensing of the code? I've heard this claimed about the BSD code in a GPL project, but I was unaware the license permits that code to be relicensed as GPL.
- foobarbazqux 13y agoObviously if you can include BSD code in a GPL project, you can include all of it. There is no "50% limit" on contributed code, for instance. And the target GPL project can have zero lines of code. The reason you can do this is because the GPL has more restrictions that do no conflict with the BSD restrictions, and it doesn't violate the BSD license to slap the GPL on top of it. Think about it: if you can release BSD code as closed source software, how is that okay but relicensing as GPL is not?
- icebraining 13y agoYou don't relicense the BSD code (that's forbidden), you can just not distribute its source.
- foobarbazqux 13y agoWhat I meant was that you can stick an EULA on top of BSD binaries. The conditions of the GPL are not incompatible with the BSD conditions, and GPL + BSD = GPL, because it's a superset of restrictions.
- protomyth 13y ago> Think about it: if you can release BSD code as closed source software, how is that okay but relicensing as GPL is not? You are confusing source with binary on the close source side. The source is BSD and cannot be relicensed without the copyright holders permission. The closed source project has BSD-licensed source code that has no restrictions on distribution of the binary including adding a EULA. The GPL project that has included BSD code cannot relicense the code to GPL without permission of the copyright holders. The BSD gives you no permission to relicense.
- dragonwriter 13y ago> The converse is hardly true since almost all non-GPL open source code can be relicensed as GPL. While the FSF has actively promoted this view, for many actual open source licenses for which they promote the view, it requires a rather creative (at best) reading of one or both of the two licenses involved to support this claim.
- foobarbazqux 13y agoThat wouldn't surprise me in the slightest, but I will agree with them that it's obviously true for MIT/BSD which is a significant amount of code.
- protomyth 13y agothe FSF was involved in a counter example: http://lwn.net/Articles/247806/ http://lwn.net/Articles/247806/
- foobarbazqux 13y agoI'm sorry I don't really know what I'm looking at here. It looks like GPL + BSD = GPL in MODULE_LICENSE. Am I missing something?
- protomyth 13y agoThe BSD code is still BSD, your mods are GPL.
- foobarbazqux 13y agoBut the project is GPL. I can't sell a commercial binary without the source.
- jmillikin 13y ago> While the FSF has actively promoted this view Could you cite any cases where the FSF has claimed it's legal to change the license on other people's code?
- wes-exp 13y agoThis. GPL "code sharing" sounds harmless until you realize that it is enforced with a 500 pound ball of red tape that prevents commercial use in numerous typical development scenarios.
- ianstallings 13y agoGPL has never prevented use in commercial products, unless the author uses the GPL 3 and specifically adds a limited clause: http://www.gnu.org/licenses/gpl-faq.html#NoMilitary http://www.gnu.org/licenses/gpl-faq.html#NoMilitary What it ensures is that the source code will be released along with any uses. If a products uses your code and someone requests that code from them, they should be able to point to your repository, or theirs, and provide a copy. Now let's say one day you change course and want to close the source for future development. That is completely okay. Only the code you have already released will be out there under the GPL and the future work will be covered under your new license. Any open source libs you use, you of course have to provide the source for. What this does for all of us is it ensures the source code is available to the developer/consumer and they can modify it as needed. Just some background, I released an OSS SMTP library in 2000 and I've never had a problem using the same library in any commercial product and in fact I went on to build a small component business on it by offering new closed-source features, such as S/MIME, and support contracts to go along with the purchase. Here it is: http://sourceforge.net/projects/opensmtp-net/ http://sourceforge.net/projects/opensmtp-net/
- wes-exp 13y agoThis is so factually misleading, I don't know where to begin. On the subject of: Now let's say one day you change course and want to close the source for future development. That is completely okay. It may not be okay though. If your code incorporates other people's GPL code, you are unable to close that. And due to the "viral" nature of the GPL, the fact that your code may work together with someone else's GPL code could mean that you can't close your own code either. So you have to be very careful. It is true that the GPL does not explicitly prohibit commercial use, but this is not the same thing as being broadly compatible with commercial use. In general, the GPL is hostile to commercial use by a whole variety of restrictions, including the requirement to share source code. This may not be immediately obvious to OSS newcomers who just want to share their code and have people use it freely.
- ianstallings 13y agoNo way. GPL or LGPL every time IMHO. It protects your work from proprietary embrace and extend methods. That in turn helps keep it free for all to use and modify. Commercial licenses can still be compatible with the LGPL and GPL if done properly by the copyright owners of the code. For an example of embrace and extend look at some of the libraries usurped by Microsoft such as Kerberos. I bet they wish they'd have used the GPL.
- steveklabnik 13y agoCynical comment: do you really expect that on a startup forum, where people are explicitly trying to make businesses on a shoestring, people will advocate for not allowing proprietary embrace and extend methods? Open Source is free labor, but only if you MIT.
- pbiggar 13y agoSo you're someone who clearly has spent a bit of time thinking through all the licenses, and has a good philosophical position on them. However, if you haven't done all that research, and just need a license right now, I think it's not wise to tell people to use the GPL, as it will have side-effects they don't intend, for features they're not interested in (perhaps, not interested in _yet_, of course).
- ianstallings 13y agoThis is a big decision. What is so bad about taking an hour or two to read about the differences? I know a lot about the different licenses because I went through this same decision when I decided to release a library I built under LGPL: http://sourceforge.net/projects/opensmtp-net/ http://sourceforge.net/projects/opensmtp-net/ I spent a little time and made a decision. I think everyone should do the same. Don't let someone embrace and extend your work unless you want them to.
- pbiggar 13y agoAn hour or two is a serious underestimate. I spent literally years reading about licenses before I came to my eventual conclusion.
- belorn 13y agoAll the distinction in each open source and free software license is about the legal contract (EU) or legal document (US) that developer gives in tangent with software distribution. The legal information describes the circumstances that further distribution can be made by the recipient. First timer or not, either they care or they don't about said legal details. If they don't care, then the choice doesn't matter. Pick what ever license is used by libraries, or pick randomly by dart. If they do care, then they surely care enough to read up on the subject and pick based on their (or their community's) liking.