Re: LilyPond, LilyPond snippets and the GPL

2019-11-01 Thread Henning Hraban Ramm


> Am 2019-11-01 um 12:16 schrieb J Martin Rushton 
> :
> 
> On 01/11/2019 10:45, Henning Hraban Ramm wrote:
>> BTW there is _no_ copyright on the design of sheet music, even if some music 
>> publishers claim it.
> 
> This depends upon the country.  In the UK: "The typographical
> arrangement of a published edition lasts for 25 years from first
> publication".  See Copyright Notice Number: 6/2016 at
> https://assets.publishing.service.gov.uk/government/uploads/system/uploads/attachment_data/file/554033/Copyright_Notice_Printed_Music.pdf

Ah, ok, then this is subject to the “sweat of the brow” concept.

My statement is only valid for Germany.



Greetlings, Hraban
---
fiëé visuëlle
Henning Hraban Ramm
https://www.fiee.net







Re: LilyPond, LilyPond snippets and the GPL

2019-11-01 Thread J Martin Rushton
On 01/11/2019 10:45, Henning Hraban Ramm wrote:
> 

> 
> BTW there is _no_ copyright on the design of sheet music, even if some music 
> publishers claim it.
> 

This depends upon the country.  In the UK: "The typographical
arrangement of a published edition lasts for 25 years from first
publication".  See Copyright Notice Number: 6/2016 at
https://assets.publishing.service.gov.uk/government/uploads/system/uploads/attachment_data/file/554033/Copyright_Notice_Printed_Music.pdf

As the notice explains: "For example, the copyright in music by Ludwig
van Beethoven is no longer protected by copyright, but editions of his
work published in the last 25 years will have their typographical
arrangement protected by the publisher, and modern editions, adaptations
or arrangements of his work may still be protected by copyright for life
of the adapter or arranger plus 70 years".

Since most UK law is set by Brussels you need to carefully check the
position in any EU country, it's likely to be the same.

> 

> 
> Greetlings, Hraban
> ---
> fiëé visuëlle
> Henning Hraban Ramm
> https://www.fiee.net

-- 
J Martin Rushton MBCS



signature.asc
Description: OpenPGP digital signature


Re: LilyPond, LilyPond snippets and the GPL

2019-11-01 Thread Henning Hraban Ramm


> Am 2019-10-31 um 03:15 schrieb Carl Sorensen :
> 
> In the US, a typeface is not copyrightable.  But a computer program that 
> makes a font or its glyphs is copyrightable.  

The "program code" of fonts is juristically not regarded a program, because it 
is usually auto-generated by a design tool.
And the design of a font is not copyrightable in some legislations (e.g. 
Germany), because it’s regarded craftmanship and not art, because letters have 
to adhere to traditions to be readable. In other legislations (e.g. UK) the 
craftmanship of the design *is* copyrightable (see “sweat of the brow”).

If the design of the letters would be regarded art, a license would be 
necessary for every single use of a letter!
The copyright and licensing of fonts is a really complicated matter that I 
won’t cover here; you can look it up in Wikipedia. There is an international 
treaty about the copyright on fonts, but since it was not ratified by enough 
countries it’s not effective.

BTW there is _no_ copyright on the design of sheet music, even if some music 
publishers claim it.


LilyPond-generated PostScript code I see equivalent to the generation of fonts. 
But it might be juristically critical that code snippets get included in that 
PostScript code.

While publishing of LilyPond source files –and apparently also 
LilyPond-generated PostScript– touches the copyright of the musical content as 
well as the copyright of the code (included in LilyPond’s distribution or from 
other sources), publishing of PDF and MIDI files regards only the copyright of 
the contents, since there is no LP code left in them.


Greetlings, Hraban
---
fiëé visuëlle
Henning Hraban Ramm
https://www.fiee.net







Re: LilyPond, LilyPond snippets and the GPL

2019-10-31 Thread Hans Åberg


> On 31 Oct 2019, at 22:10, David Kastrup  wrote:
> 
> Hans Åberg  writes:
> 
>>> On 31 Oct 2019, at 21:31, David Kastrup  wrote:
>>> 
 All those parts should be LGPL, and also included headers, I believe:
 Not GPL, because that would legal technically force copyright
 limitations on the output, and not public domain, because then one
 could exploit the inputs in ways you do not want. But check with the
 experts.
>>> 
>>> I think this kind of stuff should just be exempt from licensing (namely
>>> declared public domain) like stub code in GCC.  It doesn't survive into
>>> PDF anyway (since PDF is not programmable and so the PostScript-to-PDF
>>> conversion executes the code in question rather than converting it) and
>>> it is very unusual to distribute PostScript these days instead of
>>> executing it right away in the form of some document processing
>>> workflow.
>>> 
>>> So that is indeed something that would warrant getting separate
>>> appropriate licensing attention, but in most use cases it would end up
>>> not being relevant since there are few workflows where a PostScript file
>>> ends up as something to be distributed.
>> 
>> It is only a problem if code survives in the output and is
>> copyrightable. Like glyph designs, for example, there are in the works
>> new microtonal accidentals, the design of which I figure would be
>> copyrightable, and take a long time to develop. Would you want them to
>> be in the public domain? It would mean that the design could be
>> exploited freely without acknowledgement. With LGPL, any altered
>> design must have the same license, but the glyphs can be used freely
>> in publications.
> 
> If I remember correctly, our fonts have already been relicensed under
> some typical free font license several years ago.

That is good. I merely wanted to illustrate the principle, that some stuff may 
survive into the output in copyrightable form. The most explicit example I have 
in my mind is the Bison skeleton file that originally was mostly verbatim, but 
now is processed using M4, and needs to be LGPL, not GPL, nor public domain.





Re: LilyPond, LilyPond snippets and the GPL

2019-10-31 Thread David Kastrup
Hans Åberg  writes:

>> On 31 Oct 2019, at 21:31, David Kastrup  wrote:
>> 
>>> All those parts should be LGPL, and also included headers, I believe:
>>> Not GPL, because that would legal technically force copyright
>>> limitations on the output, and not public domain, because then one
>>> could exploit the inputs in ways you do not want. But check with the
>>> experts.
>> 
>> I think this kind of stuff should just be exempt from licensing (namely
>> declared public domain) like stub code in GCC.  It doesn't survive into
>> PDF anyway (since PDF is not programmable and so the PostScript-to-PDF
>> conversion executes the code in question rather than converting it) and
>> it is very unusual to distribute PostScript these days instead of
>> executing it right away in the form of some document processing
>> workflow.
>> 
>> So that is indeed something that would warrant getting separate
>> appropriate licensing attention, but in most use cases it would end up
>> not being relevant since there are few workflows where a PostScript file
>> ends up as something to be distributed.
>
> It is only a problem if code survives in the output and is
> copyrightable. Like glyph designs, for example, there are in the works
> new microtonal accidentals, the design of which I figure would be
> copyrightable, and take a long time to develop. Would you want them to
> be in the public domain? It would mean that the design could be
> exploited freely without acknowledgement. With LGPL, any altered
> design must have the same license, but the glyphs can be used freely
> in publications.

If I remember correctly, our fonts have already been relicensed under
some typical free font license several years ago.

-- 
David Kastrup



Re: LilyPond, LilyPond snippets and the GPL

2019-10-31 Thread Hans Åberg


> On 31 Oct 2019, at 21:31, David Kastrup  wrote:
> 
>> All those parts should be LGPL, and also included headers, I believe:
>> Not GPL, because that would legal technically force copyright
>> limitations on the output, and not public domain, because then one
>> could exploit the inputs in ways you do not want. But check with the
>> experts.
> 
> I think this kind of stuff should just be exempt from licensing (namely
> declared public domain) like stub code in GCC.  It doesn't survive into
> PDF anyway (since PDF is not programmable and so the PostScript-to-PDF
> conversion executes the code in question rather than converting it) and
> it is very unusual to distribute PostScript these days instead of
> executing it right away in the form of some document processing
> workflow.
> 
> So that is indeed something that would warrant getting separate
> appropriate licensing attention, but in most use cases it would end up
> not being relevant since there are few workflows where a PostScript file
> ends up as something to be distributed.

It is only a problem if code survives in the output and is copyrightable. Like 
glyph designs, for example, there are in the works new microtonal accidentals, 
the design of which I figure would be copyrightable, and take a long time to 
develop. Would you want them to be in the public domain? It would mean that the 
design could be exploited freely without acknowledgement. With LGPL, any 
altered design must have the same license, but the glyphs can be used freely in 
publications.





Re: LilyPond, LilyPond snippets and the GPL

2019-10-31 Thread David Kastrup
Hans Åberg  writes:

>> On 31 Oct 2019, at 03:15, Carl Sorensen  wrote:
>> 
>>> On 10/30/19, 5:13 PM, "Hans Åberg"  wrote:
>>> 
 On 30 Oct 2019, at 22:14, Carl Sorensen  wrote:
 
   The snippets should be LGPL for being includable under other
 licenses, I believe, because the processed part remains in the
 output, and thus copyrightable. Thus, they play the same role as
 the Bison skeleton file and GCC libraries.
 
 What processed part remains in the output?
>>> 
>>>If say somebody makes a snippet on how to make special type of
>>> clef, then that is copyrightable, just as a font and its glyphs
>>> are, it would seem, and that copyright will remain if
>>> copy-and-pasted into user code.
>> 
>> In the US, a typeface is not copyrightable.  But a computer program
>> that makes a font or its glyphs is copyrightable.  I can see your
>> argument here.  But if this argument is true, then it seems that all
>> music set with LilyPond is GPL3, because the code for drawing beams,
>> stems, staff lines, and straight flags is in LilyPond and is
>> licensed under GPL3.  I find it very hard to believe that this is
>> true.  And certainly, as far as the FSF is concerned, this is not
>> true.
>
> All those parts should be LGPL, and also included headers, I believe:
> Not GPL, because that would legal technically force copyright
> limitations on the output, and not public domain, because then one
> could exploit the inputs in ways you do not want. But check with the
> experts.

