I just read an interesting blog by Savio questioning the value of LGPL. IMO, he has something right, the OSS license chosen for a project is not that important as far as adoption or business goes. The most important driver for OSS is and always has been the brand of the project. Like their commercial counterparts, how the project is perceived by consumers is what drives both adoption and business. So, I agree, LGPL doesn’t add a lot of value. But, it goes both ways, the Apache license is also not that important either.
If you boil it down, the distinctions betwen GPL, LGPL, and ASL are pretty much meanlingless to most consumers of OSS. How so?
1. The viral nature of GNU bases licenses is only triggered when binaries are distributed. Most consumers of open source do not distribute software publicly.
2. LGPL is also not an issue for ISVs as long as they leave the binary as-is. Its viral nature is triggered when the project is both modified and distributed.
So, when you take these two points together, the number of people affected by the differences between GPL, LGPL, and ASL become fewer and fewer. GPL does not affect > 90% of OSS consumers. For LGPL, the number of people actually affected by the license becomes a number that you can probably count on one hand. The ones affected are the ones who actually want to use derivatives of the project within their own competing initiatives that are not LGPL-based. So, do you see how meaningless it truly is?
Why making these distinctions is damanging
This all brings me to my final point. The whole push by Apache.org and its minions that ASL is the one true license is just damaging to open source. When you consider the handful of individuals affected, you got to question the motivation for it, especially when you match it up to LGPL. The thing is though, highlighting the differences only helps those handful of people that have selfish motives and/or want to exploit OSS for commercial gain. Believe me I’ve lived this.
Back in 2003, a group of JBoss contributors tried to fork both the JBoss code base and the JBoss business. IMO, their motives were mostly financial. They wanted a bigger piece of the pie that Marc Fleury was unwilling to give up. Whether or not they were right to do this is besides the point, there are good arguments on both sides, and whats done is done. They initially derived themselves from the JBoss codebase, went to Apache, and thus Geronimo was born. We complained that their derivation was both a copyright and LGPL violation. In the end, they started over from scratch (don’t think the LGPL had value for JBossians back then? think again!). When Geronimo 1.0 came out, their feature set was vastly inferior to JBoss so their push was that it was the only Java EE implementation that was ASL. That LGPL was scary and the only way to get over the fear was to use ASL-based projects. IBM got into the act when they purchased Gluecode (and all the Geronimo developers) and embraced Geronimo as their children’s edition of Websphere. Again, the main push was that Geronimo was ASL based.
We then come full circle to 2010 with history repeating itself (well, sort of). You have Tom Bayerns leaving Red hat for Alfresco to create a competing BPM engine. Now, I consider Tom a friend, and I completely understand his reasons for leaving Red Hat. That being said, launching a new open source BPM engine with the premise being “we want to create something in ASL because it is better for our business”, is not the way to go about it. Again, it smacks all over of having nothing but the zero-add of the ASL distinction. And, is just completely irresponsible.
If you are an Apache guy, you should be appalled by behavior like this when it happens. Individuals and companies that use ASL as a weapon to further their own selfish and commercial needs should be castigated and called out instead of championed as the reason why ASL is so cool and LGPL is so bad. Respect the choice of other open source developers, propagating the myth that an ASL project is superior to a LGPL project because of license distinctions does nothing but hurt the open source movement as a whole. We need to stop eating our own.
Finally, I just don’t want to bash on Apache and ASL. Joining the GPL revolution isn’t so hot either. The fear of GPL virality is used extensively in the dual-licensing ploy of commercial interests. Think MySQL. For me, I would never pick GPL, because I believe in the freedom of letting ISVs distribute my stuff as-is. As for LGPL vs. ASL? I could care less, it really doesn’t matter. You don’t see JBoss caring so much either. Drools is still ASL as well as a number of other jboss.org projects.
Anyways, have fun with this, and remember taking any one position to seriously is unhealthy.