lilypond-devel
[Top][All Lists]
Advanced

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

Re: Use GhostScript API instead of forking (issue 548030043 by address@h


From: dak
Subject: Re: Use GhostScript API instead of forking (issue 548030043 by address@hidden)
Date: Sun, 03 May 2020 04:38:56 -0700

On 2020/05/03 10:46:49, hahnjo wrote:
> On 2020/05/03 10:40:25, dak wrote:
> > On 2020/05/03 09:46:56, hahnjo wrote:
> > > rebase + allow -dgs-api=#f to still fork
> > 
> > I decided to look up the terms of the Affero GPL version 3.  The
relevant
> > differences are:
> > [...]
> 
> I think you're not looking at the right direction, ie we're not
integrating GPL
> (LilyPond) into AGPL (Ghostscript), but the other way around. In that
case
> Section 13 of the GPL 3.0 is relevant:
> 
> > 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
> Affero 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 special requirements of the GNU
Affero
> General Public License, section 13, concerning interaction through a
network
> will apply to the combination as such.
> 
> Note there is no mention of modifying the work, AGPL applies "to the
combination
> as such".

Well, if it states "the special requirements of the AGPL apply to the
combination" and the AGPL explicitly says that the combination remains
licensed individually, it definitely sounds to me that the the
requirement to distribute the source of _both_ components triggers when
the AGPL component gets modified.

Artifex states on its web site <https://artifex.com/licensing/agpl/>:

Network Use

> If you modify our software and make the functionality of the software
available to users interacting with it remotely through a computer
network (such as a SaaS or web-based application) you must share your
application source code.

> Any modified versions must also be made available to those interacting
with the software remotely.

To me that sounds like modification of the GPLed part does not count as
modification of the AGPLed part.  If we distribute a combined binary
package, of course we have to state that the package is not, as a whole,
governed by the rules of the GPL since any modification of the AGPLed
part would trigger the requirement to make the combined source available
to network users of the software.

The FSF's GPL FAQ (which of course is not legally binding) states
<https://www.gnu.org/licenses/gpl-faq.html#AGPLv3InteractingRemotely>:
In AGPLv3, what counts as “interacting with [the software] remotely
through a computer network?” (#AGPLv3InteractingRemotely)

    If the program is expressly designed to accept user requests and
send responses over a network, then it meets these criteria. Common
examples of programs that would fall into this category include web and
mail servers, interactive web-based applications, and servers for games
that are played online.

    If a program is not expressly designed to interact with a user
through a network, but is being run in an environment where it happens
to do so, then it does not fall into this category. For example, an
application is not required to provide source merely because the user is
running it over SSH, or a remote X session.

Again, that sounds to me like the AGPL requirements of using Ghostscript
as an integrated component of web-based PDF generation would not be
different when using Ghostscript unmodified from the command line as
opposed to linked unmodified into a command-line version (modified or
not) of LilyPond.  There would be a conceivable difference if the server
itself were linked with the GS API.

At any rate: my take on this involved evaluating legalese and making a
judgment on it and on the associated risks and possible interpretations.
 But that's not my job, and it shouldn't be ours.

The main thing we can do here is be transparent.  That basically leaves
the responsibility of making decisions with or without contact to
Artifex to the respective users wanting to provide a web service.  And
to be honest: I don't really see that using the GS API is making a
significant difference in that regard.  I think that would have been a
requirement anyway.

https://codereview.appspot.com/548030043/



reply via email to

[Prev in Thread] Current Thread [Next in Thread]