7

This is a follow on from Does a file format constitute an API?

This is an attempt to break down: Does a host application's license apply to plug-ins written for it? into the underlying questions.

Assume the following:

  • Two programs 'communicate' via a text file
  • One of the programs is GPL (no exemptions)
  • The format of the file's contents are defined by the GPL program
  • The existence of the file is the only form of linkage between the two.

It is actually irrelevant but, for simplicity, assume the GPL program reads the file.

Does this make the two programs a combined or derived work, possibly via linkage?

4
  • 2
    What, precisely, are you proposing to distribute? Distribution is generally the central topic in copyright law, not what you create.
    – bmargulies
    Commented Jul 17, 2015 at 21:13
  • Okay, so combined may not be the correct adjective. Let's try derivative
    – kdopen
    Commented Jul 17, 2015 at 21:29
  • 1
    I'd really like to see more proof of research in such questions. They become exhausting. Commented Jul 18, 2015 at 11:55
  • We now have a string of questions asking "Does X create a derived work?" where X is some software architecture for combining things. There seems to be an assumption here that courts makes decisions about whether or not something is a derivative based upon architecture. I've found nothing in case law that supports this assumption. Commented Jul 18, 2015 at 13:41

2 Answers 2

6

Based on the interpretation of the FSF (the issuer of the GPL): No.

On the direct interpretation of your questions title it is pretty obvious. If I write an MS Office document in LibreOffice and read and change it in OpenOffice, it doesn't mean LibreOffice and OpenOffice create a combined work. Even more so if the format that is used for the exchange is originating from a third program: MS Office.

But you go more into detail in the question and specify the shared format is used for communication. And your other question points toward the interpretation you want this to know for the case the communication with the shared file format is forming an API.

But even for that case the answer is no. The simple usage of an API isn't creating a derivate and therefore triggering the GPL. The GPL is talking about linking the software, not about using an API. If linking is enough to create a derivate work is discussed, and not everyone shares the point of view of the FSF. But even the FSF stops at linking and I know of no one, who interprets the formation of a derivate even more inclusive than the FSF.

The FSF addresses this distinction in their FAQ:

If the modules are included in the same executable file, they are definitely combined in one program. If modules are designed to run linked together in a shared address space, that almost surely means combining them into one program.

By contrast, pipes, sockets and command-line arguments are communication mechanisms normally used between two separate programs. So when they are used for communication, the modules normally are separate programs. But if the semantics of the communication are intimate enough, exchanging complex internal data structures, that too could be a basis to consider the two parts as combined into a larger program.

As you can see, transferring files via Sockets or Pipes (including STDOUT and STDIN), does not qualify as combination into a larger program. The file could be also exchanged via a command-line parameter pointing to the position the file is saved. That is even more indirectly.

The FAQ has some consideration into 'complex internal data structures', so that could be an argument that both programs are combined. For a file with a defined content (needed for it being an API), we can argue against it being 'internal'. It's pretty obvious for text-files, that you defined in the question, internal data-structures (and that includes strings) have to be converted to fit into text-files. Strings have a length-integer at the beginning (seldom in use today) or are ended by a null-byte (more common). In a test-file strings are separated by a defined separator, commonly a line-break. That alone makes the data no longer internal.

But even for a binary file some sort of conversion is needed. Different compilers can lead to different memory-layout of data-structures: little vs. big-endian for multi-byte datatypes, direction for arrays, padding bytes included by the compiler, length of integers. If the file is part of an API all this has to be defined, meaning on a different platform with different compilers a conversion from the internal data-structure is needed.

However, always it might be the case that some jurisdictions use different interpretations, I rely on the interpretation of the FSF, as they issued the GPL the question was about.


FreeRadical points in a comment to the court case of FormGen vs. Micro Star about Duke Nukem level files. I have to explain it a bit, that is too long for comments:

This case is not the same situation as the question asks. The question of kdopen would be similar to Microstar creating a level editor (another program using the same file format). The case was about selling files created with the original level editor and about advertising the pack with screenshots. The screenshots indeed are derivates, as they contain information from both the level-file and copyrighted art from Duke Nukem. So the matter of the screenshots is pretty clear, however the court also concludes the map-files itself create a derivate. For that let interpret the map-file as a program. That is possible, as it contains instructions to the game engine how to use game art to create a new level. But still not matches kdopens question, as there are no two programs that are only linked together by a file format. In my question I cited the FSF with:

