RMS On Header Files and Derivative Works
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.'"
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.
If intelligent life is too complex to evolve on its own, who designed God?
You can say fuck on slashdot dude. Hell, you can type anything you want at zombocom er slashdot.
How the fuck do we decide what a "substantial amount of code" actually is? Where exactly is the boundary?
Free Software zealot: "substantial amount of code" == one line
Corporate America: "substantial amount of code" == entire program.
IP Lawyers: "substantial amount of code" == new Porsche.
This should help end the recent FUD about the Android 'clean headers.
you must be new here..
No, I just believe that the FUD-packers will now try something else.
They don't seem to get it - that there are now a critical mass of people who not only don't buy into the FUD, but have an ideological interest in exposing the FUD for what it is.
Now that we've got the numbers, FUD not only becomes less effective for the other side, but draws attention to just how much of a threat open source is to them, and how hollow their arguments really are.
Think of it. This was an attack on Android specifically designed to get hand-set vendors worried that they would have to share their source, not just the usual "linux may have copyright problems blah blah blah". It failed, and in doing so discredits all the other similar FUD. People like Florian Mueller are the internet version of the boy who cried wolf - at this point, even if he did find something, who'd believe him?
Uh, what relevance does the original copyright license hold if the modified headers are no longer considered to be under copyright?
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 :-
So, using the headers to access kernel services does not create a derivative work.
This is over and above that the files in question have been stripped of copyrightable content.
I guess people are talking C? I program C++ with the classes in the .h files, using the .cpp files only to determine which root classes get created. Criticize me for not following good practices, but I do this to simplify translation of programs between C++ and Java, where everything is done in terms of classes and there is only the one .java type source file.
So at least in C++, the header files could just specify interfaces or they could specify the entire program source code.
Right, consider templates... The "header files are often not copyrightable" refers to the kinds of header files that include only simple declarations, not implementations. It's not really "header files" that are not copyrightable, it's the kind of API description & definitions that are often (but not always) the sole content of header files.
I thought the initial news was that copyrights were removed from the Android glib files and replaced by a mention it's public domain. If they are not removed there is no reason indeed to talk about this (except the news was false). If they are removed most of the comments about "including headers creates derived work or not" is not related to the subject IMO, then the main subject is that Google tried to removed the copyrights.
That is the main subject, but the question of whether or not the copyright notices were legitimate to begin with is certainly relevant to google's removal of them... You can slap a copyright notice on anything, but if it's material not subject to copyright to begin with, your notice will not bend copyright law to cover it, no matter how much you may desire it to do so.
Theo, is that you?
"First they came for the slanderers and i said nothing."
> unless you know of a higher court than the Supreme Court of the USofA
Yes, I wonder what God thinks about this whole issue.
Around 1994, they allowed viral-free bison output.
Who else is fed up by Florian Mueller's antics?
I sense a new slashdot poll
What do you think of Florian Mueller's antics?
[_] Florian Mueller's blog is the new goatse link. "Oww! My MIND! Quick, get the brain bleach!"
[X] I just want to know who's paying for it.
[_] "I'm an anonymous coward and I approve" -- Florian Mueller
[_] "Damn, forgot to check 'Post Anonymously' -- Florian Mueller
[_] Hey, it generates page hits and sells ads -- editors
[_] I am Steve Ballmer and I approve of Florian Mueller's antics
[_] In Soviet Russia, everyone trolls Florian Mueller.
[_] Florian Mueller had an original idea that wasn't a troll. It died of loneliness.
[_] A grue ate him. Nothing of consequence was lost.
[_] 104% of 42 respondents preferred CowboyNeal.
This latest attempt to generate FUD pretty much seals the deal - his 15 minutes are SO over.
I guess the Linux kernel could be an exception with some statement like "by submitting this patch you agree to transfer copyright to Linus Torvalds".
I believe that something similar is the case with some programs that offer themselves on a GPL or a non-GPL license, e.g. MySQL, if you want to get your code accepted into the "official" distribution. However, AFAIK this has never been the case with Linux, and at this stage it's incredibly unlikely that they'd get all the kernel contributors to agree to retrospectively turn over their copyright to Linus (or whoever)- so short of a massive rewrite that rewrote/replaced all contributions not reassigned to Linus, it ain't gonna happen.
"Slashdot - News and Chat Sites Deviant". (Click "homepage" link above for details).
d(work)/dx ?
I'm starting to think GNU is the problem with "GNU/Linux" these days.
You can't put method bodies in a separate .cpp file if you use templates. When your library is mostly templates (like Boost), then all its code must necessarily be in the header files.
This does not mean that the code in the headers can "still be reduced to just the interface facts".
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.
Copyright works in theory, it's not insane per se. It is abused, ok, and patents on obvious things are even worse, ok. But abolition of copyright is the removal of a rule: maybe it works, maybe when you remove too many rules you make room for the only rule that can't be touched: the stronger wins.
---- MISSING MISCELLANEOUS DATA SEGMENT --- [sigdash] trolololol
"The FSF is NOT the copyright holder of the Linux _kernel_ "
No, but they wrote the license under which the kernel is distributed. Seems to me that their opinion on how that license is meant to apply is pretty authoritative.
"National Security is the chief cause of national insecurity." - Celine's First Law
I agree with RMS on this one. So, now you have it from the highest source.
"Clearly this evolution thing needs more bug testing. I've created a race largely composed of idiots."
Thing is, Stallman is saying that just including a header file. eg. #include "stdio.h" does not make the program a derivative of stdio.h.
It doesn't however mean you can get stdio.h, remove all the comments and copyrights then pass that off as your own file, which is what Google have allegedly done.
The International Court of Justice?
I lol'd. Good luck with that.
Any facts in header files are simply not eligible for copyright protection, even when embedded in a copyrighted header file.
Facts are such things as POSIX identifiers, various data structures, etc. Bionic strips out the stuff eligible for protection, and leaves "just the facts" and other non-copyrighted entities.
And no, we've pretty much demolished your claims of being a lawyer. You have continually claimed that Feist vs Rural says that copyright extends to both the layout and presentation PLUS the underlying facts, despite the the judgment saying the exact opposite, as anyone who follows the above link will see.
He kindly told me that he thought about it, and this is not a case of violation.
However, he did not tell me anything about header files, so I suppose
we must assume he still thinks the same on this since 2003.
From what I gather in his 2003 e-mail, I believe their lawyer must have
thought of the "fair use" exceptions in copyright law, and indeed
simply quoting a few typedefs would fall under fair use (since it is not a
substantial portion). On the other hand, I have a hard time believing
that this goes for anything in "header files", in general. I think you
would have to ask him about the opinion of the FSF on header files,
and interface definitions in general in any language. Note that he did
not mention "function declarations". Read what he says carefully:
> 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.
He explicitly says that for there to be a derivative work, it would take
a substantial amount of code. So, you can't just take a substantial
portion of a GPL'd program's (either an application of a library) *interface*
and release it under an arbitrary license. That is simply not permitted by the license.
I think there are trolls from some companies here that are trying to make it seem as
if you can use GPL'd libraries in any proprietary program. I am beginning to
suspect they already do that in other ways.
Best,
--exa--