CoderLine / alphaTab

alphaTab is a cross platform music notation and guitar tablature rendering library.
http://www.alphatab.net
Mozilla Public License 2.0
1.26k stars 202 forks source link

Copyright notice requirement on rendered tablatures makes alphaTab proprietary #92

Closed ghost closed 7 years ago

ghost commented 8 years ago

alphaTab claims to be "Open Source" on its website but the copyright notice on rendered tablatures specified here makes it proprietary, because such a requirement is incompatible with the GPL, especially this part:

That means you must not:

  • Remove or change the parts of the source code which are responsible for rendering this notice

Here you are actually preventing people from modifying the code, thus making the program proprietary.

I can understand why you'd want to keep the copyright notice and it's fine to display the copyright notice on rendered tablatures by default but people should be allowed to modify all code - your average user won't likely do that anyway and besides, if they want to do it they will (people get away with violating the license of huge programs like the Linux kernel).

This licensing quirk is an obstacle to alphaTab's success, because it prevents its inclusion into the Free Software Directory and the main repos of distros like Debian and Fedora.

Danielku15 commented 8 years ago

I see this rendered copyright notice the same as the copyright info on top of the source files. Consider the following description of the OSI:

Can I strip out the copyrights on Open Source code and put in my own?

Definitely not! This isn't even about Open Source, really: in general, you should not remove a valid copyright notice, no matter what license it specifies. Copyright notices are legal notices; they are also a source of information about the provenance of source code, and if that information is stripped out recipients of downstream copies have no easy way to rediscover it. https://opensource.org/faq

Also on §4 and §5 of the LGPL you can read:

4 Combined Works.

You may convey a Combined Work under terms of your choice that, taken together, effectively do not restrict modification of the portions of the Library contained in the Combined Work and reverse engineering for debugging such modifications, if you also do each of the following:

a) Give prominent notice with each copy of the Combined Work that the Library is used in it and that the Library and its use are covered by this License.

b) Accompany the Combined Work with a copy of the GNU GPL and this license document.

c) For a Combined Work that displays copyright notices during execution, include the copyright notice for the Library among these notices, as well as a reference directing the user to the copies of the GNU GPL and this license document.

5 Combined Libraries.

You may place library facilities that are a work based on the Library side by side in a single library together with other library facilities that are not Applications and are not covered by this License, and convey such a combined library under terms of your choice, if you do both of the following:

a) Accompany the combined library with a copy of the same work based on the Library, uncombined with any other library facilities, conveyed under the terms of this License.

b) Give prominent notice with the combined library that part of it is a work based on the Library, and explaining where to find the accompanying uncombined form of the same work.

http://www.gnu.org/licenses/lgpl-3.0.de.html

Taking those descriptions into account I cannot fully agree that alphaTab is not "true OpenSource". The term OpenSource is always not easy to handle and I'm no lawyer, I'm a developer spreading a product for free with the source code available.

I cannot understand if people need to remove this copyright notice to use alphaTab to derive a product out of it. I strongly doubt that this small annotation that is rendered really has a big influence on the success of alphaTab. To state it a bit more harsh: If somebody really has the feeling he cannot use alphaTab just because of this simple single-line notice he should not use alphaTab or should contact me on an agreement regarding a license agreement (GPL licenses are suitable for multi-licensing approaches). I've put much effort into this project and I expect clients of alphaTab can accept this small info notice to honor the project.

Of course there are always people ignoring such restrictions and license agreements and do what ever they want to make money out of the other peoples work. I've seen projects where people even were that cheeky to rebrand alphaTab with their own name (including the copyright notice, namespaces etc.) and promote it as part of a library suite they've stolen together. This small notice is my way of spreading the awareness on alphaTab being used. The restriction on removing it is to highlight that people cannot simply remove this notice because they just don't like it.

ghost commented 8 years ago

The disclaimer explicitly forbids changing parts of the source code, and that's incompatible with any definition of both open source and free software.

If the disclaimer was phrased differently, for example:

That means you must not:

  • Remove or change the copyright notices

That would be what the (L)GPL meant in its terms, but that can't be binding on rendered output nor or on the actual code that generates the watermark.

In fact, according to the GPL FAQ, it is impossible to impose any such restrictions on the output produced by a program:

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.

If you don't believe me, you can contact the people who wrote the GPL themselves at licensing@fsf.org and see what they (lawyers included) think about such a clause.

Danielku15 commented 8 years ago

I can only partly agree on how you interpret this FAQ section. Applying the #GPLOutput clause to alphaTab we are talking about the copyright on the music notation not about the algorithms and data structures being used for generating the output. The watermark indicates the software used for generating the output, it's not claiming any copyright on the music (e.g. in form of "(C) 2016 alphaTab" ). Considering technically the output generated by alphaTab the watermark is even rendered on an independent sub-canvas and could therefore be seen as an exception as written on #WhatCaseIsOutputGPL:

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.

Even if I alphaTab cannot claim any GPL license for the music notation since this license depends on the input, the watermark is generated independently from their input and since it is part of the (L)GPL code I could license this watermark as GPL and it must therefore not be changed.

I've contacted the FSF regarding this topic.

In general it would be interesting for me why this topic is so important for you. May I ask you following questions:

ghost commented 8 years ago

None of the above. I simply would alphaTab to be included in the main repos of distros like Debian, Trisquel and GuixSD, and the current licensing makes it impossible.

I don't care about the watermark, in fact you can leave it in the code - many programs (such as Inkscape, IIRC) leave some kind of signature in the files the create. It's the restriction on modifying the code that I don't like, and none of the other programs I installed on my computer have such a restriction.