[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 11:11:40PM +0100, Wouter Verhelst wrote:
> On Wed, Nov 11, 2009 at 08:52:23PM +0100, Bill Allombert wrote:
> > 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.

If you modify a GPL-licensed software and distribute the modified version in
source form only, you do not have any long standing obligation. This is not
the case here.

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

The clause apply to whoever made the modification, not whoever provide the
service. They might be different people, and the modifier should not be
responsible for what the service provider do. Do you agree ?

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

The license does not specify a limitation of time.

> Compliance with this clause can be accomplished by simply
> adding a hyperlink to a .tar.gz with your source on an appropriate
> place.

This require you for keeping the .tar.gz online for as long a people are
providing services using your modified software, which can be a long time
after you stopped distributing it and stopped to care about it.

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

Not really: with the GPL, you can just ship a CD-ROM with the source code with
each embedded devices. At this point your have no further obligation. 
(I bought several devices which provided such CD-ROM. This is far from
hypothetical.)

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

The developer might release a fixed version of the software (and thus 
a new Corresponding Source) without being able to force the service provider
to switch to that new version, which has no legal obligation.

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

So if you are as service provider, is the AGPL trivially bypassable by having 
someone doing the modification for you but never actually provide any service ?

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

Yes, but you still have to display a proeminent offer. This can still be too
much, if the display is just a pair of digits.

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

Agreed. What if the client cannot be expected to display such notice ?
 
> 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.

Assume this is web server. Are you suggesting it modify the page it serve to
add the notice ?

Cheers,
-- 
Bill. <ballombe@debian.org>

Imagine a large red swirl here. 

Attachment: signature.asc
Description: Digital signature


Reply to: