[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: GR proposal: the AGPL does not meet the DFSG (take 2)



On Wed, Nov 11, 2009 at 08:52:23PM +0100, Bill Allombert wrote:
> Dear developers,
> 
> I respectfully submit this general resolution proposal to your consideration.
> (this GR proposal supersedes the proposal in <20090318235044.GA30722@yellowpig>)
> 
> Asking for seconds,
> (please CC me)
> Bill. <ballombe@debian.org>
> 
> This General Resolution is made in accordance with Debian Constitution 4.1.5,
> however it overrides a decision of the FTP masters made in
> <87k5aovzzi.fsf@delenn.ganneff.de> [1].
> 
> [1] <http://lists.debian.org/debian-legal/2008/11/msg00097.html
> 
> ========= Text of the GR ===================
> The Debian project resolves that softwares licensed under the GNU Affero
> General Public License are not free according to the Debian Free Software
> Guideline.
> ========= End of the text ==================
> 
> RATIONALE (to be amended if necessary):
> 
> 1. The GNU Affero General Public License (AGPL) is essentially the GNU General
> Public License with the following additional clause reproduced below.
> See http://www.fsf.org/licensing/licenses/agpl.html for the full text
> of the license.
> ""
>   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.
> ""
> 
> 2. This clause is incompatible with Section 3. of the Debian Free Software
> Guideline:
> 
> 2.1 This clause restricts how you can modify the software.  
>     Doing a simple modification to a AGPL-covered software might require you to
>     write a substantial amount of extra code to comply with this clause.

How is this any different from the requirement in the regular GPL to
provide source at no cost? Often this is done through website, too.

> 2.2 This clause forces the developer modifying the software to incur cost.
>     A developer modifying the software and distributing the modified version
>     need to incur the cost of providing access to the Corresponding Source from
>     a network server as long as at least one person is using the software and
>     this for all published modifications, even long after the developer stopped
>     using and/or distributing the software.

Actually, that's not true.

This clause applies to service providers who provide a service based
upon a slightly modified piece of AGPL software. The requirement to
distribute the modifications only applies to your service:

"if you modify the program, your modified version must [...] offer [...]
an opportunity to receive the Corresponding Source of your version"

It does not say that you must distribute the Corresponding Source for
all eternity. Compliance with this clause can be accomplished by simply
adding a hyperlink to a .tar.gz with your source on an appropriate
place. That does require you to have proper procedures in place to make
sure the .tar.gz is always up-to-date with regards to the 'released'
version of your service, but this is no different from doing the same
with releasing embedded hardware that uses GPL software, for instance.

> 2.2. While this clause does restrict mere use of the software, instead it
>    creates liabilities for people modifying the software, even if they
>    distributed their modified version in source form, with respect to the way
>    the software perform on user systems.
> 
>    -- Modifying the software can unwillingly introduce a bug that cause it
>       not to comply with this clause.

That hardly matters; bugs can be fixed. If you bring someone to court
because they introduced a bug in their software, I'm sure the judge will
punish you for wasting the court's time.

On the other hand, if such a bug were to exist and the developers would
seem unwilling to fix the issue in a reasonable timeframe upon being
notified of the problem, then that would mean they simply do not comply
with the requirements of this license, and should be sued.

>    -- A user of the modified version can mis-install it, mis-configure it or
>       run it in an untested environment where it does not comply with this
>       clause.
>
>    -- A user of the modified version can use it in a configuration that cause
>       it to fail to comply with this clause (for example using a reverse proxy
>       that remove link to the source code from the html output).

No. If you do not modify the software _yourself_, you do not need to
publish such a link. Only if you have local modifications is this
necessary.

> 3. This clause is incompatible with Section 6. of the Debian Free Software
>    Guideline.
> 
> 3.1 This clause does not allow you to modify the software to perform tasks
>     where complying with it is not technically feasible, for example:
> 
>    -- The code is modified to run on an embedded system with tight size limit.
>
>    -- The code is modified to interact with the user using a network connection
>       with extremely low throughput.

Nowhere does that clause say that you need to put the code on the same
device as the one you're running it on; size limits and network
throughput issues should therefore not be an issue.

Additionally, if you're working with embedded software, the 'normal'
GPL's clauses about software redistribution will already apply,
regardless of whether or not the software is used over a network
connection; these are often complied with in ways that would be
sufficient for this clause, too.

>    -- The code is modified to interact with the user using a network protocol
>       that does not allow to display a prominent offer.

This is actually your best argument so far, but I don't think it's
completely true either.

First, network protocols that "do not allow to display" anything are
abundant, since no network protocol "displays" anything -- clients that
use the protocol do. This is true for HTTP, FTP, SMTP, and whatnot.

This clause requires that the user be informed about the fact that the
software is modified. In a piece of software that uses HTTP, this is
simple -- just add a link to the website, and you're done.

If the software uses some other protocol that doesn't allow you to do
some lay-out like HTTP does, then you simply need to make sure that
people using your software are informed out-of-band. For instance, if
the service you provide requires a username and password, then the
registration email could provide the required information.

If the only thing the software you've modified does is, say, produce an
XML stream that some custom client which you've written then interprets,
then all you need to do is make sure this custom client has the
necessary information in an appropriate place.

The clause says 

"your modified version must prominently offer all users interacting with
it [...]"

I don't think that must necessarily be interpreted into saying that it
must be done by the software itself, rather than by anything that would
be used in cooperation with the network server.

In other words, I do not think that the AGPL is any more non-free than
the GPL is, at least not according to the DFSG. That's not to say that I
think the AGPL is a good idea or that I'll be releasing any
AGPL-licensed software any time soon, but that's of course a different
matter altogether.

-- 
The biometric identification system at the gates of the CIA headquarters
works because there's a guard with a large gun making sure no one is
trying to fool the system.
  http://www.schneier.com/blog/archives/2009/01/biometrics.html

Attachment: signature.asc
Description: Digital signature


Reply to: