The two companies publicly support open source efforts and both have built
products that take advantage of open source software. Yet Google and
IBM tend to prefer open source licenses other than GPL.
Why is that?
It’s a question that has a few answers. It’s also particularly interesting
in the context of the current discussion about revisions to the GPL in version 3, which is expected to be finalized this year.
Google’s manager of Open Source Programs Chris DiBona recently told me that Google typically chooses the Apache license as a way to help broad commercial and open source adoption. Google does also release software under the GPL and will continue to do so when it makes sense even after the GPL version 3 comes out.
IBM’s Steve Mills told my colleague Clint Boulton at a recent event that IBM
lives with the current GPL today though they don’t particularly care for it
“It carries with it certain dos and don’ts as far as packaging. We think
there are other licensing techniques out there that are more attractive,
certainly the Apache approach and others that are somewhat less onerous than
GPL,” Mills said.
“We’ve been an advocate of these other licensing techniques,” Mills
continued. “We use them ourselves for things that we put out under open
source. We don’t use the GPL for reasons of the restrictive nature of GPL. ”
Ahh, the restrictive nature of the GPL.
It’s a common refrain for those that choose other licensees. While GPL is an
Open Source or Free Software license, that freedom is also considered by some
to be restrictive.
The GPL, whether it be version 2 or the upcoming version 3, is fundamentally
different than the Apache license in one core and critically important area:
reciprocity. That reciprocity is considered to be somewhat restrictive in
that it requires those who make changes to GPL-licensed code to contribute
those changes back to the community.
Enterprise Content Management vendor Alfresco recently decided to move from its Mozilla Public License based (which is similar in many respects to the Apache license) to the GPL.
Instead of seeing the GPL as
being something that would handcuff their business, Alfresco has taken the
view that it will actually help their commercial business.
Matt Asay, vice president of business development at Alfresco, told me that the risk of a forked version of Alfresco’s GPL code would be a positive thing for the company.
“We would be ecstatic if someone forked the GPL version of Alfresco because
then they get to go off on their fork and develop their own system but we
would also benefit from the work that they do,” Asay commented.
“If we can’t compete based on the work that we’re doing on our own code as well as benefiting form the work that a fork would do on theirs, then we don’t
deserve to be in business.”
The debate over what open source license is actually better for business
extends to nearly every facet of the open source ecosystem. In the
middleware market, which is worth billions of dollars, IBM and Red Hat recently sparred over GPL and Apache and which approach is actually more open.
argued that the Apache community approach was better with its Apache
Geronimo, and Red Hat argued that the LGPL approach was better with its JBoss
Raven Zachary, an analyst with the 451 Group, recently wrote a research report calling the GPL the No. 1 choice for vendors that are moving from
proprietary to open models. Zachary said the GPL helps protect commercial interests.
“While it’s still possible to fork and to do commercial re-use, it’s much
more difficult than with Apache or BSD licenses where there is no
requirement of giving code back to the main tree,” Zachary said in a recent interview with internetnews.com.
Eben Moglen who is helping to lead the GPL version 3 efforts, once told me
something about GPL that has stuck in my mind as a defining statement for
what makes GPL different: With the GPL, that which is born
free will remain free.
But that’s not necessarily the case with Apache-type licenses. One notable
example is how Eclipse tends to work. The entire Eclipse model (which is one of the most successful open source organizations
ever created) is to allow commercial vendors to build additional value on
top of open source code.
If that additional value add were required to be
open source as well, then it becomes more difficult for the commercial
vendor to differentiate their product just on features.
Fundamentally it’s all about the difference of being free versus being open.
Protecting software freedom
Though I often will refer to the GPL as an open source license, the
original author of the GPL, Richard Stallman, would not be impressed. He uses the term “free software” rather than open source, and for him and his disciples there is a big
difference between “free” and “open.”
Free is all about freedom. That freedom is specifically defined as the four
software freedoms that Stallman has deemed essential:
- Freedom zero is the freedom to run the program as you wish.
- Freedom one is the freedom to study the source code and change it, so that
the program does what you wish when you run it.
- Freedom two is the freedom to help your neighbor; that is, the freedom to
distribute exact copies to others when you wish.
- Freedom three is the freedom to contribute to your community; that’s the
freedom to distribute copies of your modified versions when you wish.
GPL version 3, as was the case with version 2, is merely an effort to protect
Stallman’s four essential software freedoms.
Yet thanks to the larger open source ecosystem, vendors like Google and IBM
have another essential freedom: choice. The choice to choose a license that works for them and allows them to both contribute and profit from Open Source.
There is no question that both the Apache license and the GPL license are
both open and can be used successfully by commercial ventures. The only
question is what makes sense for the developer or vendor and their
particular application and business model.
It is good to be free. It is good to be open. It’s better to have choice.