I think this kind of stuff should just be exempt from licensing (namely
declared public domain) like stub code in GCC.  It doesn't survive into
PDF anyway (since PDF is not programmable and so the PostScript-to-PDF
conversion executes the code in question rather than converting it) and
it is very unusual to distribute PostScript these days instead of
executing it right away in the form of some document processing
workflow.

So that is indeed something that would warrant getting separate
appropriate licensing attention, but in most use cases it would end up
not being relevant since there are few workflows where a PostScript file
ends up as something to be distributed.

-- 
David Kastrup



Re: LilyPond, LilyPond snippets and the GPL

2019-10-31 Thread Hans Åberg


> On 31 Oct 2019, at 03:15, Carl Sorensen  wrote:
> 
>> On 10/30/19, 5:13 PM, "Hans Åberg"  wrote:
>> 
>>> On 30 Oct 2019, at 22:14, Carl Sorensen  wrote:
>>> 
>>>   The snippets should be LGPL for being includable under other licenses, I 
>>> believe, because the processed part remains in the output, and thus 
>>> copyrightable. Thus, they play the same role as the Bison skeleton file and 
>>> GCC libraries.
>>> 
>>> What processed part remains in the output?
>> 
>>If say somebody makes a snippet on how to make special type of clef, then 
>> that is copyrightable, just as a font and its glyphs are, it would seem, and 
>> that copyright will remain if copy-and-pasted into user code.
> 
> In the US, a typeface is not copyrightable.  But a computer program that 
> makes a font or its glyphs is copyrightable.  I can see your argument here.  
> But if this argument is true, then it seems that all music set with LilyPond 
> is GPL3,  because the code for drawing beams, stems, staff lines, and 
> straight flags is in LilyPond and is licensed under GPL3.  I find it very 
> hard to believe that this is true.  And certainly, as far as the FSF is 
> concerned, this is not true.  

All those parts should be LGPL, and also included headers, I believe: Not GPL, 
because that would legal technically force copyright limitations on the output, 
and not public domain, because then one could exploit the inputs in ways you do 
not want. But check with the experts.





Re: LilyPond, LilyPond snippets and the GPL

2019-10-30 Thread Carl Sorensen


On 10/30/19, 5:13 PM, "Hans Åberg"  wrote:


> On 30 Oct 2019, at 22:14, Carl Sorensen  wrote:
> 
>The snippets should be LGPL for being includable under other licenses, 
I believe, because the processed part remains in the output, and thus 
copyrightable. Thus, they play the same role as the Bison skeleton file and GCC 
libraries.
> 
> What processed part remains in the output?

If say somebody makes a snippet on how to make special type of clef, then 
that is copyrightable, just as a font and its glyphs are, it would seem, and 
that copyright will remain if copy-and-pasted into user code.

In the US, a typeface is not copyrightable.  But a computer program that makes 
a font or its glyphs is copyrightable.  I can see your argument here.  But if 
this argument is true, then it seems that all music set with LilyPond is GPL3,  
because the code for drawing beams, stems, staff lines, and straight flags is 
in LilyPond and is licensed under GPL3.  I find it very hard to believe that 
this is true.  And certainly, as far as the FSF is concerned, this is not true. 
 

Carl








Re: LilyPond, LilyPond snippets and the GPL

