OpenLogic, makers of open source license compliance scanning software, have released some stats about open source license proliferation and popularity and it makes for some interesting reading. The big takeaway is that developers generally prefer the GNU General Public License while their enterprise employers prefer the Apache Software License. There are a number of ways to interpret this data.
“This research reveals a license divide between open source developers and enterprises. Hands down, developers prefer using the GPL license for their code, but enterprises tend to avoid the GPL in favor of the Apache license or other liberal licenses,” said Kim Weins, senior vice president of marketing at OpenLogic. “When you examine the data from enterprises using the OpenLogic Deep Discovery scanning tool, you are primarily capturing the use of open source by companies distributing software or electronics products containing software. These companies often try to avoid using open source licenses due to concerns about copyleft requirements and the impact on their own intellectual property.”
It’s important to remember that the GPL is a “viral” license: if you use substantial amounts of GPL code in your project, you’re obligated to license the whole thing under the GPL. There has been much gnashing of teeth over specific corner cases to the GPL’s applicability, and it hasn’t been tried much in courts of law, but most folks agree: the GPL license “taints” your work in such a way that the whole thing must be GPL’ed. (Yes, I’m simplifying a bit. I’m not an attorney, and the specifics of the GPL are not the main thrust of this post.)
Developers may not actually prefer the GPL license, but there is so much GPL licensed code available for (re-)use that it often seems silly to reinvent the wheel. If you can use a GPL library to do much of the heavy lifting for your application, it’s often easier to go with the flow: use that library and license your whole work under the GPL.
The Apache Software License does not “taint” your project in the same way that the GPL does. The original version 1 of the Apache Software License was the same as the BSD license, which essentially says “Here, take it.” The Apache Software License version 2 is a substantially more complex document than the BSD license (4 pages versus 1) which explicitly declares each right granted or restricted.
Some developers despise the Apache Software License, for a variety of reasons. I’ve been told, anecdotally, that the reason OpenBSD continues to ship Apache 1.3.33 is because they hate the ASL that much. Enterprises — and the legal teams at enterprises — find the legalese in the ASL to be more to their tastes. It makes it clear what is and is not permissible in standard legal language.
There are obviously exceptions to enterprise aversion to GPL, but they’re few and far between. As open source becomes even more mainstream in software development, we may see a shift in license preferences.
“The take-away point is that simply counting the number of open source projects under a particular license does not tell the whole picture,” said Weins. “These statistics indicate that GPL advocates have more work to do to convince enterprises to embrace the GPL. At the same time, they show that open source developers choosing more liberal licenses will lower the barriers to enterprise adoption.”
You can read the full press release on OpenLogic‘s site.