Open-source Licensing: BSD or GPL? 631
BSDForums.org writes "Mark Brewer of Covalent Technologies argues BSD is better for the enterprise. As open source licensing models, both the Berkeley Software Distribution license and the General Public License have advantages and disadvantages. But in the end, the BSD offers more benefits to enterprise customers. Matt Asay of Novell makes the case for GPL. He says, no one open source license is ideal in every circumstance. Different licenses serve different ends. Berkeley Software Distribution-style licenses have been used to govern the development of exceptional open source projects such as Apache. Clearly, BSD has its strengths. However, all things being equal, he prefers the General Public License (GPL ). The GPL is one of the most exciting, innovative capitalist tools ever created. The GPL breaks down walls between vendors and customers while enabling strong competitive differentiation.
Which is a better licensing model for open-source applications: BSD or GPL? What do you think?"
Re:And he is right too. (Score:2, Interesting)
GPL helps programmers get paid (Score:5, Interesting)
The BSD license is great if you are a big company and lots of little folks like me are contributing BSD software that you can use in any proprietary way you wish. But it's not so great for those little people, because they are functioning as sort of unpaid employees. GPL gives the whole situation a balance.
If you take the range of GPL, LGPL or GPL + exception, and BSD, you have a range of licenses for essentially any business purpose. Each has their strong and weak points.
Bruce
Re:Danger Will Robinson, Danger! (Score:4, Interesting)
The GPL good when ownership is well-defined. (Score:5, Interesting)
But, if there are are too many joint authors, that's a problem. It may be impractical to get everyone to agree to set up the alternate licensing.
If all the authors have assigned their copyright to some organization that is politically against proprietary software, that's also a problem for you. (That's why those FSF people want copyright assignment. They know too damn well that the GPL by itself isn't enough!)
These aren't inherent problems with the GPL, though, only with the specific situation involving the GPL.
Under the right conditions, when there are only a few authors or maybe just one, the key difference between the GPL and BSD is that you have to obtain permission from the authors of the GPLed program for proprietary use. When you do that, you have a bit of advantage too, because that program remains non-free to your competition. If they want the technology, they have to approach those authors and buy it separately from you. Heck, you could even buy the complete, exclusive rights to the GPLed program. Afterward, none of your competitors could make proprietary use of the technology, only the uses permitted by the GPL'ed public releases (which you can continue to make, as the new owner!) So you see, it's pretty damn smart to write GPLed software: you leave yourself open as a nice acquisition target for someone who wants the technology.
That's what kind of makes the BSD license stupid; the authors have just given away the permission to everyone to do anything. It's a good license to put on the smallest possible piece of code that will make a name for you as a great hacker and help you secure future contracts. It's also good for your reference implementation of some spec that you are trying to push onto everyone else, whether it be a data format, protocol, or what have you. Otherwise you're just doing free work for some software venture capitalist, which is stupid. I mean, if you want to help people, go spend time with sick children or something. Doh!
FSF's stance on linking (Score:4, Interesting)
My biggest problem with the GPL is the FSF's position that even dynamically linking against a library under GPL is enough to make the resulting code a derivative work (and thus also subject to the GPL). The BSD license affords much more flexibility. The LGPL is also not so encumbered. (http://www.fsf.org/licensing/licenses/lgpl.html [fsf.org])
Note also that the FSF's interpretation may not be binding, but it hasn't been tested in court (that I'm aware of, and I recently attended a symposium on this very topic). So, in my mind, it creates an unacceptable exposure for anyone who wants to develop software but not adopt the GPL. The BSD license is substantially safer.
More discussion on this point: http://www.oslawblog.com/2005/01/static-linking-gp l-and-lgpl.html [oslawblog.com]
Re:Danger Will Robinson, Danger! (Score:5, Interesting)
Actually, most companies don't care! Most companies aren't in the software market, don't want to be in the software market, don't care about the license as long as they can freely use and copy the software for their own purposes, and think all this arguing is insane. As far as they're concerned, the BSD and GPL licenses are functionally equivalent.
But for the tiny percentage of all companies that actually are in the software or computer services market, the BSD license is something they only want to see applied to other people's code. So, saying they "prefer" the BSD license is hopelessly naive and misguided. They prefer to give away as little as possible, while getting as much as possible. And, in general, many of them seem to find the GPL or other copyleft licenses to be a reasonable compromise.
The benefit to businesses of the GPL is quite obvious (at least to smart companies, of which there are an increasing number). They can release their own code without worrying that their competitors will abscond with it, improve it, and not share those improvements.
Me, I tend to prefer the BSD license for my own code, as it's simpler, and there's less to worry about. But it's a very mild preference, and I happily contribute to GPL'd projects as well.
Businesses sit on both ends of the table... (Score:3, Interesting)
Kjella
GNU GPL all the way (Score:3, Interesting)
Alas, I can think of many programs being released by big corporations under the GNU GPL.
Enterprises just wants other's software released under BSD.
If individual developers/small groups want to make any money from their work or get enterprises collaborating in their project, they should go with the GNU GPL as well.
Of course, sometimes the LGPL will be preferable. And -rarely- the GPL+linking exception.
Re:GPL is capitalistic ? (Score:1, Interesting)
However, it's capitalist because you're still allowed to charge for services (e.g. adding new features, fixing bugs, supporting new platforms) and you're not tied to a single vendor to provide this support.
For example, how many choices do you have for hiring someone to port Microsoft Windows to a new platform vs. porting GNU/Linux to a new platform?
Trolltech's stance is worse (Score:4, Interesting)
Re:GPL helps programmers get paid (Score:3, Interesting)
>money, I do it under the GPL. That way, I can share
>my software, and if someone doesn't want to share
>they can pay for a commercial license.
I would say that this is a great *problem* of the GPL. It's very easy in an open project to get spread, diluted copyright ownership. With the GPL, relicensing to a commercial customer can become impossible. A developer can easily find themselves in a situation where he would want to license his work, but some earlier, relatively small contributions can have made this legally basically impossible.
And no, reverting such changes out is often not as easy as it sounds.
Re:Danger Will Robinson, Danger! (Score:4, Interesting)
If this is /really/ "biting them in the ass", and not just something they expected, but you happen to find personally disagreeable, then the people in those projects deserve every bit of pain they receive. The whole *point* of the BSD license is so derivative code remains under the control of the people writing it.
Re:Better question yet (Score:4, Interesting)
A big part of that is because of Theo's opening driver work, cause the entire time he's been rubbing it in the noses of Linux developers and communities, cause they refused to help.
Not to mention the comments in that one interview.
Those and the whole security thing really put some gas on the fire that is OpenBSD versus Linux.
I guess this will start up the OpenBSD versus Linux versus FreeBSD versus Linux flamefest then.
Re:Danger Will Robinson, Danger! (Score:4, Interesting)
yeah, i know, i'm dreaming. on the other hand i'm getting a free $50 program because they used ONE of my BSD licensed libraries
Re:Danger Will Robinson, Danger! (Score:3, Interesting)
Keep in mind that in many of these businesses IT is not considered a core-competency or a differentiator in the marketplace. As a result, the move is to lightly customize off-the-shelf software. This has benefits since everybody can benefit from standardized business practices, but if you are in fact doing something better than everyone else you end up giving away your advantage this way.
If you're a typical firm that makes widgets, your executive team is a bunch of top-notch widget-makers with 30 years experience each and Ph.D.s in widgeteering. If you want to move up the ladder you had better have at least an MS in widgeteering. If you're just a programmer then you're only there since the widgeteers don't want to bother with imaging their PCs. (This is the mindset in many big companies.) If somebody in Elbonia comes up with a cheaper way of automating your widget-press your job is toast. Never mind that if they invested in a little software R&D yoru widget-presses might be faster than everybody else's. They'd rather save a dime and just have it be the same. The people on top can clearly see how investing more in widget R&D will make them come out on top. They can't see how investing in software R&D can provide much benefit.
This applies to MANY professions. In a law firm money is only spent lavishly on the best lawyers. In a biotech it is only spent on the best biochemists. And so on...
And this is how companies like software firms and consulting firms have cleaned up. Their widgets include software, and companies are willing to pay a premium for them to make software so that they don't need to think about it themselves.
Don't get me wrong - I think that buying COTS makes a lot of sense - probably most of the time. However, firms have become reluctant to consider cases where an IT investment will give them a sustainable advantage. As a result, you get "IT doesn't matter."
Also - if you want your advantage to be sustainable you need to pay your IT people well. Otherwise they'll just switch over to your competitor and redevelop for them the same software they just developed for you. Widget-makers understand that they'll lose their advantage if their best and brightest widgeteers move to their competitor. They don't seem to get it with IT though...
Re:Trolltech's stance is worse (Score:3, Interesting)
Re:English garden or tightly maintained lawn? (Score:3, Interesting)
Ut oh. Time to discuss perspective.
Linux is a kernel, BSD is a kernel + userland + ports. When people say Linux they mean GNU/Linux - the kernel *and* the associated userland stuff. So when I say 'Linux' I mean Linux kernel and one of the more popular userland implementations along with a packaging system.
I've done a lot with Redhat, some with SuSe recently, and in ancient days I've had my hands on Caldera, Mandrake, and Slackware.
Uh, Yuck Foo on the habitual self handler AC who said I wasn't cool enough for Gentoo - I have WORK to do every single day, and BSD gets it done better than anything else. When you get out of mom and dad's basement your view might change
Culture is key. BSD's culture is one of discipline, Linux, in general, one of 'perfect is the enemy of good' experimentation. Perhaps there are some distros that are getting away from that, but in 2000 when my disgust with Redhat became overwhelming FreeBSD was the only game in town. Now FreeBSD ain't broke and I haven't lived at chez mom & dad for twenty years, so who has time to do the distro fiddle? Not me.
I also have to look at marketability - I *sell* the FreeBSD stuff I implement. I'm still disgusted with Redhat (tried 9.0 a while back) but I'm running into SuSe in the field so I've had 9.1 and 9.2 on lappie and desktop. Its *not* stable. I've done the updates, I've got really vanilla hardware, I'm not pushing it hard, and I have troubles. Maybe this doesn't show with a server install but this is what I am seeing.
Feh. Lots more to say, but I need to get going
Re:GPL is capitalistic ? (Score:1, Interesting)
GPL is capitalistic because:
1) It respects property rights. In fact, GPL could not exist in a system that doesn't protect intellectual rights.
2) Capitalism is about freedom of the individual do what what he wills with his property. GPL is an extension of that. It is a written permission from the original creator to the user.
GPL is not socialist because it is not government mandated, and anyone is free to NOT license their code under the GPL (unless of course they extended GPLed code).
Profit motive is not the basis for capitalism. Freedom to do what you want with your property is. Profiting from your property is as capitalistic as giving it away.
Re:GPL is capitalistic ? (Score:1, Interesting)
Take a look around and see who exactly doesn't like GPL software. It's not the services companies: IBM is doing great. It's not the consumers: they use GPL all they want with no problems. No, it's only the unethical businesses that want to take code from others without paying for it and call that process "innovation" who complain about GPL. They don't want to actually compete on technical merits, instead they gasp and sputter about evil socialists.
Capitalism has nothing to do about being nice to businesses, it's all about eliminating profit (commoditizing) so consumers can benefit with lower prices.
Re:Trolltech's stance is worse (Score:3, Interesting)
So then if a program is written to be usable only with Windows, it's a derived work of Windows? And as such, Microsoft has substantial rights to the code if you copy it? Does code written in assembly for x86 require Intel's permission to be copied (or would it, if there were no x86 clones)?
If you write a server, and I write a client that can talk to it (and there are no other compatible servers), is my client derived from your piece of software? Does it magically cease to be a derived work if someone later writes a compatible server?