RMS On Header Files and Derivative Works 247
tomhudson writes "In this email from 2003, Richard Stallman says 'I've talked with our lawyer about one specific issue that you raised: that of
using simple material from header files. Someone recently made the claim that including a header file always
makes a derivative work. That's not the FSF's view. Our view is that just using structure
definitions, typedefs, enumeration constants, macros with simple
bodies, etc., is NOT enough to make a derivative work. It would take
a substantial amount of code (coming from inline functions or macros
with substantial bodies) to do that.' This should help end the recent FUD about the Android 'clean headers.'"
Copyrights on facts (Score:5, Informative)
I've hear it suggested by a number of lawyers that the _specification_ a binary interface of a library is a statement of fact, rather than a creative work. Since copyright does not apply to statements of fact this would suggest that structure definitions and the like would not be subject to copyright, and by extension the is no issue regarding derivative works. Of course you could probably as the same lawyers on a different day (or with a different person paying the bills) and get a different answer, but the concept seems to make sense.
Re:f u (Score:4, Informative)
You can say fuck on slashdot dude. Hell, you can type anything you want at zombocom er slashdot.
Re:Copyrights on facts (Score:5, Informative)
Express Logic have already been through this when Green Hills released their RTOS using the ThreadX API from Express Logic. In this case the arbitrators ruled in favour of Green Hills even though the header files were copied.
Re:end FUD ? (Score:5, Informative)
In the more specific case of linux, you might also want to see the COPYING file, which is a modified version of the GPL v2 that explicitly states that using the header files to access kernel services doesn't create a derivative work, which was the whole point of the FUD-packers campaign, to convince handset manufacturers that there was a risk that their Android code was a derivative work and they'd have to share their source.
Hope this clears it up a bit :-
Re:Copyrights on facts (Score:5, Informative)
Second, facts cannot be copyrighted, any more than the rules of a game can be.
ONLY the presentation or layout of those facts can be copyrighted. And it is ONLY the presentation or layout, not the underlying facts, that are protected.
Unique definitions are also not sufficient of themselves for copyright in software, if that unique definition is either required for interoperability, or is the only way to do something.
For example:
is not copyrightable.
url:http://www.ivanhoffman.com/scenes.html
Re:Copyrights on facts (Score:5, Informative)
It established the abstraction-filtration-comparison test in whether copyright code is infringing. Abstraction is the first step and gets the relevant source code. In filtration, any part of the code that cannot be copyrighted must be eliminated for consideration. One thing that must be excluded are facts. For example, many programs that draw circles rely on using Pi. A company cannot copyright PI =3.14159 as this is a fact. Anything in the public domain are excluded. This is where SCO would have had lots of problems because even if the code was legally owned by them (it was owned by Novell), some of what they claimed to be theirs had been put into the public domain by AT&T, USL, BSD, and others over the years. Header files (especially the simple ones that are merely #include statements) can fall under scenes a faire. Standards also fall under this category. Scenes a faire are all the elements that are required for any program of the same type to run. Variable declarations for example. If a program works with files, the owner can't really claim "File file = null" is copyrightable as a variable declaration.
Only after filtering out non-protected elements, can any comparison begin. That was one of the arguments IBM had against SCO: IBM's expert claimed that SCO's expert, SCO VP Gupta, had failed to filter out unprotected elements of code [groklaw.net]. Two examples of the alleged violating code were the IPC and ELF header files. The IPC header had been put into public domain without copyright since 1989. The ELF header was published as part of the ELF specification whose membership included SCO's predecessor, Santa Cruz. By the way, IBM's expert was Brian Kernighan who worked with Ritchie and Thompson on Unix, wrote the first book on C with Ritchie, and wrote some Unix programs like cron.
Re:Stallman has changed his mind (Score:5, Informative)
It wasn't because of header files. It was because the code generated by Bison (actual .c files) would be licensed under GPL, because it was a derived work of a GPL-licensed template, and included the GPL copyright comment.
Due to problems with this arrangement, they have added this bit to the output:
but this was after 1990.
In any case, this has absolutely nothing to do with header files.