2019-10-30 Thread karl
Urs:
...
> One of the main issues we have at play here (and that has been discussed 
> by others in this thread) is that tools like LilyPond and LaTeX blur the 
> lines between source, program, and document.
> 
> The arguments that are expressed *for* a requirement to license the PDF 
> (etc.) files resulting from a LilyPond or LaTeX run are all based on the 
> assumption that the graphical documents created like this are 
> "comparable to the binary resulting from a compilation using a "typical" 
> C compiler." I think (which others have stated earlier today) that the 
> culprit here is that these arguments (e.g. when pointing to resources 
> like https://www.gnu.org/licenses/gpl-faq.html#ModifiedJustBinary) 
> assume that a "resulting PDF document" can be considered equivalent to a 
> "resulting program" or "resulting software". It has been said several 
> times: the PDF/PNG/SVG resulting from a LilyPond run is a document, not 
> a program.
...

Just to provide a data point...

As I work with postscript files, the result is certaintly a program.
Also files (at least one) from the lilypond distribution are included
verbatim in the output (I.ps is just one file created using lilypond).

//
$ fgrep -a -A10 'procset (music-drawing-routines.ps)' I.ps
%%BeginResource: procset (music-drawing-routines.ps) 1 0
%!PS-Adobe-2.0
%
% Functions for direct and embedded PostScript

% Careful with double % as comment prefix.
% Any %%X comment is interpreted as DSC comments.

% TODO: use dicts or prefixes to prevent namespace pollution.

/pdfmark where
//
$ head -10 /Net/git/lilypond/ps/music-drawing-routines.ps 
%!PS-Adobe-2.0
%
% Functions for direct and embedded PostScript

% Careful with double % as comment prefix.
% Any %%X comment is interpreted as DSC comments.

% TODO: use dicts or prefixes to prevent namespace pollution.

/pdfmark where
//

Regards,
/Karl Hammar




Re: LilyPond, LilyPond snippets and the GPL

2019-10-30 Thread Urs Liska
Since I was off for nearly a day there may well be aspects I missed when 
trying to read through the whole thread, but I have the feeling that 
some thoughts still haven't been expressed.


Am 30.10.19 um 12:27 schrieb Urs Liska:
Sorry for being short: what you say is very much hiw I meant it but 
not all. I'll clarify later but am currently on the road. Maybe 
tonight of tomorrow.



Am 30. Oktober 2019 12:09:37 MEZ schrieb Karsten Reincke 
:


Dear Urs;

many thanks for your clever thoughts! You brought up a very seductive 
argument,
which I therefore will only summarize here for being sure that I've 
understood you
correctly. May I condense your line of argumentation in the following way?

You point out that there could be a function in a GPL licensed snippet 
which only
modifies the apperance of a score. Such a function does not concern the 
music
itself. And therefore, the copyleft effect is not applied of the music.



That is not fully to the point. What I mean is (and what others have 
expressed more succinctly) is that such a function (say my 
\diplomaticLineBreak) is a *tool* that you use to express some auctorial 
decision (whether artistic or scientific), and in that respect it is 
exactly equal to using \ottava or \accidentalStyle.




Then it seems that you try to generalize your argumentation: Every piece of
LilyPond code describing the music score does not not concern the music, 
but only
the appearance. Hence the, the copyleft effect can not be applied to any 
results
of the LilyPond compilation process (the pdfs, pngs, ...)



No, I don't think that properly reflects my argument.
One of the main issues we have at play here (and that has been discussed 
by others in this thread) is that tools like LilyPond and LaTeX blur the 
lines between source, program, and document.


The arguments that are expressed *for* a requirement to license the PDF 
(etc.) files resulting from a LilyPond or LaTeX run are all based on the 
assumption that the graphical documents created like this are 
"comparable to the binary resulting from a compilation using a "typical" 
C compiler." I think (which others have stated earlier today) that the 
culprit here is that these arguments (e.g. when pointing to resources 
like https://www.gnu.org/licenses/gpl-faq.html#ModifiedJustBinary) 
assume that a "resulting PDF document" can be considered equivalent to a 
"resulting program" or "resulting software". It has been said several 
times: the PDF/PNG/SVG resulting from a LilyPond run is a document, not 
a program.


The issue that makes this complicated is the fact that in LilyPond and 
LaTeX the "document" is expressed in the same domain (the .ly files and 
included files) as the software that produces it. This makes it somehow 
difficult to cleanly separate the domains I still argue that all the 
functionality that you can *use* to create your document is comceptually 
separate from the *content* of your document.


I would argue that (except that the example is of course too small to be 
copyrightable) in a situation with


% library.ily
myFunction = trill

% document.ly
\include "library.ily"
{
  c \myFunction
}

the content of library.ily is *code* while the content of document.ly is 
*content*, and you use library.ily to produce a document from your content.


To use yet another analogy: this is like if you are using GIMP and a 
plugin, where the license of that plugin has no bearing on the licensing 
of the produced image file.




Please tell me, whether I got your point or not. Again, it seems to 
seductive and
I want to consider it a bit longer, before I will answer



There's one more point, and I think that hasn't been brought up by 
anyone yet. At some point you say "You can't have and eat the cake." But 
that holds true for your approach as well. If you insist on the 
interpretation that the GPL used for a snippet or library forces you to 
also license your document with the GPL then this holds true for *any* 
document you compile with LilyPond. an LSR or openLilyLib snippet is 
technically and conceptually identical to LilyPond.


Maybe you are not fully aware of how LilyPond works:

 * There is LilyPond as a binary that is executed within your operating
   system.
 * You can extend LilyPond's capabilities using the Scheme scripting
   language, which is done in the snippets we're talking about
 * BUT: LilyPond itself includes a ton of .scm and .ly files that are
   not part of LilyPond-as-a-compiler but actually "included" in the
   document, either implicitly by LilyPond's startup routine or
   explicitly from your input files (as I've exemplified in my previous
   post).

These files and the functions provided by them are exactly the same as 
the functions you can copy from the LSR or include through openLilyLib. 
The are not part of the compiler but of the compiled document. And if 
you are convinced that the GPL of openLilyLib packages forces you to 

Re: LilyPond, LilyPond snippets and the GPL

2019-10-30 Thread Hans Åberg


> On 30 Oct 2019, at 22:14, Carl Sorensen  wrote:
> 
>The snippets should be LGPL for being includable under other licenses, I 
> believe, because the processed part remains in the output, and thus 
> copyrightable. Thus, they play the same role as the Bison skeleton file and 
> GCC libraries.
> 
> What processed part remains in the output?

If say somebody makes a snippet on how to make special type of clef, then that 
is copyrightable, just as a font and its glyphs are, it would seem, and that 
copyright will remain if copy-and-pasted into user code.





Re: LilyPond, LilyPond snippets and the GPL

2019-10-30 Thread Hans Åberg


> On 30 Oct 2019, at 23:36, David Kastrup  wrote:
> 
> Hans Åberg  writes:
> 
>>> On 30 Oct 2019, at 23:05, David Kastrup  wrote:
>>> 
>>> Hans Åberg  writes:
>>> 
 The snippets should be LGPL for being includable under other licenses,
 I believe, because the processed part remains in the output, and thus
 copyrightable. Thus, they play the same role as the Bison skeleton
 file and GCC libraries.
>>> 
>>> LSR snippets are public domain already.
>> 
>> So then this is not an issue, but public domain means that it can be
>> exploited in ways you may not approve of, therefore LGPL would be
>> better. But I am not an expert on such matters.
> 
> For the snippets, that is a reasonable compromise avoiding the user
> having reservations and headaches.  They are more intended as starting
> points for your own documents than as cut code.

As examples, I have also done that. So if everyone is happy with that, it is a 
non-issue.





Re: LilyPond, LilyPond snippets and the GPL

2019-10-30 Thread David Kastrup
Hans Åberg  writes:

>> On 30 Oct 2019, at 23:05, David Kastrup  wrote:
>> 
>> Hans Åberg  writes:
>> 
>>> The snippets should be LGPL for being includable under other licenses,
>>> I believe, because the processed part remains in the output, and thus
>>> copyrightable. Thus, they play the same role as the Bison skeleton
>>> file and GCC libraries.
>> 
>> LSR snippets are public domain already.
>
> So then this is not an issue, but public domain means that it can be
> exploited in ways you may not approve of, therefore LGPL would be
> better. But I am not an expert on such matters.

For the snippets, that is a reasonable compromise avoiding the user
having reservations and headaches.  They are more intended as starting
points for your own documents than as cut code.

-- 
David Kastrup



Re: LilyPond, LilyPond snippets and the GPL

2019-10-30 Thread David Kastrup
Hans Åberg  writes:

>> On 30 Oct 2019, at 18:48, Carl Sorensen  wrote:
>> 
>> 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.
>
> The snippets should be LGPL for being includable under other licenses,
> I believe, because the processed part remains in the output, and thus
> copyrightable. Thus, they play the same role as the Bison skeleton
> file and GCC libraries.

LSR snippets are public domain already.

-- 
David Kastrup



Re: LilyPond, LilyPond snippets and the GPL

2019-10-30 Thread Carl Sorensen


On 10/30/19, 3:17 PM, "Hans Åberg"  wrote:


> On 30 Oct 2019, at 22:14, Carl Sorensen  wrote:
> 
>>The snippets should be LGPL for being includable under other 
licenses, I believe, because the processed part remains in the output, and thus 
copyrightable. Thus, they play the same role as the Bison skeleton file and GCC 
libraries.
> 
> What processed part remains in the output?

The part of them that one includes in ones own code, if large enough to be 
copyrightable. If you just look at them and write something else, it does not 
matter.


How so?  When I wrote fret-diagram code, and before it was accepted in the 
distribution, it could be contained in an included .ly file.

When the fret-diagram code was executed, no part of that code ended up in the 
resulting PDF or PNG files.  The fret-diagram code created ink at specified 
locations; but the specified locations were not part of the code I wrote.  
Instead they were generated by the interaction of the main lilypond 
distribution with the music input I wrote.  And the result was printed music 
that matched my intent.  If  the music was original, the copyright was mine.  
If I was transcribing music from another composer, the copyright remained with 
the composer.

The GPL had no influence on the copyright of the printed music.

Carl




Re: LilyPond, LilyPond snippets and the GPL

2019-10-30 Thread Carl Sorensen


On 10/30/19, 3:10 PM, "Hans Åberg"  wrote:


> On 30 Oct 2019, at 18:48, Carl Sorensen  wrote:
> 
>> 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.

The snippets should be LGPL for being includable under other licenses, I 
believe, because the processed part remains in the output, and thus 
copyrightable. Thus, they play the same role as the Bison skeleton file and GCC 
libraries.

What processed part remains in the output?

Carl







Re: LilyPond, LilyPond snippets and the GPL

2019-10-30 Thread Hans Åberg


> On 30 Oct 2019, at 23:05, David Kastrup  wrote:
> 
> Hans Åberg  writes:
> 
>> The snippets should be LGPL for being includable under other licenses,
>> I believe, because the processed part remains in the output, and thus
>> copyrightable. Thus, they play the same role as the Bison skeleton
>> file and GCC libraries.
> 
> LSR snippets are public domain already.

So then this is not an issue, but public domain means that it can be exploited 
in ways you may not approve of, therefore LGPL would be better. But I am not an 
expert on such matters.





Re: LilyPond, LilyPond snippets and the GPL

2019-10-30 Thread Hans Åberg


> On 30 Oct 2019, at 22:28, Carl Sorensen  wrote:
> 
>> On 10/30/19, 3:17 PM, "Hans Åberg"  wrote:
>> 
>>> On 30 Oct 2019, at 22:14, Carl Sorensen  wrote:
>>> 
   The snippets should be LGPL for being includable under other licenses, I 
 believe, because the processed part remains in the output, and thus 
 copyrightable. Thus, they play the same role as the Bison skeleton file 
 and GCC libraries.
>>> 
>>> What processed part remains in the output?
>> 
>>The part of them that one includes in ones own code, if large enough to 
>> be copyrightable. If you just look at them and write something else, it does 
>> not matter.
> 
> How so?  When I wrote fret-diagram code, and before it was accepted in the 
> distribution, it could be contained in an included .ly file.
> 
> When the fret-diagram code was executed, no part of that code ended up in the 
> resulting PDF or PNG files.  The fret-diagram code created ink at specified 
> locations; but the specified locations were not part of the code I wrote.  
> Instead they were generated by the interaction of the main lilypond 
> distribution with the music input I wrote.  And the result was printed music 
> that matched my intent.  If  the music was original, the copyright was mine.  
> If I was transcribing music from another composer, the copyright remained 
> with the composer.
> 
> The GPL had no influence on the copyright of the printed music.

It depends on the snippet then: If it just processes, GPL suffices; if it is 
stuff that remains in the output albeit it processed form, it ought to be LPGL 
if one wants it to freely usable. The Bison skeleton file has stuff that part 
is copied verbatim, part processed with M4, and compiled with languages like 
C/C++, and the copyrightability remains through it all, that is why it is LGPL.

LGPL would be simplest not having to working through all individual cases. But 
that is just my take on it.





Re: LilyPond, LilyPond snippets and the GPL

2019-10-30 Thread Hans Åberg


> On 30 Oct 2019, at 22:14, Carl Sorensen  wrote:
> 
>>The snippets should be LGPL for being includable under other licenses, I 
>> believe, because the processed part remains in the output, and thus 
>> copyrightable. Thus, they play the same role as the Bison skeleton file and 
>> GCC libraries.
> 
> What processed part remains in the output?

The part of them that one includes in ones own code, if large enough to be 
copyrightable. If you just look at them and write something else, it does not 
matter.





Re: LilyPond, LilyPond snippets and the GPL

2019-10-30 Thread Hans Åberg


> On 30 Oct 2019, at 18:48, Carl Sorensen  wrote:
> 
>> 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.

The snippets should be LGPL for being includable under other licenses, I 
believe, because the processed part remains in the output, and thus 
copyrightable. Thus, they play the same role as the Bison skeleton file and GCC 
libraries.





Re: LilyPond, LilyPond snippets and the GPL

2019-10-30 Thread mason
On 10/30, Karsten Reincke wrote:
> 1) I did not refer to the libstdc or anything else for which indeed
> the gcc runtime exception can be used. I am talking about the a bit
> abstract case of using a GPL licensed library or module or snippet as
> base of ones work compiled by the GCC to complere the analogy used by
> other participants of this discussion.

Okay, then GCC didn't need to be brought up at all.  Sorry for
misunderstanding.  That said, a pdf generated by Lilypond still does not
need to contain or use any Lilypond code.  Users do not need to fear
that they will "lose their rights" if they use a GPL'd snippet.

> it is complete misleading if you say that I
> 
> a) want to enforce Urs to relicense his work

I'm not sure how else to interpret a call to "perhaps convince the
OpenLilyLib developers to relicense their work."  

Mason


signature.asc
Description: PGP signature


Re: LilyPond, LilyPond snippets and the GPL

2019-10-30 Thread Carl Sorensen

From: Karsten Reincke 
Date: Wednesday, October 30, 2019 at 9:02 AM
To: Henning Hraban Ramm , lilypond-user 

Cc: 
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<https://www.gnu.org/licenses/gpl-faq.html#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 LilyP

Re: LilyPond, LilyPond snippets and the GPL

2019-10-30 Thread Carl Sorensen


On 10/30/19, 11:48 AM, "Karsten Reincke"  wrote:



2) Your polemic attack is wrong and unfair. If you had read my posts 
carefully,
you would know [and probably you know it, but withhold this aspect], that I
offered URS already the opportunity to integrate my coming lib - licensed 
under
the MIT license - into his OpenLIlyLib. I only refused and refuse to use 
any GPL
licensed Lilypond snippet as 'module' / 'lib' for my own work.

