In this nifty piece of FUD from a so-called “open source” developer, the author goes on and on about the GNU GPL‘s costs to developers and its supposed disincentives to create. He conflates the imitative quality of some GPL software with the innovative character of the free software community as a whole, and their dislike of non-free software companies like Microsoft and its entrenched position in the marketplace with their own pleas for the good will and charity of the community they serve. What always gripes me about these “exposé” pieces is that there’s nothing in them (other than this character assassination) except “this is why I won’t use the GPL for my software, so you shouldn’t either.” Frankly, I don’t know who he thinks is twisting his arm.
While the FSF does say that they believe every piece of software should use the GPL, they recognize the pragmatism of not always doing so – heck, that’s why they created the LGPL, even though that is not their preferred license.
This piece trades on the typical misunderstanding of the separate terms of free software (or software libre) and copyleft. Free software is not that difficult to define. It requires that
- Any person/entity to whom you provide a binary must also be allowed to obtain a copy, on request, of the complete source code, in the preferred form which you yourself used to build the software.
- Said entity must be allowed to use the software for any purpose they see fit.
- Said entity must be free to modify, recompile, and/or redistribute that software in any fashion and to whomever they see fit, not necessarily including the original author.
That’s a paraphrase by me with some additional nuances, but I believe that’s accurate. You can double-check me here. This definition does not preclude many of the other popular licenses that abound – the BSD, X11, and Apache licenses are all free software licenses. The tricky part is copyleft. Copyleft adds one condition on the recipient of a piece of software:
- They must extend all of the same freedoms as above to any entities to whom they give the software in turn.
This is where so many developers get their undies in a bunch. The author of this screed says that “I don’t believe the GPL serves the software development community in the best possible manner. By virtue, it eliminates financial motivation from those writing software…” But the point of free software is that it doesn’t exist to provide “financial motivation” to developers, or consultants, or computer manufacturers, or software development houses that view software as a product. It exists to provide freedom to users. It’s a view of software as a commodity item, as a tool, not as an end to itself. This is where the free software and “open source” software movements are at such a disconnect – “open source” advocates argue the benefits to developers, which do certainly exist. The free software culture (and its strictly “open source” cousins) spread out development costs and act as quality assurance. They make it possible for other developers to find defects and report and/or fix them. Developers can add features that they or their employers/customers need. But these benefits exist because the license preserves the freedom of its users, and developers are themselves users.
Copyleft is the all-important clause that makes free software work for users. It is the guarantee that a johnny-come-lately to the party doesn’t take the software that until then was free and make it non-free by extending or modifying it and refusing to give those changes to their “customers,” for lack of a better term. Certainly, not every developer or software company that comes along does so – Apple, for example, does release their changes to the BSD Unix code from which they built their operating system Darwin. They are following in the spirit of the BSD community, where there exists a tradition of sharing your changes even in the absence of a copyleft provision in the license. Not everyone plays just as nice, however. Microsoft, for example, bundles many of the BSD network tools as part of their Windows products without publishing the source code. Sun does likewise with Solaris, and Hewlett-Packard with HP/UX, and IBM with AIX*. By and large, those entities who wish to profit on software directly don’t like having restrictions on their “freedom” to reap what others have sowed – it’s why Microsoft uses the term “viral” to scare people away from copylefted software.
The whole point is that obviously, any developer has to choose which license to use for a new work. But that choice rests in whom the developer is trying to serve – himself or the users for whom he wrote the software to begin with. If he is intent on asserting his own rights over the freedom of his users, he chooses a non-free license, including many that are so-called “open source” licenses. If he is content to make his work free, but not to protect that freedom for all users down the line, he can choose a free, non-copyleft license, such as BSD, X11, Apache, or MPL**. If, however, the author of a piece of software is committed to preserving the freedom of all software users, now and in perpetuity, even at the expense of his own rights, he chooses the GPL. The FSF tries very hard to be clear about this point. They, as an organization, do not try to confuse developers into licensing their work under the GPL. If confusion has crept in, it has come from other sources, notably from the OSI, which lists the GPL as an “open source” license and sells it as a panacea to all software development problems. But the bottom line is this: the GPL is not a license to choose unless you are committed to benefitting all users and not necessarily developers alone.
*To be fair, these last three companies all support Linux, a GPL operating system, to one degree or another, so their behavior is not completely without regard for the traditions of free software. Nor is Apple above reproach when it comes to their record on free software. See this commentary by Richard M. Stallman on the APSL for more details.
** Sop>**. If, however, the author of a piece of software is committed to preserving the freedom of all software users, now and in perpetuity, even at the expense of his own rights, he chooses the GPL. The FSF tries very hard to be clear about this point. They, as an organization, do not try to confuse developers into licensing their work under the GPL. If confusion has crept in, it has come from other sources, notably from the OSI, which lists the GPL as an “open source” license and sells it as a panacea to all software development problems. But the bottom line is this: the GPL is not a license to choose unless you are committed to benefitting all users and not necessarily developers alone.
*To be fair, these last t