Why you hate the GPL and why I love it
The GPL has fierce critics and fierce advocates. Here's the reason behind the divide.
I'm helping to edit what is turning out to be a shockingly good book on the legal issues around open source, from the developer's perspective, which Van Lindberg is finishing up and which O'Reilly will be publishing. When it comes out, you will want to buy it. It's incredibly well-written and expresses things much more clearly than I've yet seen in my 10 years within the open-source community.
As a case in point, Van explicates the Great Divide between those who love and loathe the GPL by citing a post on the Python mailing list about a controversial bit of code called setuptools:
[T]his information is VERY helpful. It makes it blindingly obvious to me now that the difference between loving and hating setuptools is whether you're *intentionally* using it, or whether it shows up in your ecosystem uninvited....
Meanwhile, from the "outsiders" point of view, setuptools looks like the Matrix or the Borg, happily assimilating the masses, who then start coming to you and say, "But you'll be so much happier once you join us..." ...and off in the distance, you hear a quiet rumbling of zombies chanting "eeeeggs.... eeeeggggs.... mussst havve eggggssss!"
The controversy over the GPL is similar. As one person put it, there is "an unreasonable fear of infection" associated with GPL-licensed code because the legal ambiguity of the licenses makes people unsure about whether the GPL will show up in their ecosystem uninvited.
For those of we who believe that the GPL makes an excellent capitalist tool, we love the GPL. We love it precisely because it forces a black-and-white decision: If you're going to use my code, either contribute back code or cash (to avoid contributing code)." Very clean. Very powerful. No free-riding on the promise of open source.
The difficulty arises with those who want the software without the obligation. Some are proprietary software developers. For some odd reason, they think it's unreasonable to expect them to give something back even though they would never make their software available for free (as in freedom or as in near beer).
In other words, the GPL makes the same demands of a would-be software distributor that proprietary software does: Buy a license or contribute back one's code. The difference is that in the proprietary world, even buying a license leaves you shorn of real rights to the code and the "contribution" of code back generally involves expensive lawsuits and court-ordered injunctions.
I'll take the GPL over that alternative, thank you very much.