6

Looking through the GPL FAQ, there is the question of if you can use the GPL license for non-software products, as long as it is clear what constitutes the source code. Of course, that does not mean it is advisable to do so. Asking mostly out of curiosity:

I thought about licensing original sheet music under the GPL license, and providing the source code along with it. If I were to do this, I would use Lilypond to generate the sheet music and since Lilypond is open-source and free there is no problem with this - anyone can access and modify the Lilypond code. And I like it that way. But what if someone took my music, but for whatever reasons did not want to use Lilypond to modify it so they translated it into a more common but non-free software such as Finale. As such, their "source code" would be the finale project file, which as far as I know can only be opened with Finale which requires a fee for use (this may not be true, but for the premises of the question we will assume it is, since this is more of a conceptual question than a question about these specific details). It seems that providing sourcecode that can only be accessed or compiled with nonfree software violates the sprit of the GPL, but what about the letter? Are they required to translate their code back to Lilypond for distribution as required under the GPL, or does the Finale file still count even though a fee is required to even open it? As an in-between, what if they translated it into a program like Musecore that is free and open source but requires entirely different procedures to modify (Musescore is graphical editing, Lilypond is actual code. Sort of like LibreOffice and Latex).

Edit to address some questions in the comments: To my knowledge, Finale project files cannot be opened without paying to use the Finale program. Please assume this is true for the purposes of this question, since this is more of a theoretical question with a specific example to explain the theory, than a question about the specific example.

Note that this restriction would be beyond what is required by a Creative Commons Share Alike license - that requires that the new thing made based on my thing be shared under CC-SA, but not that the files used to create it be shared, let alone be in a modifiable format.

If GPL does not require that any derivative work of my music is released in Lilypond code or at least something free to modify, is it possible to modify it to make that be required?

Related, but not duplicate, since in this case the provided source can be compiled, just not for free: Do you violate the GPL if you provide source code that cannot be compiled?
Vaguely related, though in this case I think what the source code is is clearly established: With GPL, what does "source code" mean for non-software?
Near duplicate, but not quite, since it is not about the format of the source files, only their existence: Is there a share-alike licence for media which specifies that the project files must be published as well as the finished media?

More background on this: While I do not work in the music industry, it is my impression that most professional music producing tools are paid software, so professional musicians would be mostly familiar with them. Likewise, since those are the industry standards, those are what are taught to music students (even grade school students - one of my very first music books came with a "free" CD of student-version Finale), and of course what is taught to students trickles down into what hobbyists sometimes learn if they are taught by well-meaning people who don't know any better that the only good tools you have to pay for.

But, as stated, I do not work in the music industry and only write music as a hobby. There are free tools out there, and several of the are quite good. Musescore is the most popular, but it has become increasingly locked down - the software itself is free but access to other's music published on the website is not, there is some sort of pro subscription that gives you something or other, etc. It also is a graphical WYSIWYG type program, which I find annoying to deal with because it is hard to copy and paste and is generally a destructive style workflow. So I use Lilypond which is a plaintext based program that, for lack of a better comparison, is basically LATEX for music (I think it even uses a modified TEX engine on the back-end to make the PDFs).

But that is not the point. While I do not care about performance or recording rights (or at the very least, they are outside the scope of the question), if I ever decide to publish something I have written, I would like to require that any published derivative work have the music and source files shared in an accessible format. This is to avoid anyone wishing to make a derivative work of the derivative work being forced to transcribe from the PDF sheet music into Lilypond or another program, which is tedious, time consuming, and error prone.It is much easier to give them the file used to generate the sheet music so that they may modify it directly. Apparently this is an uncommon thing to do, so it is rather hard to research the concept, let alone determine what if any standard exists for this.
8
  • @user253751 I'm not sure that's relevant to my question because it is, at least in principal, possible to cross compile source code for Windows on another operating system like Linux using only free tools (see here for an example: jake-shadle.github.io/xwin/#prerequisites). The fact that a non-free operating system is required to run the produced binary is irrelevant. If your argument is instead that it is possible to write programs that only run on non-free operating systems or hardware, I don't think that applies because sheet music does not work that way.
    – cat40
    Commented Feb 22, 2023 at 3:50
  • @user253751 What you are talking about is also the binary/compiled side - what the PDF of the sheet music would be in this case. It is very possible to modify GPL'd code for a non-free system, but you still have to provide source code, which is almost invariably plaintext and thus freely readable and modifiable. Some of the source file formats I am talking about are proprietary with no way to read them without paying for a program. This would be similar to distributing encrypted source files and demanding a fee to decrypt them.
    – cat40
    Commented Feb 22, 2023 at 3:54
  • 1
    Depending on your point of view, every mainstream processor (Intel, AMD, Arm) can be considered not Free Software. Commented Feb 22, 2023 at 11:39
  • Are you asking about the .musx file format (as compared to the open MusicXML format)? Could you please explain if actually a fee is required to open the file (e.g. file is encrypted and can only be opened by properly licensed Finale), or if the file is in plain text but only Finale knows how to extract the information, or if the Finale file is even in a published (standardized?) format, but nobody else cares to create software that can read/edit it? Commented Feb 22, 2023 at 11:45
  • @user253751 I am not interested in getting lost in the weeds with you. Please either write an answer using some sort of evidence to back up your theory, or keep you comments limited to the question at hand. This question is not about windows compilers. As I have said before, those are not terribly relevant because it is not possible to write music that only runs on a specific OS. The closest analogy is writing music for a specific instrument but most instrument designs are public domain at this point.
    – cat40
    Commented Feb 22, 2023 at 19:34

1 Answer 1

5

As long as the source code is readable for the recipients (i.e. not encrypted or password protected, not obfuscated) and actually qualifies according to the definition in the license language, it is fine to use a file format that is not generally used by others.

The “source code” for a work means the preferred form of the work for making modifications to it. “Object code” means any non-source form of a work.

Your case is a little bit like translating software into another new programming language. No doubt, it is a derivative work. Will I be required to provide you with free of charge set of development tools for this new programming language? Or will I be required to provide a back-translation of my derivative work into Java or C#? Nothing in the GPL License points into this direction.

Hypothetical case:
Let's assume for argument's sake a picture in PNG format under GPL license. PNG supports palette-based images (with palettes of 48-bit RGB or 64-bit RGBA colors). Let's assume I convert the colors of the picture into a 72-bit RGBA palette because I need that for a scientific analysis. It is clearly outside of the standard, and only my own software will be able to read it, but it is a derivative work for which I need to provide the code.

Nothing in the GPL license states that --by creating this picture with non-standard palette, and providing it as a derivative work to downstream recipients-- I will have to publish software that enables the recipients of the derivative work source code to deal with the picture.

The example shows one of the limitations of GPL: it is tailored for software, and based on that GPL has some assumptions, for example that the source code is in a text format (and there are only a handful of file formats for that) and everybody can read it.

For your specific case with the sheet music files: You will not be able to force a translation back into the format of your choice. Any source code format is fine. The musx file format seems to be reasonably well documented. It might be proprietary (i.e. only used by one software), but there seem to be converters and tools to deal with it. (pls. note; I have not checked the accuracy or quality of the information on these pages)

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.