Re: Is AGPLv3 DFSG-free?
2008/8/19 Arc Riley <firstname.lastname@example.org>:
> Greets. It's been awhile since I unsubscribed to this list, so a quick
> introduction is that I'm the maintainer of the PySoy project, the game
> engine being discussed here.
Thanks a lot for your input here, Arc :)
> your modified version must prominently offer all users interacting with it
> remotely through a computer network
> The terms of client/server/peer do not appear in the license text. A "user"
> is thus any person operating software which interacts with the software
> you're running, regardless of the network role your software is running in.
> If you're running a 3d IM client connected to GTalk, and that client has
> modified code, you're thus required to allow Google sysadmins to receive a
> copy of your changes.
It seems that the logic under AGPL is to consider a network connection
(which doesn't have to be the Internet, it can be, lets say,
bluetooth) almost at the same level as code linkage then. It makes
sense from a certain point of view. AGPL seems to consider then more
or less communication through a network as if it was "linking" server
and client (or two peers) using a network protocol instead of a direct
code call. This does not affect at all to one program calling another
one, as far as I understand, and it would be possible to circunvent
this kind of protection by, for example, having part of the server
engine code in a different program and communicating to the
AGPL-covered part via local pipes, files or a database, for example,
the same way that it would be able to circunvent GPL in similar
circumstances, am I wrong?
I also understand that lower layers in the communication are not
considered users, even though they interact with the program through a
network. I mean that an http proxy wouldn't be considered as user of a
web app, as it only transmits the information and doesn't use it in
any way. Same thing goes for routers, for example.
I'm not exactly sure how it would be technically possible to
"prominently offer all users interacting with it remotely through a
computer network [...] an opportunity to receive the Corresponding
Source..." in certain kind of programs that do not have a textual
interaction with people. I can think of many of those protocols, for
example Network Time Protocol or DNS. In case that this textual
interaction is possible, but you don't want to reveal your identity to
protect your intimacy (thus, remaining anonymous), the only way of
being able to transfer the corresponding source would be through some
server in the same network connection. Even in that case, the license
probably requires you to have the source code available some period of
time afterwards (three years), because you might not be able to
guarantee that the time frame in which you are connected to the
network might be enough for the other user to download it.
So, everything is pointing towards this situation:
1) The program must somehow inform the other user that the source code
is available, which might be quite hard depending on the communication
2) The source code must be put in a more or less stable server, with
the cost associated to that, because you cannot trust the current
network link to be enough to fulfill the requirements of the license.
3) The user cannot remain anonymous.
Some situations that bother me:
1) You use the code to make a game for your mobile phone or a games console
2) Embedded programs, or small lappies kinda OLPC or EEE
3) Unreliable connections like mobile ones
4) Games in which, for any reason, you'd prefer to remain anonymous
(because of their sexual, ideological, or somehow controversial
I'm also quite bothered regarding to which extent does the AGPL
applies to the libraries they depend on. If I have an AGPL-covered web
application running on a modified version of Apache, or maybe I might
have some some Apache modules, must I release all of them at the same
time? If I buy a linux-based mobile phone, or a nokia 810 device, and
I make a game based on an AGPL library that, lets say, allows playing
in network through Bluetooth with other devices, am I not allowed to
use that game in a private way, without having to set up a server,
advertise that I'm using that game and where the server is and so on?
At least those are some of my concerns.