I have recently been asked to attend the GPLv3 conference later this month in Boston at MIT, and so I thought this was a good time to share how I personally view the GNU General Public License (GPL), and how it has touched my life.
Some seem to view software as a closed sphere; meaning that one person or group’s success must come at the expense of another’s. For those that have this rather selfish and narrow view of a closed world of zero sum games, I guess it makes sense to be able to take software and ideas that others have created, and offer them back with some modifications as proprietary solutions under the exclusive control of one individual or group.
From my view, I care not whether someone else is more or less successful with any given software or market than I am, nor do I view “the market” as a closed system where gain is only possible at the expense others, but rather as an open system without limits. What I do care deeply about, however, is that in the future others are able to enjoy the same freedoms and advantages that I have enjoyed. To me, the GNU GPL remains the best and most effective means to accomplish this today.
While the GNU GPL has enjoyed great success in the past, there are important challenges which I feel were not fully anticipated or originally addressed. The first is the question and challenge of software offered as a remote service. The second is the question of software patenting.
The question of software as a service is important. First, what if I take, say for example, SQL-Ledger, which is a web based accounting system offered under the GNU GPL, modify it in some way, particularly for some peculiarity in the way I do my own books, and then offer it to my employees through an internal web site. I think virtually everyone agrees this is a legitimate activity, that no “distribution” has occurred, and that I should be free to be able to do this. Certainly there is no GNU GPL question involved in this.
Now consider, instead, I choose to open an “ASP” model “accounting” service that I offer to the general public. Again, I take SQL Ledger, modify it in some manner, and keep these changes proprietary. Because the user is remote and the software executes on my server, I might legally get around the specific language in the current GNU GPL and hence my obligation to share my changes. But clearly I would have also violated the clear intent of the licensor and copyright holder of SQL Ledger in the process, who’s generosity has enabled me to open my asp accounting business in the first place.
The question of software idea patenting is an even more insidious challenge. When a traditional patent is offered on a “machine”, this means that nobody else can duplicate or make a machine that did something in a specific way. However, this does not prevent someone from creating a machine that achieves the same result through a different method.
When a patent is secured on an idea, the patent doesn’t cover just how one person might express or implement an idea. Idea patenting excludes anyone else from producing a similar end result, no matter how clever they are or how differently they might choose to do so. A software idea patent excludes all other potential implementations of a given solution. I think that the way in which the GNU GPLv3 chooses to address these two fundamental challenges to freedom will determine the immediate future of the free software profession.
Of course, there are other issues that relate to the GNU GPL. Some raise what I feel is a completely false assertion: that the GNU GPL mandates or favors a specific form of economic organization. On the contrary, advocating software freedom—just like advocating political freedom, or democracy—doesn’t favor or advocate any specific economic system. But, I do believe it maximizes the potential of whatever economic system has already been chosen.
There are, as far as I am aware, only two groups who directly oppose the GNU GPL. The first, and by far the largest, are those who wish to be free to exploit other people’s work for their own exclusive gain. The second includes those who feel that restricting freedom, even of those who choose to exploit others, is unacceptable. I have nothing to say or offer to the first group. However, for the second group, who do have a very principled stand, I always felt the GNU GPL’s true purpose was to be able to outlive its own usefulness and become unnecessary—when all software is free and the exploitation of freedom is therefore no longer possible, then the GNU GPL will no longer be required.