Open-source Licensing: BSD or GPL?
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?"
The GPL license is perfect for developers.
The BSD license is perfect for everybody else.
I swear to god my jaw dropped when I read the article summary, at first I was excited by the idea of some differing views being presented on the different license models, but then I hit the last line
"Which is a better licensing model for open-source applications: BSD or GPL? What do you think?"
Please for the love of god remember the children when you post.
The rock, the vulture, and the chain
I wish to edit my open source license files. Which is a better editor for this purpose, Emacs or Vi?
The purpose of the GPL is to ensure that the code will always be open.
The purpose of the BSD license is to ensure the authors are given proper credit, not necessarily to keep the code open.
X(7): A program for managing terminal windows. See also screen(1).
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
Bruce Perens.
It is not logical to expect (IMO) that a company contracting another company is always going to want (or be willing to accept) a GPL style license, so GPL'ing something limits its use in corporate sectors (again IMO).
Now many times if you go and ask the library authors' they'll grant special permission especially in a case like this, but it's a hastle to work with. And you can argue that you should fight for free software all over, but it doesn't make business sense in every case, especially when your company is not in the business of providing support.
Also the LGPL solves this sort of issue to some extent, but I'd say the LGPL is more BSD then GPL, but that's a bit of an overstatement...
I'm certainly not arguing your point (although one needs to expect users to exercise their licensing rights to the fullest extent), I'm only arguing that businesses and developers have differing goals.
Where the BSD license really shines is in areas like the Apache project. Businesses donate to the project so that they don't have to reinvent the wheel every other day. They are then free to take the resulting work and bury it deeply inside the code where they don't worry about it any longer.
In the case of GPLed code, a business must make an up front decision to accept the change in business procedures that the GPL requires. This is good for GPL developers because they see a return on their work other than money. It's bad for a business because it may invalidate their business model. (i.e. How they make money.)
As with all things, everyone has to meet in the middle on this stuff.
Javascript + Nintendo DSi = DSiCade
An enterprise can always approach the author of a GPLed software component and license it. Then they can do whatever they want, according to the alternate license, like shipping binaries with no source. He would be a fool who would not take money from someone who wants to ship proprietary binaries containing his program or library, under alternate licensing!
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!
Your analysis is blindingly oversimplified. Most companies would rather GPL their own code than release it under a BSD license, but would rather have others release their code under a BSD license.
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.
"Please for the love of god remember the children when you post."
So should we license our children under the BSD license, or the GPL one?
Really depends on the source I think. My fiance doesn't let me share my source anymore, and I certainly don't contribute it back to the tree, shudder.
The rock, the vulture, and the chain
Around Y2K, I worked for a company called Cyrano.com. It produced testing
.org domains set up. The project is still running, and
software. We had done very well in the run-up to Y2K - lots of people wanted
to perform regression testing on their database applications. We were a small
company - much smaller than e.g. Rational.com (Now borged by IBM), but felt
that we had a good product. The management decided that the best way to help convince
customers to buy our product, in the face of arguments that Cyrano might not
be around in a couple of years time, was to open source the code. In these
circumstances, the obvious license to choose is the GPL: it ensures that
the company benefits from any changes anyone else makes.
I spent a very long time going through the files, adding the appropriate
header comments, and removing any comments naming individuals, especially
individuals who were no longer with the company, before setting up the
project at SourceForge: http://opensta.sourceforge.net/. There were
also OpenSTA.com and
I believe that several ex-employees, made redundant after the company went
tits-up, are now self-employed and using the application.
At the very least, open-sourcing the project meant that the codebase was not
lost when the company folded.
First of all, is the author of ODE complaining about this? If not, then why would you bring it up as a "problem"?
Second of all, Microsoft *bought* a TCP stack from a Spider software when they were writing Win2k. Ironically, that TCP stack was taken from BSD - so you can be mad a spider software for 'stealing' the BSD tcp stack and laugh at Microsoft for paying for it.
I don't always use unix-like operating systems; but when I do, I prefer FreeBSD.
Your analysis is blindingly oversimplified. Most companies would rather GPL their own code than release it under a BSD license, but would rather have others release their code under a BSD license.
Which is one reason I am personally fond of the LGPL. It says, in essence, "MY code is Free and must stay that way. Do what you want with you parts." It also has the side-effect of encouraging good, modular, component-based design. That's a win-win for everyone. Why people keep forgetting the LGPL in these flamewars I don't know, as it is a perfectly reasonable compromise between the "do anything" BSD and the "hand of Midas" GPL. I am particularly fond of it for libraries, frameworks, APIs, etc.
That said, can we mod this entire story flamebait? I mean really, is the next Slashdot story going to be "Vi or Emacs, what does Slashdot think?"
--GrouchoMarx
Card-carrying member of the EFF, FSF, and ACLU. Are you?
Which is the best flamefest?
BSD License vs. GPL
Linux vs. FreeBSD
Emacs vs. vi
C++ vs. Java
Python vs. Perl
PHP vs. Ruby on Rails
Microsoft vs. SCO
Would it kill people to speak in normal sentences instead of Market Speak(TM)?
I think Market Speak(TM) revolutionizes leading-edge initiatives by deploying mesh synergistic relationships and innovates in user-centric niches by enabling strategy scalable streamlined virtual communities and transition collaborative deliverables!
Note that the author doesn't have the right to complain. People (companies?) are using the way he licenced it. The GP was giving an axample of why BSD style licences are bad for authors if they expect something (code) in return. Some company and other developpers might contribute back to BSD projects but that relies completely on their goodwill.
TROLL
Because:
1) It offers *zero* real protection, *especially* for *small developers* with no legal team to back them up.
2) For people that *are* honest, it causes a hell of a lot of interworking problems.
These are quite simply the facts, regardless of all the religious beliefs that are continously being flaunted above by misguided GPL zealots.
END TROLL
I marked this as a troll because that is how most people will percieve it. Nevertheless it's the truth.
I've seen a bunch of projects that chose to go with the BSD style licence and it's bit them in the ass. People are using their code left and right, but hardly anyone is contributing back since they don't have to. [...] As long as there are human beings involved, there's going to be people taking advantage of you.
I don't get this. Surely he wanted everyone to use his code, without any further obligations? Since that's exactly the point of the license he used? How can you call that "biting him in the ass", or "taking advantage of"?
BSD is clearly too loose, if you don't want people to keep their changes for themselves. But well, duh, don't use that license then. Most people in the BSD projects are perfectly happy if there code is used somewhere, regardless of ever seeing anything back (or so I've heard - I'm a Linux weenie).
Anyway, in between GPL and BSD license, there's always the LGPL.
I believe posters are recognized by their sig. So I made one.
LGPL is a nice middle ground if you want people to actually use your software... they can add their own value and make money, but changes to your library must be published.
GPL is extremely hard to use as part of a commercial project, as it forces GPL on everything that links to it. That's fine if that's what the author wanted to achieve.. I do remember in my earlier years as a programmer GPLing everything without thinking though and it wouldn't surprise me if that still happened.
The FSF (the people who wrote the GPL) don't agree with you on that matter.
How do you think Google gets away with modifying their software and deploying it on servers world-wide?
Some quotes from www.gnu.org from the GPL FAQ
Is making and using multiple copies within one organization or company "distribution"?
No, in that case the organization is just making the copies for itself. As a consequence, a company or other organization can develop a modified version and install that version through its own facilities, without giving the staff permission to release that modified version to outsiders.
Note : Notice the use of the word facilities, not facility.
However, when the organization transfers copies to other organizations or individuals, that is distribution. In particular, providing copies to contractors for use off-site is distribution.
If someone steals a CD containing a version of a GPL-covered program, does the GPL give him the right to redistribute that version?
If the version has been released elsewhere, then the thief probably does have the right to make copies and redistribute them under the GPL, but if he is imprisoned for stealing the CD he may have to wait until his release before doing so.
If the version in question is unpublished and considered by a company to be its trade secret, then publishing it may be a violation of trade secret law, depending on other circumstances. The GPL does not change that. If the company tried to release its version and still treat it as a trade secret, that would violate the GPL, but if the company hasn't released this version, no such violation has occurred.
I'm sorry, but I'm going to have to trust the FSF and the hundreds of other people who say what I say, as opposed to the handful who disagree, none of which have anything to do with the FSF
It would appear to me that they're not too hurt people are doing this. In fact, the choice of the BSD license in this case seems pretty well thought out, in line with that one aim of using the software however you so choose.
I don't moderate anymore. Karma penalty for 90% fair mods? Can I mod that unfair?