I am curious as to why you feel you cannot use any GPL licensed LilyPond 
snippet but you can use the GPL licensed lilypond itself.  What about a snippet 
makes it more invasive in terms of the GPL than the original program?  I don't 
understand.

Carl
 



Re: LilyPond, LilyPond snippets and the GPL

2019-10-30 Thread Karsten Reincke
On Wed, 2019-10-30 at 09:41 -0700, ma...@masonhock.com wrote:
> On 10/30, Karsten Reincke wrote:
> > Here, the analogy of gcc and Lilypond matches perfectly: As we are
> > must distribute binaries which are compiled by the gcc on the base a
> > GPL licensed source code, we must also distribute the binaries (png)
> > which are compiled by LilyPond on the base of a GPL licensed LilyPond
> > score description. It is exactly the same case.
> 
> The rational for the GCC exception is "These libraries are automatically
> used by the object code that GCC produces. Because of that, if these
> libraries were simply distributed only under the terms of the GPL, all
> the object code that GCC produces would have to be distributed under the
> same terms."[1]
> 
> This does not apply here.  A pdf generated by Lilypond does not
> automatically use any snippets of Lilypond code.  A pdf reader can't
> even do anything with Lilypond code.  You can distribute the pdf under
> any license you want.  The GPL only comes into play if you distribute
> your Lilypond code.
> 
> All of this is beside the point, though.  The library that started this
> discussion (analysis) is for "graphical highlighting of musical
> analysis,"  which is probably not something you need in order to engrave
> and publish your music.  It seems more likely that the purpose behind
> this FUD about the GPL is to put pressure on Urs to relicense of
> analysis so that you can use it in harmonyli without having to comply
> with the GPL.
> 
> On 10/30, Karsten Reincke wrote:
> > RMS has invented the LGPL to ensure that free code stays free. (weak
> > copyleft effect).
> 
> RMS intends the LGPL for libraries that do not provide any practical
> advantages over existing non-GPL'd alternatives.[2]  The fact that you
> are complaining about the license instead of using a different library
> indicates that the license was probably chosen correctly.
> 
> On 10/30, Karsten Reincke wrote:
> > I regret to be the messenger of bad news. But there is a simple
> > solution: Don't use GPL licensed LilyPond snippets, if wou want to
> > keep you rights. And perhaps convince the OpenLilyLib developers to
> > relicense their work.
> 
> There it is.
> 
> Mason

Dear Mason;

before you shoot, you should perhaps carefully read the line of argumentation:

1) I did not refer to the libstdc or anything else for which indeed the gcc
runtime exception can be used. I am talking about the a bit abstract case of 
using
a GPL licensed library or module or snippet as base of ones work compiled by the
GCC to complere the analogy used by other participants of this discussion.

2) Your polemic attack is wrong and unfair. If you had read my posts carefully,
you would know [and probably you know it, but withhold this aspect], that I
offered URS already the opportunity to integrate my coming lib - licensed under
the MIT license - into his OpenLIlyLib. I only refused and refuse to use any GPL
licensed Lilypond snippet as 'module' / 'lib' for my own work.

3) And if you follow the thread thoroughly, you could also have known, that I 
was
asked by Urs to take a look at OpenLilyLib instead of inventing the wheel twice.
To reason why I can't do that is matter of courtesy.

Hence it is complete misleading if you say that I

a) want to enforce Urs to relicense his work
b) do not want to develop my own snippet (I am doing that already)

EOM
KARSTN 

-- 
  Karsten Reincke/\/\   (+49|0) 170 / 927 78 57
 Im Braungeröll 31   >oo<  mailto:k.rein...@fodina.de
60431 Frankfurt a.M.  \/http://www.fodina.de/kr/





Re: LilyPond, LilyPond snippets and the GPL

2019-10-30 Thread mason
On 10/30, Karsten Reincke wrote:
> Here, the analogy of gcc and Lilypond matches perfectly: As we are
> must distribute binaries which are compiled by the gcc on the base a
> GPL licensed source code, we must also distribute the binaries (png)
> which are compiled by LilyPond on the base of a GPL licensed LilyPond
> score description. It is exactly the same case.

The rational for the GCC exception is "These libraries are automatically
used by the object code that GCC produces. Because of that, if these
libraries were simply distributed only under the terms of the GPL, all
the object code that GCC produces would have to be distributed under the
same terms."[1]

This does not apply here.  A pdf generated by Lilypond does not
automatically use any snippets of Lilypond code.  A pdf reader can't
even do anything with Lilypond code.  You can distribute the pdf under
any license you want.  The GPL only comes into play if you distribute
your Lilypond code.

All of this is beside the point, though.  The library that started this
discussion (analysis) is for "graphical highlighting of musical
analysis,"  which is probably not something you need in order to engrave
and publish your music.  It seems more likely that the purpose behind
this FUD about the GPL is to put pressure on Urs to relicense of
analysis so that you can use it in harmonyli without having to comply
with the GPL.

On 10/30, Karsten Reincke wrote:
> RMS has invented the LGPL to ensure that free code stays free. (weak
> copyleft effect).

RMS intends the LGPL for libraries that do not provide any practical
advantages over existing non-GPL'd alternatives.[2]  The fact that you
are complaining about the license instead of using a different library
indicates that the license was probably chosen correctly.

On 10/30, Karsten Reincke wrote:
> I regret to be the messenger of bad news. But there is a simple
> solution: Don't use GPL licensed LilyPond snippets, if wou want to
> keep you rights. And perhaps convince the OpenLilyLib developers to
> relicense their work.

There it is.

Mason

[1] https://www.gnu.org/licenses/gcc-exception-3.1-faq.html

[2] https://www.gnu.org/licenses/why-not-lgpl.html


signature.asc
Description: PGP signature


Re: LilyPond, LilyPond snippets and the GPL

2019-10-30 Thread Karsten Reincke
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.

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

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.

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.

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.

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. 

With best regards Karsten





Re: LilyPond, LilyPond snippets and the GPL

2019-10-30 Thread Henning Hraban Ramm
Am 2019-10-30 um 13:06 schrieb David Kastrup :
> 
> You are correct that you cannot license the source under any license
> other than the GPL if you are going to distribute it containing GPL
> licensed snippets (the LSR snippets are PD, the Notation Reference
> contents GFDL).  But the PDF reflecting your source code is a derivative
> of the actual content-reflecting parts of the source code.  Of which you
> are the copyright holder.

It’s the same if you publish a book using TeX: 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, 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.)

A *program* that’s using open source code *contains* this code (in compiled 
form).

On the other hand if I write a book *about* TeX and show a lot of its code or 
copy examples from the FDL-licensed documentation, my book also falls under 
that license. While the publisher can sell copies, we can’t prohibit users to 
make their own copies, becaus the book is derived work of the publicly 
available documentation.


Greetlings, Hraban
---
fiëé visuëlle
Henning Hraban Ramm
https://www.fiee.net







Re: LilyPond, LilyPond snippets and the GPL

2019-10-30 Thread Urs Liska
 

Am 30. Oktober 2019 12:45:06 MEZ schrieb Karsten Reincke :
>Dear Elaine
> 
>On Tue, 2019-10-29 at 18:13 -0700, Flaming Hakama by Elaine wrote:
>> [...]
>> It seems you think that, if you use code from the LSR as part of your
>input
>> files, that you are obligated to distribute both the input files and
>the
>> resulting PDF/MIDI files under the GPL.
>YES, if the LSR snippet was licensed under the GPL (In fact, the LSR
>snippets are
>not licensed under the GPL, they are Public Domain, I know!)
>> 
>
>> One thing you state is clearly incorrect:  "snippets are either
>linked into the
>> main code using the command #include “ABC.ly”..."   No, this is
>actually part of
>> the reason why the openlilylib is structured the way it is, since the
>LSR is
>> explicitly NOT a library or set of libraries, and many people find
>that
>> annoying.  openlilylib was started (as I understand it) by people who
>do want a
>> libary-based approach, since the LSR approach encourages lots of
>duplication.
>
>I cannot say anything about the methods of OpenLilyLib - because I did
>not find
>any 'Hello World' example which I could compile on my machine (Ubuntu
>19.10).
>(This is another topic, which I want to ignore in this context.)
>

openLilyLib may be awfully underdocumented, but there are usage examples all 
over the place, really. I think every package or module has an example next to 
it or a usage-wxamples directory...


>But at least without beside using OpenLilyLib you have to methods to
>use the LSR
>snippets: either you save the snippet in your file tree and insert an
>include
>directive into your code which takes the path to that file as an
>argument. Or you
>copy the snippet literally and directly into your code.
>
>
>> So, here we have the solution to your dilemma: don't copy them.  
>
>Yeep, that's what I will do: as long as I am afraid to lose not only my
>LilyPond
>code (which I do not care), but the rights of my using scientific /
>musical work,
>I won't use any snippet which is license und er GPl. All other snippets
>are ok.
>And the LSR is a great help.
>
>> [...] Besides the debate about the letter of the law, then there is
>the reality
>> check part.  
>> 
>> Which is to say, you seem to think that someone who voluntarily
>submitted
>> content to the LSR as "public domain" is going to turn around and
>state that,
>> because that language is either inaccurate, or does not hold
>relevance in their
>> legal domain, they will take you to court to force you to comply with
>the terms
>> and distribute both your input files and resulting PDFs, or desist in
>> distributing the work.  
>Yes and No. 
>
>No, because I do not believe, that contributors to the LSR, later on,
>change their
>mind or want to attack us due to an infringement based on the weakness
>of a local
>legal system (But can we really be sure? Do you know that we have a lot
>of  patent
>trolls and meanwhile also GPL trolls, who invented a business model on
>suing users
>because of a non-compliant use of a GPL licensed program?)
>
>And yes, because I believe in good systems. And if we minimize the
>weakness of a
>system, then we should do that. The weakness of the LSR is, that Europe
>does not
>know the idea of 'public domain' (based on the principle, that you
>first have to
>claim your copyrights before you grant any rights). In Europe, nearly
>every work
>has a copyright owner. Hence every snippet contributed by a European
>citizen
>legally is not correctly contributed. This could be healed by using the
>CC0: It
>also talks about the public domain, but it explicitly grants all rights
>to the
>users without requiring any service in return.
>
>Best regards Karsten