If modules are designed to run linked together in a shared address space, that almost surely means combining them into one program.

This happens here, as the map-file is loaded by the game into the address-space of the game. But kdopens question was about linking through exchanged files, not that the file itself is the derivative.

7
  • @FreeRadical: I have put my answer to your comment in my answer, as this is too long for comments.
    – Mnementh
    Commented Aug 5, 2015 at 12:31
  • @FreeRadical: The reasoning of the court in the document you linked is, that the map-file indeed form a derivate, and they used it to explain by saying that the map-file contains instructions to the game-engine (therefore similar to to a program). But my point here was, that the situation is still different from what was asked in the question. The question is about two programs, that communicate via exchange of files in defined format, it wasn't about the files itself. Fair point though about the definitive answer, I will edit to reflect this.
    – Mnementh
    Commented Aug 5, 2015 at 13:25
  • @FreeRadical: Still doesn't change my point, as it isn't about linking through a file format as asked here. And copyright-law reserves the right to make sequels? Copyright only prevents sequels, if the sequel uses copyrighted stuff from the original, this making the sequel a derivative work. Without looking I assume copyright law doesn't even mention sequels.
    – Mnementh
    Commented Aug 5, 2015 at 13:58
  • The question asked here is: "Does sharing a file format make two programs either a combined or derived work?", and the answer seems to be, not "No!" - but: "Yes, if the shared file format is used to create a sequel to a computer program game, it may do that." As for whether US copyright-law reserves the right to make sequels, yes, I believe it does. Commented Aug 5, 2015 at 14:13
  • Again, the released file here consists the sequel. This case is nothing about two works that interact through a file-format.
    – Mnementh
    Commented Aug 5, 2015 at 14:14
4

It is impossible to provide a definitive answer to this, as the answer will often depend on the how and for what purpose the "shared" file format is used. I am sure that there exists multiple instances of two programs sharing data by means of a particular file format that does not make the two programs a combined or derived work.

But the opposite may also be true.

At least, in case law, I know about one example where the court found that sharing a file format did create a derivative work.

To avoid any misunderstanding, the court in this particular case did not say that it was just using a shared file format that resulting in a derivative work, but that by using a shared file format for a specific purpose - i.e. to create a sequel to a computer program game, a derivative work was created, and the defendant did not have the required license or permission to distribute this derivative work.

The case I am referring to is the 9th circuit ruling on Micro Star v. FormGen Inc..

The plaintiff in this case tried to make the court consider software architecture, by alleging that contested files ("N/I MAP files") contained instructions to the game-engine and therefore was a program that was at run-time linked to the main game.

However, the court ignored this angle, and instead based its decision in favor of the plaintiff on the following:

A copyright owner holds the right to create sequels, [...] and the stories told in the N/I MAP files are surely sequels, telling new (though somewhat repetitive) tales of Duke's fabulous adventures. A book about Duke Nukem would infringe for the same reason, even if it contained no pictures.

And while the court agreed that the game manufacturer (FormGen) had licensed its users to create an share such levels in the form of MAP files, the infringing company (Micro Star) has not been granted such a license. The ruling says:

Nothing indicates that FormGen granted Micro Star any written license at all; nor is there evidence of a nonexclusive oral license. The only written license FormGen conceivably granted was to players who designed their own new levels, but that license contains a significant limitation: Any new levels the players create "must be offered [to others] solely for free".
The parties dispute whether the license is binding, but it doesn't matter. If the license is valid, it clearly prohibits commercial distribution of levels; if it doesn't, FormGen hasn't granted any written licenses at all.

The point I am trying to make here is that when courts decide on what is and is not derivative works, they will often consider other aspects of interdependence between the works than those that follows from software architecture (be it file formats or types of linking). Many programmer's seem to think that courts care about software architecture just as much as they do. However, this is (usually) not the case.

This means that software architecture or linking mechanism may be unsuitable as a criterion for deciding if the combination is a derivative work or not. Therefore, most questions about whether the use of some specific software mechanism cannot be answered beyond the generic: "It depends on how, and for what purpose, that mechanism is used."

Unless the dispute is about a "direct derivative" (where original code is copied and transformed to create a derivative, and the outcome is obvious), the courts frequently uses other criteria than software architecture to decide whether something is a derivative or not.

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.