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.

There are two issues being discussed, one is what the AGPLv3 means, and
another on how it applies to PySoy.  I'll only address the license in this
email.

Given the thread thus far to paste AGPL section 13, the only section which
differs from the GPLv3 beyond name changes:

  13. Remote Network Interaction; Use with the GNU General Public License.

  Notwithstanding any other provision of this License, if you modify the
Program, your modified version must prominently offer all users
interacting with it remotely through a computer network (if your version
supports such interaction) an opportunity to receive the Corresponding
Source of your version by providing access to the Corresponding Source
from a network server at no charge, through some standard or customary
means of facilitating copying of software.  This Corresponding Source
shall include the Corresponding Source for any work covered by version 3
of the GNU General Public License that is incorporated pursuant to the
following paragraph.

  Notwithstanding any other provision of this License, you have
permission to link or combine any covered work with a work licensed
under version 3 of the GNU General Public License into a single
combined work, and to convey the resulting work.  The terms of this
License will continue to apply to the part which is the covered work,
but the work with which it is combined will remain governed by version
3 of the GNU General Public License.


I'm going to break this down into pieces, as I understand it from numerous
conversations with people at the FSF, SFLC, etc:


*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.

Also note that the first paragraph of section 13 only applies when you're
able to connect to the Internet, thus, the license passes the desert island
test just the same as the GPLv3 does.


*an opportunity to receive the Corresponding Source of your version by
providing access to the Corresponding Source** from a network server at no
charge, through some standard or customary means of facilitating copying of
software.*

Note that this does *not* read that the user of the software must,
themselves and through their local Internet connection, send a copy of the
modified software.  It also does not specify that the user must host it on
their own server.

It is standard and customary that software patches be made available through
a VCS.  Many VCS's allow numerous options in how this can be done.  There
are numerous free code hosting services available to anybody with a network
connection.  In many cases only the modifications to the Corresponding
Source on which it's based (ie, VCS patches) need be uploaded, and only
once, by the modifier themselves.

Thus, the source sending requirement does not violate DFSG's guidelines 3 or
5, as nobody who is able to run software on the network is burdened
(financially or otherwise) with offering their changes to the people
operating software that their modified software is interacting with.


*but the work with which it is combined will remain governed by version 3 of
the GNU General Public License.*

While paragraph 1 requires all modified Corresponding Source be included,
including dependencies, this does not mean that dependencies are now subject
to AGPLv3 outside the context of this specific software.  Including the
whole of the Corresponding Source closes a loophole where essential
functionality is added to a dependency (ie, new functions added to a
library) but only the modifications to the AGPLv3 covered work which utilize
those functions are provided on request.

Thus, the AGPLv3 does not "contaminate" other software as in DFSG guideline
9.


The only potentially tricky spot I see is the dissident test.  I believe the
AGPLv3 could pass as it does not require that the software, when on a
network, interact with anybody.  That is to say, if avoiding an evil
government's prying eyes was desired, the software could only interact with
trusted agents, and thus keep even it's presence secret.

Reply via email to