The Affero clause feels right intuitively, but is it? What problem is it trying to address for software users? And in what way are we users of the software that it covers?
Matt Lee (CNUK) has argued that the Affero clause will burden end users of CRM software more than the likes of Google. And if I have to make all the code of my CRM installation available, what happens to my database_password.php file?
Crosbie Fitch (FCUK) has argued that the Affero clause confuses public and private use of software, making the GPL into a “gift economy” license rather than a rights-based license by emphasising sharing (distribution) over use.
These are persuasive arguments but they do not alter the fact that web-serivicization of Free Software looks and smells like Tivoization. In both cases the freedom to use (in the FSD sense of “use”, what I call “Mere Use”) software that was previously Free is denied to the user by measures not accounted for in GPL-2.
Web services use xml-rpc to firewall Free code inside the private space of an organization. AJAX is software executing half in your public web browser and half on a private server, again using xml-rpc or a similar method of remote procedure invocation as a firewall. And it is the fact that we are discussing method invocation that is the key. This is not a public/private or “sharing” issue. It is as an issue of how we conceive of “linking” and of “distribution” or of public use. Web services and AJAX count as providing software publicly for linking to or use by virtue of their technical construction. Their “semantics of communication”, as the GPL FAQ puts it (http://www.gnu.org/licenses/gpl-faq.html).
Perhaps then we should not think of the Affero clause as a gift-economy clause bolted on to the GPL. Instead we should think of it as a special exception for those who wish to use Free Software without giving users the freedom to tinker with the running code that Free Software normally provides. In return for this, fairly massive, exception they only have to observe the terms of the GPL that they are still capable of observing. Such as the public disclosure term.
The Affero clause is therefore still about Freedom, not “sharing”. It is the LGPL for the age of REST. If the circumstances you have created will deny me Freedom here, the Affero clause says, at least let me have it elsewhere.