8 ms·
GPL vs BSD, a matter of sustainability
- speeder 14y agoI still prefer BSD and MIT style licenses. GPL is great for making a system remain open, yes, but it also results in some commercial applications shying away from it, and it might ultimately die without proper use. Game Developers love BSD/MIT, and they do contribute back to the BSD projects they use for several reasons. And what matters in the end, that is reach end users, means that those end users would not have all those cool games without BSD and MIT tech available.
- parley 14y agoI think many GPL-leaning people generally agree that BSD-style licenses are very useful for e.g. reference implementation libraries of open, royalty-free data formats. We want the open formats to succeed, so if we make it dirt simple to put support for it in commercial systems we help the proliferation of the format.
- LoneWolf 14y agoSo do I. Mostly I run away from GPL code, whatever I do I can't choose to make it available or not, I have to, I consider that a restriction of my freedom, and while I would like that everyone who makes changes or improvements to any of my code to contribute back, I think it's unfair to force them to it, because I don't want to be forced either. Most of my stuff is BSD or MIT, and for some less serious things WTFPL. GPL has that "viral" effect that I hate, you are free to change but you have to keep it GPL, I don't know if it is possible to change GPL software into non GPL, can anyone tell me more about that?
- travisb 14y agoThe only way to convert from GPL to a different license is for all the copyright holders (approximately every contributor who has a single line of code in the project) to release a version with a new license. For projects with a small number of contributors this is simple, just call them up and negotiate a proprietary license. I expect that there would be better chances of success if the proposition was "money for license" instead of a plea to go to a BSD-like license. Of course the more contributors the greater the likelihood one of them will reject the offer and thereby make dual-licensing impossible.
- olgeni 14y ago[all the talk about microsoft really smells of 2007 :)] > BSD freedom, on the other hand, is "lossy". How so? I can still download the original BSD-licensed code without any loss. > If I get BSD code I have a lot of freedom, but the next guy doesn't. Why? In the worst case the next guy will just start from wherever I started. > It's fairly well known that there is BSD code in Windows. And be thankful for that - who knows what else could have crept in there. > And obviously, whatever Microsoft did with that code, they have no obligation to release their changes. And no obligation to release all the other unrelated code. > Microsoft is still sitting on BSD code that is free for them, but it's no longer free for anyone else. Apple too, but that's what the BSD license is for.
- pjmlp 14y agoYou assume that the original code is still available, which might not be the case.
- PhantomLobe 14y agoIt is in 99.99% of the cases.
- NateDad 14y agoIn that case it's exactly the same as if Microsoft never used the code... it would still have disappeared. That's what would have happened if it were GPL code. Proprietary software vendors can't use GPL code, because there's no way they can use it without making their entire product GPL... which most software vendors won't do.
- Nursie 14y agoIn that specific case you are right. But in the case of (for instance) the Linksys NSLU2 (or various WRT and WAG models), the whole community around them was possible because the code was available and people could mess around with it. In this case it was to Linksys advantage to use GPL firmware, to the users advantage that more could be done with the device, and to the community's advantage because changes and improvements could be fed back to the general linux ecosystem.
- milliams 14y agoThe important thing to realise about the GPL's freedom is that it is not so much "freedom for the developer" as preserving "freedom of the user". To keep software in the ecosystem free and to allow any user to see the source code of a piece of software running on their computer. Of course I can see the value of both type of license and each has their place. In my lovely land of Linux/KDE/Firefox/GNU the GPL is fine for everything since you don't have to worry about pesky companies wanting to incorporate your end-user code into their products. However, for a library which you might want to be used by commercial game developers etc. a BSD-style license makes lot more sense as otherwise people will go elsewhere or implement it themselves. This is why a few years we switched the license of PolyVox (http://www.volumesoffun.com/polyvox-about/ http://www.volumesoffun.com/polyvox-about/) to be zlib rather than GPL.
- DanBC 14y agoThe article is from 2007. What BSD code is still in Windows? I know the network stuff was, but I think they re-wrote all of it. The EULAs used to include sections about the regents of Berkley, but I can't find that in the Windows 8 EULA.
- ygra 14y agoAFAIK only the network stuff was, up until XP and Server 2003. They rewrote all of that for Vista, partly because the original code didn't keep up well with newer developments.
- peteri 14y agoNearly correct according to http://www.kuro5hin.org/story/2001/6/19/05641/7357 http://www.kuro5hin.org/story/2001/6/19/05641/7357 the initial code was provided by Spider but since NT3.5 it's been mostly (see the article for why I say mostly) MS code in the kernel (and the userland code is BSD 'cos it works and ain't broken)
- Nursie 14y agoJesus, haven't seen anyone cite K5 for serious purposes in a long time. That place a cesspit these days :)
- dsr_ 14y agoThe GPL is better than BSD at starting a community of developers, in the same way that games with rules are more fun than Calvinball.
- NateDad 14y agoNot if you want to leverage the millions of professional software developers out there. With GPL you're stuck with the hobbyists and the very few companies that can survive getting paid for support of their GPL software. You know what's BSD/MIT licensed (or similar)? Python, Ruby, Rails, and probably a million other things you use every day. Good software is good at making a community of developers, regardless of the license.
- Nursie 14y ago"With GPL you're stuck with the hobbyists and the very few companies that can survive getting paid for support of their GPL software." Not really mate. Lots of companies use linux for firmware and release their firmware code. Linksys, Netgear and Western Digital are just a few that spring to mind.
- sageikosa 14y agoGPL is not just stuck with hobbyists. It also can rely on college students, of which there is a seemingly never-ending supply. Eventually the students will either have to find a job (assuming they are not being perpetually subsidized by Mom and Dad), or become leaders in the GPL community and make money by writing books and doing speaking engagements; and since there is only room for so many leaders, only the most fervent ideologues will rise to the challenge.
- mkup 14y agoAuthor of this article is missing LGPL entirely. LGPL allows anyone to ensure that all changes to his code are published freely, but also allows packaging with commercial closed-source code into single downloadable file (unlike GPL).
- jrmg 14y agoThat's not entirely true. The LGPL requires that the end user be able to re-link the product with an API-compatible version of the LGPL-licensed library. On platforms that support dynamic linking this is easy to allow - just package the LGPLed library as a dynamic library the user can easily replace. On platforms that don't (e.g. iOS) it's harder, and I believe it's still 'gray' what's required in practise - or even if the requirement is possible to satisfy. Some will say if you supply object files so that the end user can relink, that's fine.
- IWentToTheWoods 14y ago>Some will say if you supply object files so that the end user can relink, that's fine. It's not "some will say"; supplying object files for your code and source for the LGPL library is specifically listed as an option in the LGPL itself.
- jrmg 14y agoyes - but that option is followed with "...so that the user can modify the Library and then relink to produce a modified executable containing the modified Library." [LGPL 2.1, section 6a] Can an iOS user do that? I would not like to depend on saying "Yes" to a court.
- jlgaddis 14y ago> "So who is right? Well, the BSD camp is." Unfortunately, it's not quite that black and white. When it comes to operating systems, for example, I believe in using "the right tool for the job". Depending on the situation, that might be Windows, Mac OS, or Linux. The same holds true with the BSD vs. GPL argument. In some cases, the BSD is the better license. In others, the GPL is. Personally, I am thankful the GPL exists. Were it not for the GPL, I would not be typing this comment on this laptop running Debian. However, my MacBook Pro and iPhone are sitting just a few feet away from me. I likely wouldn't have either of those if it weren't for the BSD License. As a user, I am thankful for those who release their code under the GPL. As a developer (and I use that term very loosely), I put any code I publish under the BSD license. I do not care what anyone else does with it -- if someone can use my code to improve their own commercial product, so be it. The BSD vs. GPL debate will never die because there is no one "winner" in all cases -- and we all benefit from that.
- natefinch 14y agoI think it's pretty obvious this is a 5 year old article. And in fact, it has ideas that are much more appropriate to 10 years ago than today. GPL is a hindrance to your code, not a help... unless you're lucky enough to have your code become popular with a large open source community. GPL prevents any proprietary software maker from using your software. It requires that if you use the code, your software also be GPL. Well, good luck with that. Software companies need to make money for a living, and most of them want to do it selling their software, not hoping someone will pay them to support their software. In practice there's no difference between BSD and GPL in the worst case, and in the best case, BSD is better. Worst case: Some awesome devs make Cool GPL Software™. Hundreds of large proprietary software companies like the look of the software, but it's GPL, so they can't use it. They use something else. Cool GPL Software™ loses out on all the manpower that could have been given to it by proprietary software makers. vs. BSD: Some awesome devs make Cool BSD Software™. Hundreds of large proprietary software companies like the look of the software, and use it, but never open source their changes. Cool BSD Software™ loses out on all the manpower that could have been given to it by proprietary software makers. end result: the same, but the BSD guys feel butthurt, and the GPL guys feel ignored Now, the best case, which is what actually happens quite often these days: GPL (same as above) vs. BSD: Some awesome devs make Cool BSD Software™. Hundreds of large proprietary software companies like the look of the software, and use it. Some of them contribute their work to the original BSD project, because it's good karma, good publicity, and keeps the community around that software alive. Cool BSD Software™ gains a bunch of hard work from devs who get paid to work on their software 40+ hours a week. end result: GPL guys feel ignore, BSD guys feel elated. This is why I'll never use GPL for any software I write.
- jcbrand 14y ago> Some awesome devs make Cool GPL Software™. Hundreds of large proprietary software companies like the look of the software, but it's GPL, so they can't use it. Yeah, good think Linux is BSD, otherwise it wouldn't have any companies writing code for it. Oh wait...
- unconed 14y agoThe only reason Linux being GPL is not a big hindrance is because most people use it as a black box to run independent code on. The barrier between GPL and non-GPLd code matches neatly with "stuff we'll never touch". With most software, being popular means you're a library, and GPL is a kiss of death for many uses. Edit: And yes, there is LGPL, but its language is completely unsuitable for anything non-binary, like scripting languages, and hence could use some updating. If I import a node.js module into my namespace, am I merely linking to it or not? What if I start monkeypatching it?
- snarfy 14y agoThis whole idea started because copyright is broken. Both licenses are artifacts of this. The original copyright had a term of 14 years, a reasonable balance when granting a limited monopoly. As they extended the term and strengthened the laws, there is no longer any balance and there is nothing limited about the monopoly. Somewhere in all of this, their is an ideal copyright law with ideal terms and limits which maximizes the progress of science and useful arts. I believe the success of the BSD license shows it is closer to the optimum than the GPL.
- dllthomas 14y agoMore than that, the original copyright was something you paid for, it lasted 7 years, and then you paid more for a one time extension of another 7 years. So some things fell into the public domain even faster than 14 years.
- gillianseed 14y ago>I believe the success of the BSD license shows it is closer to the optimum than the GPL. Well the GPL licence is the most used open source licence of all, so I'm not sure how 'the success of the BSD licence' would somehow show it as being closer to the 'optimum'.
- DanBC 14y agoHow are you measuring "most used"?
- gillianseed 14y agoBy what most open source code projects are licenced as.
- DanBC 14y agoIn theory you could have a million projects used by very few people under one licence, and a few projects used by very many people under another licence. It might be interesting to know how many people use software under each licence.
- kstenerud 14y agoGPL operates on the premise that people are generally selfish and evil, and will never contribute back unless forced to. BSD operates on the premise that people are generally decent, and many (though not all) will contribute back on principle.
- skore 14y agoQuite to the contrary. I prefer GPL code and don't think people are generally selfish and evil. I do think that "the market" does that to people - It is often very profitable to be selfish and evil and the question is whether you have it in you to allow your fellow humans to fall into that trap or not. And whether you think it's good for society that this mechanic of the market exerts so much influence. I have chosen against that. Might be foolish, but I think it's rather pragmatic.
- wildgift 14y agoDidn't FreeBSD have some problem with fundraising recently? Apple used FreeBSD to create Darwin, OS X and iOS. Did they end up contributing back?
- onedognight 14y ago> Apple used FreeBSD to create Darwin, OS X and iOS. Did they end up contributing back? Yes, quite a bit. An example, FreeBSD recently switched from gcc to clang as their main compiler. clang was an Apple project.
- Nursie 14y ago"So who is right? Well, the BSD camp is." Gave up at this line. As far as I'm concerned the licenses give different freedoms and pointing at one or the other as objectively superior is just dick-waving.
- ygra 14y agoIf you bother reading the complete article, they come to an actual conclusion and comparison at the end.
- Nursie 14y agoWhy would I bother, the conclusion has been declared in the first section, and as the guy says - we've all witnessed enough flame wars in the last 20 years to know the arguments inside out. The article was written five years ago, and we still haven't stopped the arguments, therefore it doesn't say anything revolutionary. --edit-- I've done as you asked now, it's not as long as I thought it was at first glance. Conclusions aside, I disagree that with the statement that BSD is freer license, because the GPL guarantees the transmission of freedom, which BSD does not. The BSD license provides (almost) absolute freedom to the individual holding the code right now, which the GPL does not. I don't think it's possible to declare one objectively more free than the other. I'm not sure it's useful to either, apart from in the context of a flamewar.
- dllthomas 14y agoI almost gave up at that line. If you'd continued reading, you'd have found that the author winds up somewhere near your position.
- michael_h 14y agoFrom the Guidelines: Please avoid introducing classic flamewar topics unless you have something genuinely new to say about them.