Affero General Public License Version 3

The Free Software Foundation sent out a press release today announcing a new addition to the FSF stable of licenses: the Affero General Public License or AGPL. The FSF has also published a set of answers to anticipated questions in the GPL FAQ.

The first paragraph of the release explains what the AGPL is:

This is a new license; it is based on version 3 of the GNU General Public License (GNU GPLv3), but has an additional term to ensure that users who interact with the licensed software over a network can receive the source for that program. By publishing this license, the FSF aims to begin fostering user and development communities around free software web services and other network-oriented software.

The GPL is designed to ensure that users of software have access to the source code — source is prerequisite to freedom and to the type of collaboration that has made free software successful. However, the GPL doesn’t say "users" when it talks about who gets freedom; instead, it references people to whom the software is distributed. It doesn’t say users for two reasons. The first is that, under copyright, "distribution" is a much more meaningful term and a powerful hook than "use" which is not, in most cases, one of the copyright holder’s exclusive rights. The second is that, until very recently, having a copy of software was prerequisite to using it; possession was prerequisite to use.

Things have changed. A large part of many people’s computing experience involves running web applications. These include email clients (e.g., GMail or other webmails), office applications (e.g., Google Docs), social network systems, and others. These applications all run on servers — i.e., on other people’s computers. The providers of these services, the Googles and the FaceBooks, build upon, modify and improve GPL software without giving back to their users or the community that they took their software from.

The AGPL was created several years ago by FSF board member Henri Poole as a way to address this issue. The license took the form of the GPLv2 with one extra clause. It was a first stab at a license and was imperfect. The language and methods were clunky and, most problematically, the license was incompatible with software under the GPL.

The new AGPL is based on the GPLv3 and the extra clause has been rethought and rewritten. It has been vetted using the GPLv3 comment process and dozens of insightful comments from dozens of lawyers, hackers, and users of free software have been incorporated. The new license fixes the issues that many folks — including myself — had with the first version of the license. More importantly it can now be linked to GPLv3 code which makes the license a whole lot more practical.

I am quoted in the release being excited about the license and I really am. I’ve got 2-3 major development projects (including Selectricity) which I’ve been waiting to distribute so that I could do so under the AGPLv3.

The AGPL isn’t a complete answer to the problem faced by disempowered users of web services. Without data or the capacity (in terms of servers, money, and expertise) to run web applications, the state and quality of these users’ freedom remains far from clear. Thankfully, there are a whole bunch of folks thinking about what freedom for users of services might be — it’s a conversation that I’m going to push the FSF to participate in and pursue moving forward. The AGPLv3 marks a first solid contribution to the process of answering that question. If you’d like to help supporting or assisting the FSF in this effort, please consider becoming an associate member or donating.

My Balkan Tour

I recently mentioned that I would visiting some friends at mi2 in Zagreb and would be traveling around the Balkans a bit to give some talks and workshops. Here’s what the current plan includes:

  • Novi Sad (November 20, at 20:00): I’ll be participating in a discussion of hacker culture at CK13.
  • Novi Sad (November 21-22 16:00-21:00): There will be a System.hack() exhibition which I helped prepare some of the text for and which I’ll be on-hand for. It will include a narrated history of hacking through six objects. The exhibition will be held in an room of the Mediteraneo Hotel in Novi Sad.
  • Belgrade (November 23 20:00): Another discussion on hacker culture, this time at Rex.
  • Belgrade (November 23-24 17:00-20:00): System.hack() will be exhibited again in a room of the Kasina Hotel.
  • Ljubljana (November 26, Time TBD): I’ll be giving a talk on free software project management at Kiberpipa/Cyberpipe
  • Zagreb (December 3): I’ll giving a talk in the giving a talk in the g33koscope lecture series. The topic and time are still undecided.

If you’re in Novi Sad, Belgrade, Ljubljana, or Zagreb and would like to meet up, please consider coming to the events and exhibitions. If you can, and especially if you can not but would like to meet up anyway, feel free to drop me an email and let’s try to organize a meeting.

Thanks go to Tomislav Medak and Marcell Mars who organized System.hack(), this whole tour, and who helped do the work to bring me over. I’m looking forward to the next couple weeks.