Friday, October 24, 2008
Because open source people like a good debate...
There is a discussion going on in one of our forums. The topic is AGPLv3.For those that do not remember what AGPLv3 is (shame on you! I have a bet with Mark Radcliffe to win ;-)... AGPL is the GPLv3 variation that adds distribution of Software as a Service as one of the triggers for returning the code to the community. In practical terms, it makes distribution of SaaS as any other distribution (like in a floppy). If you host AGPL code and make changes to it, you have to return the changes to the community. Exactly as if you were distributing that code in a floppy.
AGPLv3 has been created by the Free Software Foundation (same people who did GPLv3) and approved by OSI as an "official" open source license (thanks to the submission of Funambol).
What is the discussion about? A crazy detail that does not make any sense. But we open source people like crazy details...
The problem is due to us releasing our clients with AGPL as well (same as for the server). It does not make sense, because the clients are not used in a server, so the A in AGPL is never triggered. We could have released them as GPLv3. However, we thought it would be dumb not to give it an A, with the idea that someone might reuse that code to build a gateway or a server (see... we are forward thinking ;-)
Clearly, the A in AGPL (section 13) applies if the code is used in a SaaS mode. If you use the code in a client and you do not offer it as a service, it is exactly as GPLv3. Section 13 does not apply. Period.
Thankfully, the Free Software Foundation has added now a comment in the FAQ that kills the debate (they agree with me, so... I won the debate!).
Sometimes, being too forward looking might be a bad idea. But if you like debates as we do in open source, then it is not ;-)
Posted by Fabrizio at 12:26

1 Comments:
Patrick Ohly said...
The whole debate hinges on the definition of the word "user" in section 13 of the AGPLv3. I'm fine with the implied interpretation of "user of the AGPLv3 program", but is it really so hard to understand that this interpretation isn't clear from the text itself? Of course a server operator is also a "user", just not of that program!
Regarding the new FAQ, it is more specific than the license text but could be improved further by spelling out the meaning of "user" explicitly.
Is there still a chance to revise the FAQ as follows?
This should not be required in any typical server-client relationship. AGPLv3 requires a program to offer source code to "all users interacting with it remotely through a computer network." "user" in this context refers to users of the program licensed under the AGPL. In most server-client architectures, it simply wouldn't be reasonable to argue that the server operator is such a user "interacting with" the client in any meaningful sense.



