On Monday August 31st, Gowlings hosted a debate on open source licenses organized by the Free and Open Source Software Learning Centre (FOSSLC).
The debate was conducted between the proponents of three major Open Source licenses: Mike Milinkovich for the EPL, Matt Asay for the GPL, and David Maxwell for the BSD license.
It was organized into three rounds: first the panelists had ten minutes to sell us their license of choice. Then they were given five minutes to rebut points made by the two other panelists. A final one minute was given to rebut any rebuttal. After those three rounds, the audience—both the live one and that watching the feed—asked their questions.
From what I could estimate, between 50 and 70 people physically attended the event. Andrew reported that between 25 and 50 viewed the live feed. Videos of the event are available on the FOSSLC site.
FOSSLC is the Free and Open Source Software Learning Centre, a non-for-profit organization dedicated to the promotion of Open Source software. It is a relatively young organization, having been around for barely two years, but already it has chapters in Canada, Germany, and the United States. It is helmed by Andrew Ross, who works at Ingres.
The host and one of the sponsors of the event. Gowlings is a large Canadian law firm. Obviously, they have an interest in the wonderfully convoluted world of software licenses.
Mike Milinkovich, defending the EPL, is the Executive Director of the Eclipse Foundation. Which comes to no big surprise considering that the E of EPL is Eclipse.
Matt Asay, representing the GPL, is the VP of Business Development for Alfresco, a California-based company concerned with content-based management.
David Maxwell, representing the BSD license, is an Open Source strategist at Coverity, a software integrity company.
EPL is the Eclipse Public License, used by Eclipse for its software.
GPL is the GNU General Public License, originally written by Richard Stallman for the GNU Project.
The BSD license is the license originally created for the BSD (Berkeley Software Distribution) UNIX operating system.
Let the Battle Begin
So, which license is best? The answer is: it depends.
In more detail, it depends on several factors:
- Your business model. Are you going to redistribute software? Or
provide technical support?
- Are you aiming for adoption or monetization of your code?
- What kind of community and eco-system are you trying to foster around your software?
- Where your developers stand—developers sometimes have strong feelings for/against certain alternatives.
- Are you opening code that is a complement, or the core of your business?
General Points on Licenses
To be blunt, we can divide licenses into three types:
- Gimme credit (e.g., BSD)
- Gimme changes (e.g., EPL)
- Gimme everything (e.g., GPL)
There are many more Open Source licences out there than the three presented in the debate, but these represent of the three main types of licenses. For more information, the OSI website keeps a list of all its approved licenses, divided into categories.
A rule of thumb is: if the code is complement to your business, release it under a lax license (as to maximize adoption and promote community involvement). If it’s core to your business, consider something that will protect you more.
Dual-licensing is a compromise between openness and keeping control. MySQL is a good example of a project that successfully used this system (it was advanced in the debate that MySQL was in fact the first to use dual licenses).
The Eclipse Public License (EPL)
It appears to be the most company-friendly license of the trio, and has been described in semi-jest as having been written for lawyers.
Its gist is: if you take code licensed under the EPL and generate derivative work, this work has to be donated back under the same license. If, however, you use the EPL’ed code without modification in your application’s stack, you can do whatever you want. This allows for companies to use Open Source code without having to face an “all or nothing” sharing situation.
Some of its users are Eclipse (natch), IBM’s Rational, Nokia (via Simian), and Airbus.
The GNU General Public License (GPL)
The GPL is arguably the granddaddy of them all. Matt boasted that 70% of Open Source projects use the GPL. However, it was astutely pointed out that this number is meaningless, as not all OS projects are created equal—only a few of them have significant userbase, longevity, and/or quality. A more reasonable metric would be to look at well known and proven projects. But even then, the GPL is strongly present.
The gist of the GPL is: if you change the code and release binaries, you also have to share your changes to the code. This is touted as the free-er of the licenses. The subtlety, however, is that it is freedom of the code, versus freedom of its user. To put code under the GPL is to ensure that everything it is used for has to be left open. This is a viral behaviour that has been known to scare some parties (or at least make them mildly uncomfortable).
The BSD License
The BSD license is the most lax of the three licenses. It is quite close to “here’s the code. Do what thou wilt.”
The simplicity is a point in its favour. Where the EPL and GPL weight over ten pages each, the BSD license is basically . . .
Copyright (c) <year>, <copyright holder>All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
* Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
* Neither the name of the <organization> nor the
names of its contributors may be used to endorse or promote products
derived from this software without specific prior written permission.
. . . plus a paragraph of details. Its brevity leaves little room for interpretation and ambiguity. This shines when contrasted to, for example, the EPL, where a contributor is redefined as a distributor. The thorny problem of redistribution (what exactly is redistribution? Does sharing your code with contractors fall under it?) is also a non-issue for this license.
As mentioned above, there is no more point in declaring one license to be the “best one” than there would be to proclaim the supremacy of one kind of shoes over all others. Different circumstances just come with different criteria. To get quickly from point A to point B, you’ll want running shoes. To impress the crowd, stiletto heels are a better bet. Unless you sport a nicely trimmed beard, in which case I’d sooner recommend Oxfords.
The same thing goes for licenses. The trick is to know enough of the different options out there to make an informed decision when the time comes. Conveying that information was the primary goal of the event, and it delivered on it in a most excellent manner. And while a two-hour debate on pointed law matters had the very real potential to degenerate into a snore-a-thon, it managed to stay dynamic, alive, and pertinent for its whole length. For that, both the organizers and debaters deserve much credit.
Interested in working with Yanick? Schedule a tech call.