-- 
Diese Nachricht wurde von meinem Android-Gerät mit K-9 Mail gesendet.



Re: LilyPond, LilyPond snippets and the GPL

2019-10-30 Thread David Kastrup
Karsten Reincke  writes:

> Many thanks for your comment. It contains an important hint. BUt it is a bit 
> apart
> from my crucial point: 
>
> I am not arguing that my LilyPond work (or a snippet) is covered by
>the GPL because it is 'executed' by LilyPond. I argue that my code is
>covered by the GPL if I use (include or copy) a GPL licensed
>snippet. And if it is covered, then in accordance to the GPL §6 (title:
>"Conveying Non-Source Forms") also the compiled version is covered by
>the GPL. (BTW: even a picture is binary code which is interpreted)

You are correct that you cannot license the source under any license
other than the GPL if you are going to distribute it containing GPL
licensed snippets (the LSR snippets are PD, the Notation Reference
contents GFDL).  But the PDF reflecting your source code is a derivative
of the actual content-reflecting parts of the source code.  Of which you
are the copyright holder.

So the solution is not to distribute your source code embedding GPLed
elements.

-- 
David Kastrup



Re: LilyPond, LilyPond snippets and the GPL

2019-10-30 Thread David Kastrup
Karsten Reincke  writes:

> On Wed, 2019-10-30 at 01:36 +0100, David Kastrup wrote:
>> Karsten Reincke  writes:
>> 
>> > [...]
>> > 
>> > Hence, if I use a piece of software as library, snippet, or module,
>> > then I am using the advantage that I do not have to program that code
>> > by myself. I am saving costs and time. A very good indicator, that I am
>> > saving resources by using the prework of another programer, is the call
>> > of a function (or method or similar). Therefore, calling a function /
>> > method delivered by a GPL licensed software indicates that I create a
>> > derivative work and that the strong copyleft effect is triggered.
>> 
>> Which would imply that distributing your LilyPond input combined with
>> OpenLilylib code would require licensing your LilyPond input under the
>> GPL.
> Yes, exactly. That's my point.
>> 
>> It doesn't cover the output of running your LilyPond code, namely the
>> PDF.
>
> I am afraid that this statement does judicially not hold:
>
> LilyPond itself says that it works "[...] as a compiled system: [...] In some
> ways, LilyPond is more similar to a programming language [...]". Hence the
> viewpoint of Carl Sorensen seems to be valid: LilyPond is like the gcc. And 
> even
> in case of the gcc, the copyleft effect does not cover the outpout (the 
> compiled
> program).
>
> But in case of a GPL licensed LilyPond snippet (sic!), the copyleft effetc is
> triggered by the use of that snippet.

Why do you assume that?

> And the GPLv3 is very clear: §4 and §5 require us also to distribute
> the code of the embedding / using work under the terms of th GPL.

Embedding is not the same as using.

> And - under the title "Conveying Non-Source Forms" - §6 requires us
> also to distribute our non-source forms under the terms of the GPL.

It isn't a non-source form of the library but a non-source form of the
input representation of the music.

> Here, the analogy of gcc and Lilypond matches perfectly: As we are
> must distribute binaries which are compiled by the gcc on the base a
> GPL licensed source code,

The copyright/licensing of GCC has nothing to do with the
copyright/licensing of source code compiled with it.  There is a special
license clarification for stubs to be included in the binaries.
However, LSR code as a rule is not included in the resulting PDF or Midi
files.

> we must also distribute the binaries (png) which are compiled by
> LilyPond on the base of a GPL licensed LilyPond score description. It
> is exactly the same case.

The score description in question reflecting the content of the score is
copyrighted by its author.  Even when LilyPond was used for its
preparation, its copyright does not affect independently created
content.

> I regret to be the messenger of bad news. But there is a simple
> solution: Don't use GPL licensed LilyPond snippets, if wou want to
> keep you rights.

There is a difference between using _content_ of snippets and using
_mechanisms_ of snippets.

Apart from that, the list of snippets declares right at its start:

LilyPond — Snippets
***

