lilypond-user
[Top][All Lists]
Advanced

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

Re: LilyPond, LilyPond snippets and the GPL


From: Carl Sorensen
Subject: Re: LilyPond, LilyPond snippets and the GPL
Date: Wed, 30 Oct 2019 17:48:11 +0000
User-agent: Microsoft-MacOutlook/10.10.f.191014

 

From: Karsten Reincke <address@hidden>
Date: Wednesday, October 30, 2019 at 9:02 AM
To: Henning Hraban Ramm <address@hidden>, lilypond-user <address@hidden>
Cc: <address@hidden>
Subject: Re: LilyPond, LilyPond snippets and the GPL

 

On Wed, 2019-10-30 at 15:08 +0100, Henning Hraban Ramm wrote:

[...]

It’s the same if you publish a book using TeX:

No, it isn't.

 

Actually, it is.

 

While original TeX is PD and some other parts have their own licenses, those never apply to the contents of your book or the PDF or printed version of it,

That's an unproven proposition

In the TeX world, it may be unproven.  In the GPL world, with the best legal advice the license creators could get, it is proven.  See their FAQ.

because the code of TeX (or LilyPond) isn’t in there, it was just used to generate the result. (Same if you use OS software to generate graphics, videos etc.)

Not it isn't.

 

Again - like others in this thread - you are mixing the cases

 

Actually, I think you are mixing the cases.

 

a) The GCC, the TeX-engine, and LilyPond are programs, which take a piece of source code and compile the output (Binary, PDF, PNG).

 

b) The licenses of these engines do not influence the licensing of the input or output.

 

c) But if the gcc compiles a source code, which uses the prework of a GPL licensed library, snippet, or anything else, then - in accordance to the GPL-v3 §6 - the compiled program (binary) has also to be distributed under the terms of the GPL (strong copyleft effect). If you deny this statement, then you argue against the idea of the Free Software itself.

 

This is true, not because of the license of gcc, but because of the license of the program that is used by the gcc (the library).  And it holds true because the output of gcc is a *program*, i.e., a piece of software executed by the computer to achieve desirable results.  And it needs the four freedoms that the FSF cares about.

 

d) If the TeX engine compiles a LaTeX source code, which uses the prework of a GPL licensed style or anything else, then indeed - in accordance to the GPL-v3 §6 (titled "Conveying Non-Source Forms"), the compiled result (the PDF etc.) has to be distributed under the terms of the GPL too. That's stated in and by the LaTex community (e.g. https://tex.stackexchange.com/questions/69007/the-gpl-and-latex-packages ). And that's the reason, why ctan mostly does not contain GPL licensed packages.

 

That’s stated by one person in the LaTeX community, and only upvoted by 3 people in the LaTeX community.  I suppose it creates a non-zero risk of having that argument upheld, and you are free to act according to that risk.  Personally, I am sure that if somebody tried to sue a user demanding the application of GPL to the output of the TeX processing based on the usage of a GPL package, the FSF would get involved in the lawsuit.  The FSF can’t afford to have this interpretation hold, because if this interpretation held up in court, nobody would ever license software by the GPL.  And it’s clearly contrary to the stated intent of the GPL.

 

Quoting from the GPL FAQ:

 

Is there some way that I can GPL the output people get from use of my program? For example, if my program is used to develop hardware designs, can I require that these designs must be free? (#GPLOutput)

In general this is legally impossible; copyright law does not give you any say in the use of the output people make from their data using your program. If the user uses your program to enter or convert her own data, the copyright on the output belongs to her, not you. More generally, when a program translates its input into some other form, the copyright status of the output inherits that of the input it was generated from.

So the only way you have a say in the use of the output is if substantial parts of the output are copied (more or less) from text in your program. For instance, part of the output of Bison (see above) would be covered by the GNU GPL, if we had not made an exception in this specific case.

You could artificially make a program copy certain text into its output even if there is no technical reason to do so. But if that copied text serves no practical purpose, the user could simply delete that text from the output and use only the rest. Then he would not have to obey the conditions on redistribution of the copied text.

This says to me that you can consider LSR snippets as part of the code used to create music (any music, not just your specific music).  You can then put your specific music in a separate file, with separate copyright.  And the modified LilyPond (including the LSR snippets) is a derivative work of LilyPond, and has GPL rights, and you would be required to share all of that code.  But the created music engraving (pdf, svg, or midi) is not a derivative work of LilyPond, but an output of the program lilypond, and cannot be restricted by the GPL, according to the FSF.

 

e) If the LilyPond engine compiles a LilyPond music source code, which uses the prework of a GPL licensed LilyPond snippet, then - in accordance to the GPL-v3 §6 (titled "Conveying Non-Source Forms"), the compiled result (the PDF, PNG) has to be distributed under the terms of the GPL too.

 

Why should c) and d) be valid, but not e)? You can't have and eat the cake.

 

Because the PDF and the PNG are not programs.  They are the output of the program.  You can’t *run* the PDF or the PNG.  You can’t use them to create more output.  They are, instead, a fixed _expression_ of the music, i.e., an object that is available for copyrighting.  The four freedoms of software are meaningless with respect to PDF and PNG.  If you want to apply the GPL to these tangible expressions of your work, you can.  But they aren’t programs.

 

If we want to protect the 'biotope' of free and open source software from being misused and if we want that others respect the licensing rules, then at least we have to take the license texts as seriously as possible. They are not a hawker's tray from which we can take what we love and ignore the rest.

 

Taking the license texts as seriously as possible requires us to distinguish, rather than confuse, the differences between programs and output resulting from those programs.  Your item c) takes a compiler (whose job it is to create executable programs) and shows that the output programs are in fact under GPL, because they use GPL libraries *and those libraries are embedded in the output program*.

 

I consider your item d) to be a straw man.  A vanishingly small number of people (3 upvotes) appear to believe this issue.

 

Your item e) describes a PDF or PNG product resulting from running lilypond, and *none of the code in the program is embedded in the output*, hence the output is not required to be under GPL.

 

This is apparently a problem for you.  It’s not for me, so I feel no need to try to change the license from the GPL.

 

If you want to LSR material under some other license, you could certainly contact the author and ask them to release a copy under some license you prefer.  As the GPL makes clear, the copyright holder is free to license the code under any other license; the GPL is not an exclusive license.

 

Carl

 

 

 


reply via email to

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