Hi Karsten,
I gratefully appreciate your work on LilyPond. Because of your
friendly and affectionate way of sharing your knowledge in this
mailing list - as I was allowed to experience it in the past - I also
want to believe that OpenLilylib is valuable. Personally, I refrained
from familiarizing myself with it. The reason was not, that I indeed
could not quickly activate a 'Hello-World' "song". Even higher entry
thresholds usually do not prevent me from diving into special areas of
programming. The reason I ended up putting OpenLilyLib aside was its
license model.
OpenLilyLib is licensed under the GPL. Thus, the copyleft effect
forces that all Lilypond files which include OpenLilyLib files, have
also to be distributed under the terms of the GPL. Moreover, due to
the fact, that Lilypond is the source code, which will be compiled
(into scores), one also has to respect the GPL rules of distributing
compiled versions of the code.
We had this discussion a year ago and I won't repeat the details. The
last time it ended in a kind of unfruitful shitstorm which did not
help anyone. But if you now look for supporters, you have to see that
your license model reduces the list of candidates: They must be
familiar with music, they must love beautifully designed musical text,
they must be able to program scheme (LISP) code (in fact not the most
widely used programming language) and they must be willing to require
the others to distribute their music under the terms of the GPL.
Nearly all other GPL licensed programming libs/programs had the same
problem and found solutions. Linus invented the "explicit syscall
exception" for his kernel, openjdk was released under the "GPL with
classpath exception". That is why I would like to propose again to
re-license the OpenLilyLib under the terms of the LGPL. Or, if that is
not possible, to link the lib with a kind of an "include exception"
with the purpose, to explicitly prevent the including musical scores
from also having to be released under the terms of the GPL.
I think that such a clarification would invite collaborators.
Although the discussion has become quite extensive by now, two points
strike me as not having been emphasized as clearly as they should be in
my opinion (I'm sorry if I missed them) - one technical/legal, one social:
First, my impression is that, at the root of the discussion, there's a
distinction that needs to be made more clearly between "including" and
"\including". When I use an \include directive (e.g. for using the OLL
framework in a score of mine), I am not incorporating code contained in
the library into my own score, but telling LilyPond to execute the
commands of a library that it is the user's duty to make sure can be
(legally) found on my computer. Not only am I using that library as kind
of a black box (in that I only know how to use its API, without caring
about or building on details on its implementation), but I am also not
"including" the library in a literal sense into my own work (namely, my
.ly file).
Instead, I create a .ly file that happens to be only compilable (using
LilyPond) by people who also manage to (legally) get hold of a copy of
the library - in case of OLL, a feat easily accomplished since OLL is
GPL and distributed via github.
Or, to put it in a nutshell: Your remarks sound as if you think that
"\include"ing a library means "including" it into your work, which I
dispute.
Second - and this is what, frankly, makes me feel sad about your
endeavour: I think it can be fairly said that your interpretation of the
legal matter at hand does not seem to be shared by most of the folks on
the lilypond-user mailing list. Of course, you're perfectly entitled to
stick to your interpretation and, on that basis, decide that you do not
want to participate in the OLL development. But in your remarks I
quoted, you seem to imply that there might be others (and lots) of
potential contributors that are kept from participating for the same
reasons that you state for yourself.
I think that's not doing justice to a community (and I'm assuming here
that a quite large percentage of the people most familiar with LilyPond
and most capable of handling it, and tweaking and extending it, are
actually active, at least intermittently, on lilypond-user) that
continually strikes me with the enormous generosity of its members. I'm
continually astonished, awed and humbled by the amount of expertise
shared on lilypond-user on a daily basis, coming from people who provide
many lines of non-trivial scheme code without ever claiming copyright.
(A dangerous stance! you might say, yet their behaviour seems to make
clear that they intend their ideas to be used by whoever might make use
of them.) I know perfectly well that there might be bloodcurling legal
difficulties looming as soon as only one of the regular contributors
raises the legal question of who's using his/her snippets in their own
works and starts demanding attribution etc., but the fact remains: From
all that can be seen on lilypond-user, your implication that
legal/licence considerations might be what keeps more people from
getting involved in a demanding technical project like OLL seems
implausible and, frankly, offending.
Lukas