This document shows a selected set of LilyPond snippets from the
LilyPond Snippet Repository (http://lsr.di.unimi.it) (LSR). It is in the
public domain.

while the LilyPond Notation Reference is licensed under the GFDL.

> And perhaps convince the OpenLilyLib developers to relicense their
> work.

I don't see the necessity as long as no _content_ of OpenLilyLib is
redistributed as matters of its output.

-- 
David Kastrup



Re: LilyPond, LilyPond snippets and the GPL

2019-10-30 Thread Karsten Reincke
Dear Elaine
 
On Tue, 2019-10-29 at 18:13 -0700, Flaming Hakama by Elaine wrote:
> [...]
> It seems you think that, if you use code from the LSR as part of your input
> files, that you are obligated to distribute both the input files and the
> resulting PDF/MIDI files under the GPL.
YES, if the LSR snippet was licensed under the GPL (In fact, the LSR snippets 
are
not licensed under the GPL, they are Public Domain, I know!)
> 

> One thing you state is clearly incorrect:  "snippets are either linked into 
> the
> main code using the command #include “ABC.ly”..."   No, this is actually part 
> of
> the reason why the openlilylib is structured the way it is, since the LSR is
> explicitly NOT a library or set of libraries, and many people find that
> annoying.  openlilylib was started (as I understand it) by people who do want 
> a
> libary-based approach, since the LSR approach encourages lots of duplication.

I cannot say anything about the methods of OpenLilyLib - because I did not find
any 'Hello World' example which I could compile on my machine (Ubuntu 19.10).
(This is another topic, which I want to ignore in this context.)

But at least without beside using OpenLilyLib you have to methods to use the LSR
snippets: either you save the snippet in your file tree and insert an include
directive into your code which takes the path to that file as an argument. Or 
you
copy the snippet literally and directly into your code.


> So, here we have the solution to your dilemma: don't copy them.  

Yeep, that's what I will do: as long as I am afraid to lose not only my LilyPond
code (which I do not care), but the rights of my using scientific / musical 
work,
I won't use any snippet which is license und er GPl. All other snippets are ok.
And the LSR is a great help.

> [...] Besides the debate about the letter of the law, then there is the 
> reality
> check part.  
> 
> Which is to say, you seem to think that someone who voluntarily submitted
> content to the LSR as "public domain" is going to turn around and state that,
> because that language is either inaccurate, or does not hold relevance in 
> their
> legal domain, they will take you to court to force you to comply with the 
> terms
> and distribute both your input files and resulting PDFs, or desist in
> distributing the work.  
Yes and No. 

No, because I do not believe, that contributors to the LSR, later on, change 
their
mind or want to attack us due to an infringement based on the weakness of a 
local
legal system (But can we really be sure? Do you know that we have a lot of  
patent
trolls and meanwhile also GPL trolls, who invented a business model on suing 
users
because of a non-compliant use of a GPL licensed program?)

And yes, because I believe in good systems. And if we minimize the weakness of a
system, then we should do that. The weakness of the LSR is, that Europe does not
know the idea of 'public domain' (based on the principle, that you first have to
claim your copyrights before you grant any rights). In Europe, nearly every work
has a copyright owner. Hence every snippet contributed by a European citizen
legally is not correctly contributed. This could be healed by using the CC0: It
also talks about the public domain, but it explicitly grants all rights to the
users without requiring any service in return.

Best regards Karsten





Re: LilyPond, LilyPond snippets and the GPL

2019-10-30 Thread Urs Liska
Sorry for being short: what you say is very much hiw I meant it but not all. 
I'll clarify later but am currently on the road. Maybe tonight of tomorrow.


Am 30. Oktober 2019 12:09:37 MEZ schrieb Karsten Reincke :
>Dear Urs;
>
>many thanks for your clever thoughts! You brought up a very seductive
>argument,
>which I therefore will only summarize here for being sure that I've
>understood you
>correctly. May I condense your line of argumentation in the following
>way?
>
>You point out that there could be a function in a GPL licensed snippet
>which only
>modifies the apperance of a score. Such a function does not concern the
>music
>itself. And therefore, the copyleft effect is not applied of the music.
>
>Then it seems that you try to generalize your argumentation: Every
>piece of
>LilyPond code describing the music score does not not concern the
>music, but only
>the appearance. Hence the, the copyleft effect can not be applied to
>any results
>of the LilyPond compilation process (the pdfs, pngs, ...)
>
>Please tell me, whether I got your point or not. Again, it seems to
>seductive and
>I want to consider it a bit longer, before I will answer
>
>best regards karsten

-- 
Diese Nachricht wurde von meinem Android-Gerät mit K-9 Mail gesendet.

Re: LilyPond, LilyPond snippets and the GPL

2019-10-30 Thread Karsten Reincke
Dear Urs;

many thanks for your clever thoughts! You brought up a very seductive argument,
which I therefore will only summarize here for being sure that I've understood 
you
correctly. May I condense your line of argumentation in the following way?

You point out that there could be a function in a GPL licensed snippet which 
only
modifies the apperance of a score. Such a function does not concern the music
itself. And therefore, the copyleft effect is not applied of the music.

Then it seems that you try to generalize your argumentation: Every piece of
LilyPond code describing the music score does not not concern the music, but 
only
the appearance. Hence the, the copyleft effect can not be applied to any results
of the LilyPond compilation process (the pdfs, pngs, ...)

Please tell me, whether I got your point or not. Again, it seems to seductive 
and
I want to consider it a bit longer, before I will answer

best regards karsten





Re: LilyPond, LilyPond snippets and the GPL

2019-10-30 Thread Karsten Reincke
On Wed, 2019-10-30 at 01:36 +0100, David Kastrup wrote:
> Karsten Reincke  writes:
> 
> > [...]
> > 
> > Hence, if I use a piece of software as library, snippet, or module,
> > then I am using the advantage that I do not have to program that code
> > by myself. I am saving costs and time. A very good indicator, that I am
> > saving resources by using the prework of another programer, is the call
> > of a function (or method or similar). Therefore, calling a function /
> > method delivered by a GPL licensed software indicates that I create a
> > derivative work and that the strong copyleft effect is triggered.
> 
> Which would imply that distributing your LilyPond input combined with
> OpenLilylib code would require licensing your LilyPond input under the
> GPL.
Yes, exactly. That's my point.
> 
> It doesn't cover the output of running your LilyPond code, namely the
> PDF.

I am afraid that this statement does judicially not hold:

LilyPond itself says that it works "[...] as a compiled system: [...] In some
ways, LilyPond is more similar to a programming language [...]". Hence the
viewpoint of Carl Sorensen seems to be valid: LilyPond is like the gcc. And even
in case of the gcc, the copyleft effect does not cover the outpout (the compiled
program).

But in case of a GPL licensed LilyPond snippet (sic!), the copyleft effetc is
triggered by the use of that snippet. And the GPLv3 is very clear: §4 and §5
require us also to distribute the code of the embedding / using work under the
terms of th GPL. And - under the title "Conveying Non-Source Forms" - §6 
requires
us also to distribute our non-source forms under the terms of the GPL.

Here, the analogy of gcc and Lilypond matches perfectly: As we are must 
distribute
binaries which are compiled by the gcc on the base a GPL licensed source code, 
we
must also distribute the binaries (png) which are compiled by LilyPond on the 
base
of a GPL licensed LilyPond score description. It is exactly the same case.

I regret to be the messenger of bad news. But there is a simple solution: Don't
use GPL licensed LilyPond snippets, if wou want to keep you rights. And perhaps
convince the OpenLilyLib developers to relicense their work.

with best reagards Karsten

-- 
  Karsten Reincke/\/\   (+49|0) 170 / 927 78 57
 Im Braungeröll 31   >oo<  mailto:k.rein...@fodina.de
60431 Frankfurt a.M.  \/http://www.fodina.de/kr/





Re: LilyPond, LilyPond snippets and the GPL

2019-10-30 Thread Karsten Reincke
On Wed, 2019-10-30 at 00:55 +, Carl Sorensen wrote:
> 
> On 10/29/19, 5:46 PM, "David Kastrup"  wrote:
> 
> Karsten Reincke  wrotes:
> 
>[...]
> >
> > [4] But if a GPL licensed LilyPond snippet is used by another LilyPond
> > code (either by a functional call into the included snippet or by
> > literally copying the snippet into the other code), then the copyleft
> > effect of the GPL is triggered.
> >
> [...]
> 
> I disagree with your assessment that calling any code/function makes the
> work doing so a derivative of that code (that would concern using
> OpenLilyLib code).  I do agree that including/using/changing LSR
> snippets as part of your work means deriving from them.  That's why I
> would agree that using the GPL for the LSR snippets would not be
> desirable since it would introduce a licensing regime where it seems
> exaggerated.
> 
> I agree with this comment only to the extent that you are distributing the
> source code for your music.  If you only distribute the PDF and/or MIDI 
> output,
> the GPL does not apply, according to the FSF:
> 
> " In what cases is the output of a GPL program covered by the GPL too?
> (#WhatCaseIsOutputGPL)
> The output of a program is not, in general, covered by the copyright on the 
> code
> of the program. So the license of the code of the program does not apply to 
> the
> output, whether you pipe it into a file, make a screenshot, screencast, or
> video.

Many thanks for your comment. It contains an important hint. BUt it is a bit 
apart
from my crucial point: 

I am not arguing that my LilyPond work (or a snippet) is covered by the GPL
because it is 'executed' by LilyPond. I argue that my code is covered by the GPL
if I use (include or copy) a GPL licensed snippet. And if it is covered, then in
accordance to the GPL §6 (title: "Conveying Non-Source Forms") also the compiled
version is covered by the GPL. (BTW: even a picture is binary code which is
interpreted)

Nevertheless, I would be happy if the statement you quoted would be judically
approved! But as long as we do not have such a legal descision there is a great
risk that my scientific and artistical music work can freely be used due to the
fact that I used a GPL licensed snippet for ceating the music scores - a risk,
which I don't want to take.

But even if I agreed with your position, then we both still have to conlude, 
that
we can only distribute / hand over our LilyPond code under the terms of the GPL,
if our code used a GPL licensed snippet. And even this is a strong side effect.

with best regards Karsten

 


> Carl Sorensen
> 
> 1. https://www.gnu.org/licenses/gpl-faq.html#WhatCaseIsOutputGPL
> 
> 
> 
-- 
  Karsten Reincke/\/\   (+49|0) 170 / 927 78 57
 Im Braungeröll 31   >oo<  mailto:k.rein...@fodina.de
60431 Frankfurt a.M.  \/http://www.fodina.de/kr/





Re: LilyPond, LilyPond snippets and the GPL

2019-10-29 Thread Flaming Hakama by Elaine
> From: Karsten Reincke 
> To: lilypond-user 
> Cc: k.rein...@fodina.de
> Bcc:
> Date: Wed, 30 Oct 2019 00:06:32 +0100
> Subject: LilyPond, LilyPond snippets and the GPL
> By my last post, I, unfortunately, evoked a discussion concerning
> LilyPond, LilyPond snippets, and the GPL which actually did not belong
> to the original topic. During this discussion Harm stated, that „maybe
> LSR should better use GPL 3, not this deprecated one (Public Domain)“.
> Urs asked whether anything has to be done with respect to the Lilypond
> Snippet Repository. And Andrew asked whether I apprehend not to be able
> to use lilypond due to the fact that it is licensed under the GPL.
>
> I owned these comments by my statement, that I will not be able to use
> and to support the development of LilyPond snippets or libraries (as
> OpenLilyLIb) as long as they are licensed under the GPL. Meanwhile, I
> have written a thorough analysis of the situation. It is published
> under the title „LilyPond, LilyPond Snippets and GPL: About some bad
> side effects“. https://fodina.de/en/2019/lilypond-snippets-and-the-gpl/
>
> For those, who do not want to read such an exhaustive document – I need
> this depth of detail due to my work as the open-source compliance
> officer of a Germany company – let me briefly summarize the line of
> argumentation:
>
> [1] The LilyPond language (interpreted by the LilyPond program which
> creates nice music sheets in the form of PDFs or PNGs) is a programming
> language.
>
> [2] The LilyPond interpreter is licensed under the GPL.
>
> [3] None of the existing Lilypond snippets is licensed under the GPL
> because the interpreter is licensed under the GPL (= no copyleft effect
> from the engine to its input/output). If they are licensed under the
> GPL, then it is a decision of the snippet authors, who also could have
> chosen one of the other open-source licenses.
>
> [4] But if a GPL licensed LilyPond snippet is used by another LilyPond
> code (either by a functional call into the included snippet or by
> literally copying the snippet into the other code), then the copyleft
> effect of the GPL is triggered.
>
> [5] The copyleft effect does not distinguish between distributing the
> source (the LilyPond code) or the compilation (the PDFs, the PNGs): it
> simply requires that the resulting work (the derivative work) has to be
> distributed (published) under the terms of the GPL too.
>
> [6] If one has the right to use, to inspect, to modify and to
> redistribute (share) the (modified) work to/with third persons, then –
> in case of music – one has also the right to make music by using the
> music scores.
>
> (If you doubt these statements, please read
> https://fodina.de/en/2019/lilypond-snippets-and-the-gpl/ )
>
> Hence, now I reached the bad result: Using a GPL licensed LilyPond
> snippet for creating your own music – regardless, whether you use the
> include- or the copy & paste method – evokes that everyone who gets
> your work in any form also and inherently gets the right to use it –
> for any purpose and without having to ask you again. In other words: by
> using any GPL licensed snippet you give away all your rights, even your
> artistic rights.
>
> I hope you understand why I cannot let automatically become my
> scientific or my musical work common property only because I use one
> GPL licensed LilyPond snippet for creating the sheet music of my
> examples or my musical work.
>
> In my article, I also analyze the alternatives. The result is this: The
> best method is to license your work under the MIT license. The worse,
> but possible solution is, to use a creative commons license, especially
> the CC0 license.
>
> With respect to the question of Urs, I can now say: The existing LSR
> snippets can only be relicensed by the original copyright owners. But
> for the next uploaded files, it could be helpful, to recommend (or
> enforce?) their authors to license them under the CC0.
>
> And with respect to your OpenLilyLib, I, unfortunately, have to say
> this: I hope that you can conclude why I am not able to develop my
> snippet ‚harmonily‘ as part of your framework. But I will license it
> under the terms of the MIT. That allows you, to integrate the code into
> your work (But only, if you preserve the MIT license which is part of
> the code. You will not be allowed to relicense my code – which should
> not disturb your work and goals).
>
> In the hope having answered respectfully, appreciatively and clearly
> Karsten
>
>
> --
>   Karsten Reincke/\/\   (+49|0) 170 / 927 78 57
>  Im Braungeröll 31   >oo<  mailto:k.rein...@fodina.de
> 60431 Frankfurt a.M.  \/http://www.fodina.de/kr/



I'm trying

Re: LilyPond, LilyPond snippets and the GPL

2019-10-29 Thread Carl Sorensen


On 10/29/19, 5:46 PM, "David Kastrup"  wrote:

Karsten Reincke  writes:

> By my last post, I, unfortunately, evoked a discussion concerning
    > LilyPond, LilyPond snippets, and the GPL which actually did not belong
> to the original topic. During this discussion Harm stated, that „maybe
> LSR should better use GPL 3, not this deprecated one (Public Domain)“.
> Urs asked whether anything has to be done with respect to the Lilypond
> Snippet Repository. And Andrew asked whether I apprehend not to be able
> to use lilypond due to the fact that it is licensed under the GPL.
>
> I owned these comments by my statement, that I will not be able to use
> and to support the development of LilyPond snippets or libraries (as
> OpenLilyLIb) as long as they are licensed under the GPL. Meanwhile, I
> have written a thorough analysis of the situation. It is published
> under the title „LilyPond, LilyPond Snippets and GPL: About some bad
> side effects“. https://fodina.de/en/2019/lilypond-snippets-and-the-gpl/
>
> For those, who do not want to read such an exhaustive document – I need
> this depth of detail due to my work as the open-source compliance
> officer of a Germany company – let me briefly summarize the line of
> argumentation:
>
> [1] The LilyPond language (interpreted by the LilyPond program which
> creates nice music sheets in the form of PDFs or PNGs) is a programming
> language.
>
> [2] The LilyPond interpreter is licensed under the GPL.
>
> [3] None of the existing Lilypond snippets is licensed under the GPL
> because the interpreter is licensed under the GPL (= no copyleft effect
> from the engine to its input/output). If they are licensed under the
> GPL, then it is a decision of the snippet authors, who also could have
> chosen one of the other open-source licenses.
>
> [4] But if a GPL licensed LilyPond snippet is used by another LilyPond
> code (either by a functional call into the included snippet or by
> literally copying the snippet into the other code), then the copyleft
> effect of the GPL is triggered.
>
> [5] The copyleft effect does not distinguish between distributing the
> source (the LilyPond code) or the compilation (the PDFs, the PNGs): it
> simply requires that the resulting work (the derivative work) has to be
> distributed (published) under the terms of the GPL too.

I disagree with your assessment that calling any code/function makes the
work doing so a derivative of that code (that would concern using
OpenLilyLib code).  I do agree that including/using/changing LSR
snippets as part of your work means deriving from them.  That's why I
would agree that using the GPL for the LSR snippets would not be
desirable since it would introduce a licensing regime where it seems
exaggerated.

I agree with this comment only to the extent that you are distributing the 
source code for your music.  If you only distribute the PDF and/or MIDI output, 
the GPL does not apply, according to the FSF:

" In what cases is the output of a GPL program covered by the GPL too? 
(#WhatCaseIsOutputGPL)
The output of a program is not, in general, covered by the copyright on the 
code of the program. So the license of the code of the program does not apply 
to the output, whether you pipe it into a file, make a screenshot, screencast, 
or video.

The exception would be when the program displays a full screen of text and/or 
art that comes from the program. Then the copyright on that text and/or art 
covers the output. Programs that output audio, such as video games, would also 
fit into this exception.

If the art/music is under the GPL, then the GPL applies when you copy it no 
matter how you copy it. However, fair use may still apply.

Keep in mind that some programs, particularly video games, can have 
artwork/audio that is licensed separately from the underlying GPLed game. In 
such cases, the license on the artwork/audio would dictate the terms under 
which video/streaming may occur. See also: Can I use the GPL for something 
other than software?" [1]


Carl Sorensen

1. https://www.gnu.org/licenses/gpl-faq.html#WhatCaseIsOutputGPL





Re: LilyPond, LilyPond snippets and the GPL

2019-10-29 Thread David Kastrup
Karsten Reincke  writes:

> On Wed, 2019-10-30 at 00:46 +0100, David Kastrup wrote:
>> [...]
>> 
>> I disagree with your assessment that calling any code/function makes
>> the
>> work doing so a derivative of that code (that would concern using
>> OpenLilyLib code). [...]
>
> I agree with you, that the question, when and how a piece of code
> definitely becomes a derivative work of another is not finally
> clarified, especially not judically. Therefore, we all have to argue
> and can finally only deliver more or less rational 'rule of thumbs'. I
> argue the following way:
>
> RMS has invented the LGPL to ensure that free code stays free. (weak
> copyleft effect). And he invented the GPL to ensure that no one can use
> the advantages of free software without let his own the advantages
> using software becoome free software too. (strong copyleft effect).
> This is the successful spirit of the free software world. (If you doubt
> this, please consider, why the AGPL has been invented)
>
> Hence, if I use a piece of software as library, snippet, or module,
> then I am using the advantage that I do not have to program that code
> by myself. I am saving costs and time. A very good indicator, that I am
> saving resources by using the prework of another programer, is the call
> of a function (or method or similar). Therefore, calling a function /
> method delivered by a GPL licensed software indicates that I create a
> derivative work and that the strong copyleft effect is triggered.

Which would imply that distributing your LilyPond input combined with
OpenLilylib code would require licensing your LilyPond input under the
GPL.

It doesn't cover the output of running your LilyPond code, namely the
PDF.

-- 
David Kastrup



Re: LilyPond, LilyPond snippets and the GPL

2019-10-29 Thread Karsten Reincke
On Wed, 2019-10-30 at 00:46 +0100, David Kastrup wrote:
> [...]
> 
> I disagree with your assessment that calling any code/function makes
> the
> work doing so a derivative of that code (that would concern using
> OpenLilyLib code). [...]

I agree with you, that the question, when and how a piece of code
definitely becomes a derivative work of another is not finally
clarified, especially not judically. Therefore, we all have to argue
and can finally only deliver more or less rational 'rule of thumbs'. I
argue the following way:

RMS has invented the LGPL to ensure that free code stays free. (weak
copyleft effect). And he invented the GPL to ensure that no one can use
the advantages of free software without let his own the advantages
using software becoome free software too. (strong copyleft effect).
This is the successful spirit of the free software world. (If you doubt
this, please consider, why the AGPL has been invented)

Hence, if I use a piece of software as library, snippet, or module,
then I am using the advantage that I do not have to program that code
by myself. I am saving costs and time. A very good indicator, that I am
saving resources by using the prework of another programer, is the call
of a function (or method or similar). Therefore, calling a function /
method delivered by a GPL licensed software indicates that I create a
derivative work and that the strong copyleft effect is triggered.

> 
> [...]
> 
> MIT license definitely permits relicensing, but of course without
> copyright to the actual code, you would not have standing for
> enforcing
> the license of a relicensed (or non-relicensed) version, so that does
> not make a whole lot of sense for an unmodified version.
> 
No. In case of script languages, the MIT does implicitely prevent this
(and in case of compiled languages too, but there ir does not have any
visible effect):

The MIT license requires that "the above copyright notice and this
permission notice [the MIT license text] shall be included in all
copies or substantial portions of the Software". (
https://opensource.org/licenses/MIT) 

Hence, whenever you take over any substantial piece of my MIT licensed
code, then you have to add the MIT license text and my copyright line
too. Therefore, my code stays MIT licensed.

But of course, you are allowed to combine my code with your work and to
distribute your larger overarching work under any other license. As I
mentioned above: in case of compiled languages, you cannot see my code
anylonger. But in case of interpreted languages at least the
substantial portion is there and stays MIT licensed.

This aspect of distributing the larger work under different license is
often taken as 'relicensing' of the embedded MIT code. But in fact,
that's wrong - even if that does indeed not have any important effect.

best regards and thanks for your quick answer
Karsten

-- 
  Karsten Reincke/\/\   (+49|0) 170 / 927 78 57
 Im Braungeröll 31   >oo<  mailto:k.rein...@fodina.de
60431 Frankfurt a.M.  \/http://www.fodina.de/kr/





Re: LilyPond, LilyPond snippets and the GPL

2019-10-29 Thread Urs Liska

Hi Karsten,

first of all let me comment on your final stance: yes, I think you have 
answered respectfully, appreciatively and clearly. And I have also read 
your longer post. But I think there is one single flawed thought you 
build your argumentation on. I'll leave most of your statements alone 
and basically comment only on that one:


Am 30.10.19 um 00:06 schrieb Karsten Reincke:

By my last post, I, unfortunately, evoked a discussion concerning
LilyPond, LilyPond snippets, and the GPL which actually did not belong
to the original topic. During this discussion Harm stated, that „maybe
LSR should better use GPL 3, not this deprecated one (Public Domain)“.
Urs asked whether anything has to be done with respect to the Lilypond
Snippet Repository. And Andrew asked whether I apprehend not to be able
to use lilypond due to the fact that it is licensed under the GPL.

I owned these comments by my statement, that I will not be able to use
and to support the development of LilyPond snippets or libraries (as
OpenLilyLIb) as long as they are licensed under the GPL. Meanwhile, I
have written a thorough analysis of the situation. It is published
under the title „LilyPond, LilyPond Snippets and GPL: About some bad
side effects“. https://fodina.de/en/2019/lilypond-snippets-and-the-gpl/

For those, who do not want to read such an exhaustive document – I need
this depth of detail due to my work as the open-source compliance
officer of a Germany company – let me briefly summarize the line of
argumentation:

[1] The LilyPond language (interpreted by the LilyPond program which
creates nice music sheets in the form of PDFs or PNGs) is a programming
language.

[2] The LilyPond interpreter is licensed under the GPL.

[3] None of the existing Lilypond snippets is licensed under the GPL
because the interpreter is licensed under the GPL (= no copyleft effect
from the engine to its input/output). If they are licensed under the
GPL, then it is a decision of the snippet authors, who also could have
chosen one of the other open-source licenses.



Correct.




[4] But if a GPL licensed LilyPond snippet is used by another LilyPond
code (either by a functional call into the included snippet or by
literally copying the snippet into the other code), then the copyleft
effect of the GPL is triggered.



Well, sort-of ...




[5] The copyleft effect does not distinguish between distributing the
source (the LilyPond code) or the compilation (the PDFs, the PNGs): it
simply requires that the resulting work (the derivative work) has to be
distributed (published) under the terms of the GPL too.



... of course it does.
What you are referring to is the relation of software distributed in 
source code or binary/compiled form. But as you outlined before using 
LilyPond (like with all other comparable tools like e.g. LaTeX) does not 
have any implications on *what* you do with it. The intellectual 
property to the *documents* is not affected by the license the compiler 
is distributed with.


If there is a snippet or an openLilyLib package that creates a certain 
sign, let's say a vertical line to indicate a line break in the original 
source (\diplomaticLineBreak in an openLilyLib package) and that package 
is licensed with the GPL then the function is essentially licensed 
identically as any function within the regular LilyPond distribution.


Consider the function \IJ. This is defined in a file gregorian.ly within 
the LilyPond distribution. In order to use \IJ your document has to 
actively \include "gregorian.ly". gregorian.ly is licensed under the 
GPL, but that does *not* require you to license the *music* (or other 
kind of artistic/scientific "work") under the GPL as well. Basically 
*any* use of LilyPond uses function calls into GPLed code, and in that 
sense code within openLilyLib is part of the compiler domain like 
LilyPond, and not part of the document domain where it would affect the 
work you do with it.


However, if you are building a library that uses \IJ and you want to 
distribute your libary *that* triggers the copyleft implications of the 
original file's GPL.
The same is true (and that's probably a practically realistic example) 
if you write a custom openLilyLib package (by including 
oll-core/package.ily) and want to distribute that package you'd be bound 
by the relicensing provisions of the GPL. Still, that doesn't affect the 
artistic or scientific works created *using* the package in any way.


Given the \diplomaticLineBreak above using the function does not put any 
burden on you. OTOH your *scholarly decision* to apply a diplomatic line 
break may be a copyrightable decision in its own right.


Another example: If you use a GPLed document editor that provides the 
ability to use/apply macros, and there is an option to use custom macros 
which may stem from a GPLed macro repository. Such macros might (for 
example) be used to apply a certain styling to a certain type of 
content, e.g

Re: LilyPond, LilyPond snippets and the GPL

2019-10-29 Thread David Kastrup
Karsten Reincke  writes:

> By my last post, I, unfortunately, evoked a discussion concerning
> LilyPond, LilyPond snippets, and the GPL which actually did not belong
> to the original topic. During this discussion Harm stated, that „maybe
> LSR should better use GPL 3, not this deprecated one (Public Domain)“.
> Urs asked whether anything has to be done with respect to the Lilypond
> Snippet Repository. And Andrew asked whether I apprehend not to be able
> to use lilypond due to the fact that it is licensed under the GPL.
>
> I owned these comments by my statement, that I will not be able to use
> and to support the development of LilyPond snippets or libraries (as
> OpenLilyLIb) as long as they are licensed under the GPL. Meanwhile, I
> have written a thorough analysis of the situation. It is published
> under the title „LilyPond, LilyPond Snippets and GPL: About some bad
> side effects“. https://fodina.de/en/2019/lilypond-snippets-and-the-gpl/
>
> For those, who do not want to read such an exhaustive document – I need
> this depth of detail due to my work as the open-source compliance
> officer of a Germany company – let me briefly summarize the line of
> argumentation:
>
> [1] The LilyPond language (interpreted by the LilyPond program which
> creates nice music sheets in the form of PDFs or PNGs) is a programming
> language.
>
> [2] The LilyPond interpreter is licensed under the GPL.
>
> [3] None of the existing Lilypond snippets is licensed under the GPL
> because the interpreter is licensed under the GPL (= no copyleft effect
> from the engine to its input/output). If they are licensed under the
> GPL, then it is a decision of the snippet authors, who also could have
> chosen one of the other open-source licenses.
>
> [4] But if a GPL licensed LilyPond snippet is used by another LilyPond
> code (either by a functional call into the included snippet or by
> literally copying the snippet into the other code), then the copyleft
> effect of the GPL is triggered.
>
> [5] The copyleft effect does not distinguish between distributing the
> source (the LilyPond code) or the compilation (the PDFs, the PNGs): it
> simply requires that the resulting work (the derivative work) has to be
> distributed (published) under the terms of the GPL too.

I disagree with your assessment that calling any code/function makes the
work doing so a derivative of that code (that would concern using
OpenLilyLib code).  I do agree that including/using/changing LSR
snippets as part of your work means deriving from them.  That's why I
would agree that using the GPL for the LSR snippets would not be
desirable since it would introduce a licensing regime where it seems
exaggerated.

> In my article, I also analyze the alternatives. The result is this:
> The best method is to license your work under the MIT license. The
> worse, but possible solution is, to use a creative commons license,
> especially the CC0 license.

LSR code is most of the time edited/adapted to particular use cases.
It's not really intended to be retained in a reasonably attributable
form, so I think that even the MIT license makes little sense.  CC0
seems fine to me, as basically an internationalised abstraction of
"Public Domain".

> That allows you, to integrate the code into your work (But only, if
> you preserve the MIT license which is part of the code. You will not
> be allowed to relicense my code – which should not disturb your work
> and goals).

MIT license definitely permits relicensing, but of course without
copyright to the actual code, you would not have standing for enforcing
the license of a relicensed (or non-relicensed) version, so that does
not make a whole lot of sense for an unmodified version.

-- 
David Kastrup



LilyPond, LilyPond snippets and the GPL

2019-10-29 Thread Karsten Reincke
By my last post, I, unfortunately, evoked a discussion concerning
LilyPond, LilyPond snippets, and the GPL which actually did not belong
to the original topic. During this discussion Harm stated, that „maybe
LSR should better use GPL 3, not this deprecated one (Public Domain)“.
Urs asked whether anything has to be done with respect to the Lilypond
Snippet Repository. And Andrew asked whether I apprehend not to be able
to use lilypond due to the fact that it is licensed under the GPL.

I owned these comments by my statement, that I will not be able to use
and to support the development of LilyPond snippets or libraries (as
OpenLilyLIb) as long as they are licensed under the GPL. Meanwhile, I
have written a thorough analysis of the situation. It is published
under the title „LilyPond, LilyPond Snippets and GPL: About some bad
side effects“. https://fodina.de/en/2019/lilypond-snippets-and-the-gpl/

For those, who do not want to read such an exhaustive document – I need
this depth of detail due to my work as the open-source compliance
officer of a Germany company – let me briefly summarize the line of
argumentation:

[1] The LilyPond language (interpreted by the LilyPond program which
creates nice music sheets in the form of PDFs or PNGs) is a programming
language.

[2] The LilyPond interpreter is licensed under the GPL.

[3] None of the existing Lilypond snippets is licensed under the GPL
because the interpreter is licensed under the GPL (= no copyleft effect
from the engine to its input/output). If they are licensed under the
GPL, then it is a decision of the snippet authors, who also could have
chosen one of the other open-source licenses.

[4] But if a GPL licensed LilyPond snippet is used by another LilyPond
code (either by a functional call into the included snippet or by
literally copying the snippet into the other code), then the copyleft
effect of the GPL is triggered.

[5] The copyleft effect does not distinguish between distributing the
source (the LilyPond code) or the compilation (the PDFs, the PNGs): it
simply requires that the resulting work (the derivative work) has to be
distributed (published) under the terms of the GPL too.

[6] If one has the right to use, to inspect, to modify and to
redistribute (share) the (modified) work to/with third persons, then –
in case of music – one has also the right to make music by using the
music scores.

(If you doubt these statements, please read 
https://fodina.de/en/2019/lilypond-snippets-and-the-gpl/ )

Hence, now I reached the bad result: Using a GPL licensed LilyPond
snippet for creating your own music – regardless, whether you use the
include- or the copy & paste method – evokes that everyone who gets
your work in any form also and inherently gets the right to use it –
for any purpose and without having to ask you again. In other words: by
using any GPL licensed snippet you give away all your rights, even your
artistic rights.

I hope you understand why I cannot let automatically become my
scientific or my musical work common property only because I use one
GPL licensed LilyPond snippet for creating the sheet music of my
examples or my musical work.

In my article, I also analyze the alternatives. The result is this: The
best method is to license your work under the MIT license. The worse,
but possible solution is, to use a creative commons license, especially
the CC0 license.

With respect to the question of Urs, I can now say: The existing LSR
snippets can only be relicensed by the original copyright owners. But
for the next uploaded files, it could be helpful, to recommend (or
enforce?) their authors to license them under the CC0.

And with respect to your OpenLilyLib, I, unfortunately, have to say
this: I hope that you can conclude why I am not able to develop my
snippet ‚harmonily‘ as part of your framework. But I will license it
under the terms of the MIT. That allows you, to integrate the code into
your work (But only, if you preserve the MIT license which is part of
the code. You will not be allowed to relicense my code – which should
not disturb your work and goals).

In the hope having answered respectfully, appreciatively and clearly
Karsten


-- 
  Karsten Reincke/\/\   (+49|0) 170 / 927 78 57
 Im Braungeröll 31   >oo<  mailto:k.rein...@fodina.de
60431 Frankfurt a.M.  \/http://www.fodina.de/kr/