lilypond-user
[Top][All Lists]
Advanced

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

Re: Lilypond \include statements and the GPL


From: Urs Liska
Subject: Re: Lilypond \include statements and the GPL
Date: Fri, 29 Mar 2013 22:39:28 +0100

First of all, I think we have quite a consensus on what we intend - which is a 
good start.

On Fri, 29 Mar 2013 09:43:59 -0500
Tim McNamara <address@hidden> wrote:

> On Mar 29, 2013, at 4:42 AM, Joseph Rushton Wakeling wrote:
> > On 03/28/2013 08:28 PM, Tim McNamara wrote:
> >> My understanding is always been that the GPL applies to the software used 
> >> to produce a file, not to the file itself.
> > 
> > I think (at least in this case) you mean "process", not "produce".
> 
> I didn't express myself very well, I realized after I re-read what I wrote.  
> The GPL applies to source code that can be compiled into an application, not 
> to the products of an application.  Thus LilyPond can be licensed under the 
> GPL and that has implications for licensing an application that uses the 
> LilyPond source code; however, the GPL does not apply to a PDF, PS, MIDI or 
> other image file produced using LilyPond.  If I use Emacs to write a book and 
> LaTeX to typeset it, I am not required to GPL the book.  This sort of thing 
> was my intent.

OK, that's clear. But the question is whether the GPL applies to the LilyPond 
source files.
> 
> > You can draw an analogy to e.g. shell scripts, where the fact that the bash
> > shell is GPL-licensed doesn't mean that shell scripts must also be GPL'd.
> > 
> > However, I'm not 100% convinced here because I think the situation of 
> > putting in
> > an \include to a GPL'd .ly file, and calling functions defined in that file,
> > might well make your own .ly file specifically a derivative work.
> 
> I don't see that a .ly or .ily file that may be \included creates a situation 
> of derivation.  Lilypond is an application with a language that is somewhat 
> similar to TeX in appearance and function.  As far as I can tell, if one uses 
> a language that is GPL'd, this does not require that files written in that 
> language also be GPL'd.  Most \include files modify the operation and output 
> of LilyPond in some way and are functionally part of the application rather 
> than the musical content of the file.  Using them does not have an affect on 
> the licensing of the output (e.g., the PDF or MIDI file).  

No, surely not. What we are discussing it, whether that has an impact on the 
licensing of the input.

> 
> I think that the user's copyrightable material consists of the music 
> expressions between the curly braces.  It is separate from the LilyPond 
> engraving language, which would not be copyrightable because it is released 
> under the GPL.  So the formatting parts of a .ly file are derivative but the 
> unique music expression- e.g., the music content, to use a term I have never 
> been really happy with- cannot be considered derivative of LilyPond and is 
> not subject to the GPL.  It may be derivative of something else and have 
> other copyright issues, but those are independent of LilyPond.  The {} are 
> the dividing line.
> 
> >> Therefore, the GPL would not apply to the users' .ly files; the user has 
> >> the option of specifying under what license any such files might be 
> >> published.
> > 
> > That rests on the assumption that there is a separation between GPL'd
> > interpreter and the source file that's being interpreted.  PHP is a nice 
> > example
> > -- the license of my PHP files can be independent of the license of PHP 
> > itself
> > (which as it happens is a dual-license between GPL and a custom license).
> > 
> > But when I start making calls in PHP to a written-in-PHP library that is 
> > GPL'd,
> > I think things become rather different.
> > 
> > I think the \import "somefile.ly" situation could be more analogous to this
> > second situation _where the .ly file defines functions that are used in 
> > your own
> > .ly file_.  Hence it's an area of licensing concern.
> > 
> > And as I've stressed before, this licensing issue would kick in only if you
> > distributed your .ly file -- not if you distributed the graphical score 
> > produced
> > by processing it.
> 
> I am not sure that it would make a difference, because the copyrightable 
> content (the music expressions) is separated from the LilyPond language by 
> the curly braces.  It seems like a lot of weight to put on some {} symbols, 
> but they are the demarcation line between the two aspects of a LilyPond file 
> (one being what is rendered, the other being how it is rendered).  You'd end 
> up with a hybrid copyleft/copyright file:  LilyPond functions which which are 
> copyleft with an embedded music expression that is or can be copyrighted.  
> The music expression sort of lives in a walled neighborhood within a city, 
> the neighborhood and the city having different property rights.
> 
> In short, \melody {} belongs to LilyPond and the GPL.  The c4 d e f g 
> contained within the {  } is mine to license as I choose.
> 
> I think.  ;-)

I slightly disagree, although your considerations are valuable and give some 
good insights in the situation.
I think the 'ambiguity' Joe is talking about is the ambiguity of LilyPond's 
input files being 'user documents' and at the same time compilable source code.

As you say the GPL applies to the source code that can be compiled into 
software/applications.
The standard situation is:
Group A writes an application (let's say an image processing tool) and releases 
its source under the GPL.
User B installs that program and uses it (as an end-user). The GPL doesn't 
affect at all what he does with the images he processes with the program.
User C is a programmer and makes some modifications to the source code. As long 
as he does this only for himself and doesn't redistribute anything the GPL 
doesn't affect him either.
User D makes some modifications to the source code and wants to share them. Now 
he's forced to share the modified program with all the implications of the GPL.

Now take a programming language as another example (PHP and Python are 
explicitely _not_ distributed under the GPL BTW).
The interpreter is GPLed by group A, as well as some libraries.
User B writes a program in that language. This program is considered a 'user 
document', and the GPL doesn't affect it - User B can publish the program in 
any way he likes, with or without source code.
User C writes a program, but uses functions from the GPLed libraries. That 
forces him to release his program under the GPL too.

And that's where we have our ambiguity.
I think we all agree that the author of .ly files should be free to license 
them in any way he wants to:
- He can only give away the pdf results.
- He can give away the pdf together with the sources.
- If he choses to do so he may do so with any license he wants to.

The inclusion and use of functions from GPLed files is analogous to the use of 
GPLed libraries in the programming language example. This _seems_ to imply that 
the compiled results could only be distributed under the GPL, i.e. together 
with the sources which have to be GPLed too etc.
But the result of the compilation isn't an application but a document.

I would say that the whole LilyPond input file should be considered as a 'user 
document', and that the author should be completely free to decide upon its 
licensing, whether or not he uses included functions from LilyPond's 
distribution.
But as this discussion shows it's not really clear how GPL's licensing model 
applies for that somewhat ambiguous situation. So it might actually be 
necessary to clarify that. Maybe not with a regular exception in the license 
but with a clarification explicitely stating that .ly input files are 
considered as documents and not as source code in the sense of the GPL?
Another consideration (which _could_ imply that there is nothing to do) could 
be to consider the .ly or .scm files that are part of LilyPond's distribution 
not as libraries but as _part of the distribution_. So they wouldn't have to be 
treated as 'libraries' but as plain 'usage' of the LilyPond program.

And in the context of an independent LilyPond library (which was the cause for 
this thread) I'd say a clarification as suggested above would be appropriate 
(and enough).

Urs


> 
> Tim
> 
> 
> _______________________________________________
> lilypond-user mailing list
> address@hidden
> https://lists.gnu.org/mailman/listinfo/lilypond-user



reply via email to

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