Beta
×

Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

RMS On Header Files and Derivative Works

timothy posted more than 2 years ago | from the but-I-said-'a'-first dept.

Android 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.'"

cancel ×

247 comments

Sorry! There are no comments related to the filter you selected.

end FUD ? (0)

Anonymous Coward | more than 2 years ago | (#35550720)

This should help end the recent FUD about the Android 'clean headers.

you must be new here..

Re:end FUD ? (0)

Anonymous Coward | more than 2 years ago | (#35550794)

Exactly. The problem is NOT resolved merely because RMS says something. There are 1000s of people who can enforce the GPL and if they have a different view AND can get a court to agree with them (which is always a possibility) then it is wide open. It is not settled law not matter what is said here. Unfortunately the law is not binary and clear about many issues. This being one. There is nothing directly on point at least in the US, there are similar ones that can have arguments made, but each appears to have distinguishing characteristics.

Perhaps GPL v2.1 or v3.1 will address this and specifically exempt header files. But it is an open question in my view.

And IAAL.

Re:end FUD ? (5, Informative)

tomhudson (43916) | more than 2 years ago | (#35550906)

Copyright law already addresses this in the general case. RMS got his opinion from lawyers who know about the specifics of copyright law, that there are plenty of things that are not copyrightable. And yes, in the US this IS settled law, unless you know of a higher court than the Supreme Court of the USofA.

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:end FUD ? (2, Funny)

Chemisor (97276) | more than 2 years ago | (#35551262)

> unless you know of a higher court than the Supreme Court of the USofA

Yes, I wonder what God thinks about this whole issue.

Re:end FUD ? (0)

Anonymous Coward | more than 2 years ago | (#35550952)

In case you have trouble reading, RMS did not state an opinion. He stated the opinions of his lawyer and the FSF on their behalf. I personally wouldn't trust RMS' interpretation of any matters, big or small.

Re:end FUD ? (0)

jonbryce (703250) | more than 2 years ago | (#35551854)

RMS's lawyer wrote the GPL, so there is a pretty good chance he knows what he is talking about.

Re:end FUD ? (4, Insightful)

tomhudson (43916) | more than 2 years ago | (#35550850)

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?

Re:end FUD ? (0)

Anonymous Coward | more than 2 years ago | (#35551350)

at this point, even if he did find something, who'd believe him?

A court.

Copyrights on facts (4, Informative)

nickovs (115935) | more than 2 years ago | (#35550732)

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:Copyrights on facts (0)

Anonymous Coward | more than 2 years ago | (#35550798)

That depends on the country from what I recall. Some allow statements of fact to be copyrightable (phone books for example). Though I think the rationale was that it requires serious "sweat of the brow" or somesuch, so header files probably wouldn't apply.

Re:Copyrights on facts (0)

Anonymous Coward | more than 2 years ago | (#35550888)

this is wrong. facts are copyrightable because the layout and organization of the facts can be copyrighted. so if you made your phone book listing divided by bars, location, proximity etc rather then alphabetically it can be copyrighted.
IAAL and RMS did not consider layout when he got his legal opinion. his lawyer is WRONG. you can have unique structure definitions etc which are enough to copyright header files. there is more than one way to access a library and some creative methods of accessing function calls and passing data can be copyrighted.
its the same as books. a book can be copyrighted, the book cover can be copyrighted independently of the book.

Re:Copyrights on facts (1)

phantomfive (622387) | more than 2 years ago | (#35550986)

If we are talking about structure, then Google is OK because they didn't keep the same header file structure as the Linux kernel. They moved files around, condensed some of them, removed a lot of them, etc. The lawyer is probably not wrong.

Re:Copyrights on facts (5, Informative)

tomhudson (43916) | more than 2 years ago | (#35550992)

First, despite your claim, you are not a lawyer. You have too many basic facts wrong.

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:

#define ERR_ANY -1
#define ERR_SEEK -2
#define ERR_WRITE -3

is not copyrightable.

url:http://www.ivanhoffman.com/scenes.html

Under the merger doctrine, courts will not protect a copyrighted work from infringement if the idea underlying the work can be expressed only in one way, lest there be a monopoly on the underlying idea. In such an instance, it is said that the work’s idea and expression “merge.” Under the related doctrine of scenes a faire, courts will not protect a copyrighted work from infringement if the expression embodied in the work necessarily flows from a commonplace idea….

The Court went on, in part quoting from the famous litigation between Microsoft and Apple:

Likewise, when similar features of a work are “as a practical matter indispensable, or at least standard, in the treatment of a given idea, they are treated like ideas and are therefore not protected by copyright.”

Re:Copyrights on facts (5, Funny)

binkzz (779594) | more than 2 years ago | (#35551034)

#define ERR_ANY -1
#define ERR_SEEK -2
#define ERR_WRITE -3

is not copyrightable.

What about:

#define ERR_PS3 0x46DCEAD317FE45D80923EB97E4956410D4CDB2C2

:-"

Re:Copyrights on facts (-1)

Anonymous Coward | more than 2 years ago | (#35551284)

sorry but no IAAL and you are not.
the presentation and layout cannot be copyrighted independent of the facts you blithering idiot. they are jointly copyrighted as a whole work.
see the at&t phonebook case for more info.
also read what you quoted, numbskull :
Under the related doctrine of scenes a faire, courts will not protect a copyrighted work from infringement if the expression embodied in the work necessarily flows from a commonplace idea
commonplace idea = alphabetical phonebook.
uncommon idea = location, proximity to bars etc.
copyrighted work = whole including the facts.

you techies are completely retarded. please go to law school and learn something.

Re:Copyrights on facts (1)

tomhudson (43916) | more than 2 years ago | (#35551398)

No, you're not a lawyer. Or if you are, you're the worst one in the world. But no, you're not a lawyer.

You stated that you can copyright facts. You cannot.

The presentation is the only protected element in all your scenarios. The presentation could be applied to new sets of facts, and the presentation, but not the facts, would still be protected.

Compilation works are a different matter, in that the creativity is in the compilation, not the individual facts. Someone can still use the same facts to create a different compilation. Any lawyer would know the difference.

Re:Copyrights on facts (0)

Anonymous Coward | more than 2 years ago | (#35551526)

ahh...school kid at a playground. repeatedly insisting something is untrue does not make it untrue. but knock yourself out if it helps you.

yes i did state that. you can copyright facts if the work as a whole can be copyrighted. example : i am an author. in page 23 of my book i state : the sky is blue. someone else quotes page 23 and copies that fact. is it protected ? you betcha. the whole of the work is protected.

if i came along and stated - the sky is blue. protected ? nope. because its a standalone fact and not a fact in context of the whole work.

no. the presentation AND the facts are the protected element in all scenarios. the presentation is not independent of the facts. the copyright to a work is the whole work. the presentation cannot be applied to a new set of facts and be protected. it would form a new work.
e.g. bob takes alices presentation from alices protected work. puts in a new set of facts. copyright belongs to bob not to alice.
e.g. alice takes bobs facts. puts em into a whole new presentation. copyright belongs to alice not bob.

Re:Copyrights on facts (1)

UnknowingFool (672806) | more than 2 years ago | (#35551696)

Facts are not copyrightable. See Gates Rubber v Bando [digital-law-online.info] .

The Copyright Act also denies protection to discoveries. 17 U.S.C. Section 102(b) . The Supreme Court squarely addressed the issue of the protectability of facts in its recent opinion in Feist Publications, Inc. v. Rural Telephone Services Co., 111 S. Ct. 1282 [18 USPQ2d 1275] (1991). In Feist,the Court considered the copyrightability of a telephone directory comprised merely of names, addresses, and phone numbers organized in alphabetical order. The Court rejected the notion that copyright law was meant to reward authors for the “sweat of the brow,” and instead concluded that protection only extends to the original components of an author’s work. As to facts, the Court found that:

No one may claim originality as to facts. This is because facts do not owe their origin to an act of authorship. The distinction is one between creation and discovery: the first person to find and report a particular fact has not created the fact; he or she has merely discovered its existence. . . . [O]ne who discovers a fact is not its maker or originator. The discoverer merely finds and records.

111 S. Ct. at 1288 (internal quotations and citations omitted). Like ideas and processes, facts themselves are not protectable;however, an author’s original compilation, arrangement or selection of facts can be protected by copyright. Feist, 111 S. Ct. at 1289 ; Applied Innovations, 876 F.2d at 636 . However, “the copyright is limited to the particular selection or arrangement. In no event may copyright extend to the facts themselves.” Feist, 111 S. Ct. at 1290 . In computer programs facts may be found at a number of levels of abstraction, but, will most often be found as part of data structures or literally expressed in the source or object codes.

The arrangement may be. The facts themselves are not.

Re:Copyrights on facts (1)

jonbryce (703250) | more than 2 years ago | (#35551876)

In Europe there is database copyright, so while the individual phone numbers are not copyrightable, the entire collection of them is. That doesn't apply to headers though.

Re:Copyrights on facts (1)

BradleyUffner (103496) | more than 2 years ago | (#35550934)

That depends on the country from what I recall. Some allow statements of fact to be copyrightable (phone books for example). Though I think the rationale was that it requires serious "sweat of the brow" or somesuch, so header files probably wouldn't apply.

The Phone book it's self is copyrightable only if you include the layout, formatting, and other "non-fact" data. The mapping of names to number is not. I could copy the entire list of names and numbers and use it as a source for my own publication. But I can't copy it literally, including formatting, as a photo copier would do.

As far as the headers go, I think copying them directly might fall under copyright (for things like macros, comments, and formatting), but you could certainly run a program against them to extract only the interface and structure data from them without a problem.

Re:Copyrights on facts (2)

tibit (1762298) | more than 2 years ago | (#35551042)

Sorry, but no. There are countries with legal systems fucked up enough, like Poland, where a mere timetable is subject to legal protections. In Poland you can't publish a frakking bus timetable without permission (haha) from the company that runs those buses. Same goes for any other timetable. Including TV programs methinks.

Re:Copyrights on facts (1)

pjt33 (739471) | more than 2 years ago | (#35551592)

I think that's EU database rights, which aren't the same as copyright.

Re:Copyrights on facts (1)

kestasjk (933987) | more than 2 years ago | (#35550810)

This copy of Photoshop CS I've got installed is also a statement of fact, by the way. I love lawyers!

Re:Copyrights on facts (1)

Dogtanian (588974) | more than 2 years ago | (#35551154)

This copy of Photoshop CS I've got installed is also a statement of fact, by the way.

Simply asserting that doesn't mean a court would agree with you. Given that the current discussion about "statement of fact" was specifically about *header files* only, what basis do you have for this statement?

Re:Copyrights on facts (2)

rtb61 (674572) | more than 2 years ago | (#35551264)

The reality is a lawyer will agree with any opinion the client has to make as long as there is a pay check in it. Of course that agreement will be in politispeak that can be interpreted six ways from Sunday afterwards.

When it comes to Open Source software it most often will be only subject to community discussion, with only blatant egregious examples of copyright infringement being subject to legal review.

The community surrounding any open source project is going to be far more interested in keeping the project going than it splitting legal hairs and turning people off from the project, that pretty much has been done by tame junk journalists at the behest of closed source proprietary software houses looking to make open source software look bad.

Re:Copyrights on facts (1)

Dogtanian (588974) | more than 2 years ago | (#35551426)

What you say is true- however, the OP's original statement related to the uber-closed-source Photoshop CS which had nothing to do with open source. I suspect that the OP's original assertion was simply a lame, half-baked, no-thought-put-into-it, misguided attempt at reductio ad absurdum- which was wrong, because the discussion only related to header files, not to complete closed-source software programs.

Re:Copyrights on facts (1)

abulafia (7826) | more than 2 years ago | (#35551454)

The reality is a lawyer will agree with any opinion the client has to make as long as there is a pay check in it. Of course that agreement will be in politispeak that can be interpreted six ways from Sunday afterwards.

Only if you have a shitty lawyer. Good ones actually add value, help strategize and avoid risk. It helps to remember that of any cohort, half are below average.

Re:Copyrights on facts (2)

NemosomeN (670035) | more than 2 years ago | (#35551772)

Half are below average? 1, 1, 1, 1, 1, 1, 1, 1, 1, 11 What is the average of these numbers? What percentage of them is below that average? (Answers: 2, and 90%)

Re:Copyrights on facts (1)

Ghengis Khak (1967518) | more than 2 years ago | (#35551832)

It helps to remember that of any cohort, half are below average.

Not so! Consider the set of integers {1, 1, 1, 37}. How many of these are below average? Your statement correctly applies to the median. Sorry for nitpicking.

Re:Copyrights on facts (0)

Anonymous Coward | more than 2 years ago | (#35551278)

clearly these are different cases, but can you draw a bright clear line between them?

you cant, and this is a huge problem

how about a combined work? linked together, yes, of course. dynamically linked...maybe. communicating
through a protocol? depends on the context and who you are talking to.

Re:Copyrights on facts (1)

Dogtanian (588974) | more than 2 years ago | (#35551396)

clearly these are different cases, but can you draw a bright clear line between them?

I didn't say you could. However, the current discussion related to header files, which RMS's lawyers say are not affected. Anything beyond that is moving into the gray area, but regardless of which category it actually falls under, you can't use the information in this story or thread- which only relates to header files- to determine that.

(This of course assumes that we accept RMS's lawyers advice is correct).

Re:Copyrights on facts (5, Informative)

OddJobBob (1965628) | more than 2 years ago | (#35550874)

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:Copyrights on facts (0)

Anonymous Coward | more than 2 years ago | (#35551048)

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.

So by this explanation I can link my closed-sourced program to a GPL library(dynamically). I only use it's headers!

If this is true, then what was the fuss between KDE/Qt and LGPL (before Qt got licensed under LGPL too)?

Re:Copyrights on facts (1)

larry bagina (561269) | more than 2 years ago | (#35551572)

Most GPL libraries are LGPL, which basically means dynamic linking doesn't cause viral infection. (to be a pedant, GPL only matters when you start distributing)

GNU readline is one exception, as it's a dynamic library under the GPL license. Richard Stallman has claimed that dynamic linking does cause GPL-viral infestation, but that's quite a legal stretch. Furthermore, there is BSD-licensed, binary compatible drop-in replacement (libedit), so that's a moot point.

Re:Copyrights on facts (0)

Anonymous Coward | more than 2 years ago | (#35551628)

I wonder what Stallman's opinion is if you manually map a GPLed library into memory and invoke its functions via ordinal instead of name or header signature.

Re:Copyrights on facts (2)

Timothy Brownawell (627747) | more than 2 years ago | (#35551660)

So by this explanation I can link my closed-sourced program to a GPL library(dynamically). I only use it's headers!

Depends on what's in the headers (is it *just* declarations you need for talking to the library, or is half of it macros and inline functions and such that end up in your binary), and whether you have enough spare cash/time to fend off a lawsuit.

Re:Copyrights on facts (1)

Anonymous Coward | more than 2 years ago | (#35551142)

So here's a real question: If the header files cannot be copyrighted, why did those linux people attempt to PUT copyright on it by including a copyright in the file? If it can't be copyrighted and the folks who maintain the GPL say it can't be copyrighted then why is that copyright in the file in the first place? Are the linux folks trying to use FUD here too?

Re:Copyrights on facts (0)

Anonymous Coward | more than 2 years ago | (#35551458)

#1 reason - it's better to be safe than sorry. no harm caused by an inadvertent copyright notice
#2 reason - the revised Android headers are not the same - the original headers certainly were copyrightable with e.g. code comments

Re:Copyrights on facts (3, Interesting)

tomhudson (43916) | more than 2 years ago | (#35551544)

So here's a real question: If the header files cannot be copyrighted, why did those linux people attempt to PUT copyright on it by including a copyright in the file? If it can't be copyrighted and the folks who maintain the GPL say it can't be copyrighted then why is that copyright in the file in the first place? Are the linux folks trying to use FUD here too?

1. Because some things, like comments, etc., ARE copyrightable.
2. Because we're only talking about a specific subset of headers here. Other headers may contain code that can be copyrighted. The kernel is a lot more than 27,000 lines.

HTH :-)

Re:Copyrights on facts (0)

Anonymous Coward | more than 2 years ago | (#35551392)

> If intelligent life is too complex to evolve on its own, who designed God?

Compiler warning: the concept of "designed" is not necessarily defined in the supernatural. So "another god" "nobody" "itself" or are answers that do not contradict the initial hypothesis, which incidentally has no whatsoever sense from the POV of an hypothetical god, because for the creator of time "evolution in time" is a form of creation, free will is compatible with destiny.
Unless you worship Binary ("True XOR False") Logic Above All The Visible And The Invisible, which seems the religion du jour.

Re:Copyrights on facts (5, Informative)

UnknowingFool (672806) | more than 2 years ago | (#35551404)

The relevant case law on this is Gates Rubber v Bando [groklaw.net] .

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:Copyrights on facts (1)

Anonymous Coward | more than 2 years ago | (#35551826)

Actually the only thing that counts is whether you can convince a judge either way. Lawyers don't set the law, they give you advice about how a judge or court will interpret it. Good lawyers don't lie. RMS doesn't set the law either, but he has access to some of the world's best advice with respect to software copyright law. And in this case he is definitely right, there is no history of judges interpreting header files and interfaces as copyrightable. Indeed, interoperability has powerful status in software law. These are some reasons firms like Microsoft tried so hard to get patent law modified to cover interfaces, since patents trump other rights such as reverse-engineering for interoperability.

The FUD in this case is obvious and transparent and part of a series of attacks by Microsoft astroturfers like Florian Mueller on Android. It won't change anything, Google also have access to the very best copyright lawyers on the planet, and the FUD doesn't convince anyone, it just makes the astroturfing look desperate and cheap.

OK, Microsoft guys, you can mod me down now.

RMS also support this. (-1)

Anonymous Coward | more than 2 years ago | (#35550748)

Remember that paedophile wants to have sex with kids before puberty, teens don't count we are talking younger than that.

http://www.stallman.org/archives/2006-may-aug.html#05%20June%202006%20%28Dutch%20paedophiles%20form%20political%20party%29

05 June 2006 (Dutch paedophiles form political party)

Dutch pedophiles have formed a political party to campaign for legalization.

I am skeptical of the claim that voluntarily pedophilia harms children. The arguments that it causes harm seem to be based on cases which aren't voluntary, which are then stretched by parents who are horrified by the idea that their little baby is maturing.

Re:RMS also support this. (1)

McTickles (1812316) | more than 2 years ago | (#35550812)

hmm so ?
is that supposed to give him a bad name?
you fail at trolling.

yeeees (1)

unity100 (970058) | more than 2 years ago | (#35550822)

this invalidates everything rms says about free software, right ?

please. the regulars of this place are not your ordinary morons like in american public who would immediately fall for a character assassination and just forget what's what and what's not, even if accusations are true.

software, is software. pedophilia is pedophilia. opinions about pedophilia, are opinions about pedophilia.

one needs cognitive power as much to be able to differentiate in between this 3 set of concepts in order to be able to talk in slashdot and get proper attention.

Re:RMS also support this. (1)

cpicon92 (1157705) | more than 2 years ago | (#35550840)

First of all, it's his right to agree with this. Some even more famous minds agree with this. Pedophilia wasn't always a taboo.
Second of all, his opinion on sexual ethics is completely irrelevant here. We're talking about Free Software and copyrights. He happens to be an expert in that area, seeing as he kind of invented it. Not to mention that it would probably be his FSF doing the suing if the header files turned out to be an issue.

Re:RMS also support this. (1)

marcello_dl (667940) | more than 2 years ago | (#35551840)

RMS commits a logic error here. He's much more lucid on other issues.
The curiosity of a child towards sex is voluntary only in a desert island, here a child is subjected to all explicit and implicit stimulation of sexual urges which is standard practice in marketing. There is also no doubt that a child can be easily convinced to do stuff by clever and determined people. Finally, proving something "comes from his will" is not feasible today and a legal nightmare. So while his statement is true in theory it is irrelevant in practice. If a little baby is maturing let him mature with his peers, no problem with that.

That "think of the children" is used to push another agenda (control of the internet), is also true, but a completely independent problem. Ironically an unreasonably restrictive stance helps putting paedophiles on the side of freedom fighters(a teen shooting nudes of herself is accused of trafficking child pornography? Madness. Nail the buyer instead). Very stupid.

f u (-1)

Anonymous Coward | more than 2 years ago | (#35550762)

f u c k y o u!

Re:f u (3, Informative)

Shikaku (1129753) | more than 2 years ago | (#35550814)

You can say fuck on slashdot dude. Hell, you can type anything you want at zombocom er slashdot.

not so fast (0)

Anonymous Coward | more than 2 years ago | (#35550764)

The following excerpt appears near the beginning of the GPL v2 license [gnu.org] that covers Linux (emphasis added):

1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program.

You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee.

2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions:

        a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change.
        b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License.
        c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.)

Re:not so fast (3, Insightful)

Anonymous Coward | more than 2 years ago | (#35550880)

Uh, what relevance does the original copyright license hold if the modified headers are no longer considered to be under copyright?

WARNING - that is NOT the GPL that linux uses. (4, Insightful)

tomhudson (43916) | more than 2 years ago | (#35551064)

No, that is NOT the version of the GPL that linux uses. Linux uses a non-standard version of the GPL, that begins with this exemption (taken from the latest COPYING file in the kernel sources off my hard drive):

NOTE! This copyright does *not* cover user programs that use kernel
services by normal system calls - this is merely considered normal use
of the kernel, and does *not* fall under the heading of "derived work".
Also note that the GPL below is copyrighted by the Free Software
Foundation, but the instance of code that it refers to (the Linux
kernel) is copyrighted by me and others who actually wrote it.

Also note that the only valid version of the GPL as far as the kernel
is concerned is _this_ particular version of the license (ie v2, not
v2.2 or v3.x or whatever), unless explicitly otherwise stated.

Linus Torvalds

GNU GENERAL PUBLIC LICENSE
Version 2, June 1991

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.

Re:WARNING - that is NOT the GPL that linux uses. (2)

Chemisor (97276) | more than 2 years ago | (#35551448)

That quote mentions programs that "use kernel services by normal system calls". Nothing is said about actually including kernel headers.

Re:WARNING - that is NOT the GPL that linux uses. (1)

tomhudson (43916) | more than 2 years ago | (#35551610)

That quote mentions programs that "use kernel services by normal system calls". Nothing is said about actually including kernel headers.

The code for that is in the headers :-)

How the fuck do we define a "substantial amount"? (1)

Anonymous Coward | more than 2 years ago | (#35550766)

How the fuck do we decide what a "substantial amount of code" actually is? Where exactly is the boundary? More importantly, is it a boundary that shifts when convenient for political reasons?

This is a really good example of why any open source code should just use a liberal license. It doesn't matter if it's a BSD-derived license, or the MIT/X11 license, or the zlib/libpng license, or some other non-GNU license. It just needs to be a license that promotes a very free and open use of the code in question, without all of this bullshit about "derivative works" and the near-nonsensical deliberation that goes along with it.

Re:How the fuck do we define a "substantial amount (5, Funny)

Anonymous Coward | more than 2 years ago | (#35550834)

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.

Re:How the fuck do we define a "substantial amount (0)

Anonymous Coward | more than 2 years ago | (#35551018)

Minor fix, if I may:

Free Software zealot: "substantial amount of code" == one bit

Corporate America (planet actually): "substantial amount of code" == entire universe.

IP Lawyers: "substantial amount of code" == new Porsche, or 30% of entire universe, whichever is greater.

Re:How the fuck do we define a "substantial amount (1)

Anonymous Coward | more than 2 years ago | (#35551240)

Corporate America issues takedown notices for people using 10 second clips of 2-hour videos, for gamers distributing 1 binary file out of the 60,000 shipped, for forum-posting 1 source file of a leaked codebase, for blogging a mathematical constant. To businesses, 'substantial' means "anything that we do not control."

Re:How the fuck do we define a "substantial amount (0)

Anonymous Coward | more than 2 years ago | (#35551294)

Employment law is complicated too... doesn't mean we should allow slavery.

You BSD superfans just don't get it.

Re:How the fuck do we define a "substantial amount (0)

Anonymous Coward | more than 2 years ago | (#35551374)

No but employment law is a very valid argument for not personally employing somebody. GPL has advantages that are sometimes critical (copyleft, anti-tivoization) but more often than not the added complication and uncertainty is not worth it.

In Android's case the GPL is its only strength as a platform, and it would only be improved by going GPLv3 for the kernel.

Re:How the fuck do we define a "substantial amount (1)

91degrees (207121) | more than 2 years ago | (#35551406)

I'd suggest the fair use guidelines. Since the GPL is primarily protected by copyright, these apply anyway.

These guidelines that take into account many factors including the amount copied relative to the greater work, the effect on the original work, and the nature of the use.

Standing? (1)

MickyTheIdiot (1032226) | more than 2 years ago | (#35550904)

Can someone explain something to me... how does anyone but Linus Torvalds have the standing to file an action or even complain about this? He owns the copyright, shouldn't he be the one that decides that something is in violation.

I know that FSF has brought actions in some rare cases, but isn't that on behalf of the real owner of the copyright?

Anyway.. it does seem like if FSF and Linus don't have a problem with what was done there is nothing to talk about. Am I oversimplifying this?

Re:Standing? (1)

BradleyUffner (103496) | more than 2 years ago | (#35550968)

Can someone explain something to me... how does anyone but Linus Torvalds have the standing to file an action or even complain about this? He owns the copyright, shouldn't he be the one that decides that something is in violation.

I know that FSF has brought actions in some rare cases, but isn't that on behalf of the real owner of the copyright?

Anyway.. it does seem like if FSF and Linus don't have a problem with what was done there is nothing to talk about. Am I oversimplifying this?

I thought the copyright of patches was still held by whoever submitted the patch? I seem to recall problems with changing the license on some programs because it was impossible to track down all the contributors. 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".

Re:Standing? (1)

MickyTheIdiot (1032226) | more than 2 years ago | (#35551298)

ok.. I am oversimplifying the situation. That explains it...

Re:Standing? (2)

Dogtanian (588974) | more than 2 years ago | (#35551336)

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.

Re:Standing? (0)

Anonymous Coward | more than 2 years ago | (#35551684)

> I thought the copyright of patches was still held by whoever submitted the patch?

It's not entirely clear. A 50-line patch to improve an allocator is something that couldn't stand on its own and had an obvious intent to be integrated into a larger work. Given that, by not asserting claims explicitly, it could be presumed that one waived any future claims. Something like a wholly new scheduler or driver would be something else entirely. What it boils down to is a matter of thousands of case-by-case interpretations.

The Linux Foundation probably could untangle the copyrights if it really wanted to -- yes, even for the contributors who have since died -- but it's a Pandora's box they probably don't want to open.

Re:Standing? (0)

Anonymous Coward | more than 2 years ago | (#35551106)

Google is a founding member of the Linux foundation.

Re:Standing? (0)

Anonymous Coward | more than 2 years ago | (#35551186)

Linus owns copyright on whatever he wrote, not on anything else. There is no rights transfer when committing to linux kernel.

Smackdown, on Florian (0)

Anonymous Coward | more than 2 years ago | (#35550914)

Who else is fed up by Florian Mueller's antics?

Re:Smackdown, on Florian (3, Funny)

tomhudson (43916) | more than 2 years ago | (#35551308)

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.

Yep, I've had the same chat (1)

redelm (54142) | more than 2 years ago | (#35550946)

People think RMS is unreasonable and as grasping as some of the commercialists he decries. Not in my experience.

I've had the same sort of [slow] email chat with him, and he is far more technical (and reasonable). I wouldn't want to speak for him, but the closest I got was that if source produced executable binary, then it was derivative. If the included source only affected the production of executable generated by other source, it was not derivative.

My class defs are in .h, you insensitive clod! (1)

Latent Heat (558884) | more than 2 years ago | (#35551028)

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.

Re:My class defs are in .h, you insensitive clod! (2)

sribe (304414) | more than 2 years ago | (#35551146)

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.

Re:My class defs are in .h, you insensitive clod! (0)

Anonymous Coward | more than 2 years ago | (#35551190)

For this javaC++ stuff I keep the C++ .h files as pure abstract base classes only and the java side equiv is an interface.

The concrete C++ classes are all in the .cpp file, both decls and definitions... indeed, once the decl is in the .cpp file you may as well put the defn right there too, it looks very java-esque.

This also guarantees that concrete classes are only visible to one translation unit which can ease linkage and portability issues for your C++ code and clients of the library only see .h files that define the API, no detail.

Re:My class defs are in .h, you insensitive clod! (0)

Anonymous Coward | more than 2 years ago | (#35551534)

Okay, you're doing it wrong.

Further, you're being an idiot. Interfaces correspond to .h files, while class definitions in the .cpp files correspond to .java files. There's no reason you can't write #include "mylameclass.cpp" instead of #include "mylameclass.h".

Personally, I think anything released in a .h file should, by definition, be considered 'reference material' and/or 'specification', and thus not copyrightable. This is the case by tradition and expectation, and a few idiots doing it otherwise shouldn't be able to disrupt common practice.

Turn it all around. Let's say that one of the big OS vendors (MS, Apple, Sun^WOracle) releases their system APIs with large chunks of code embedded in it, and you release your shiny new application on that platform. Since you're talking to the system API which has *code* in the header files, your work now becomes a derivative work, and they can come in and charge you with copyright violation.

Everyone would be up in arms about how this is dumb and stupid, and we'd see /. flooded with arguments saying "if it is in a .h file, it's OBVIOUSLY not copyrightable, $vendor is in the wrong!"

Sauce for the goose, sauce for the gander.

Re:My class defs are in .h, you insensitive clod! (1)

VortexCortex (1117377) | more than 2 years ago | (#35551620)

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.

Your project must then compile as only one object, and a change to just one line of code triggers a complete re-compile of the object. This prevents you from reusing your unmodified static or shared libraries in a new compilation -- No boundaries exist such as threading library, network library, etc... If so, when the executable binary application is built it must compile all that other code too (single translation unit), each time, even if the none of the classes change. Your everything in the .h method is only practical for smaller application projects, certainly not libraries, and I'm damn grateful that I don't have to compile the entire GNU / Linux stack (or even just X + QT/GTK/OpenGL) into each C or C++ program I write...

Java allows you to compile against the byte code because the .class files contain the interface definitions. C / C++ .o & .so files do not contain the interface definitions; After compilation / linking of the executable the API interfaces & linking symbols are not needed (unless for debugging or public API purposes).

However, even with your single translation unit approach I can strip out all of the implementation code from your .h files, leaving only the interface. I can then compile code that provides or uses the interface that your compiled code offers. The stripped down .h files will contain only the facts of how the API is accessed (what function names take which parameters and return what values), and will not contain the details of how the results are achieved.

If you have an amazing program called DeepThought.h that has a function such as:

int UltimateAnswerToLifeTheUniverseAndEverything( void ) {
int answer;
... complex calculation here ...
return answer;
}

I can create my own DeepThought.h that looks like this:

int UltimateAnswerToLifeTheUniverseAndEverything( void );

And implement the function in my own DeepThought.cpp file. Code that used your DeepThought.h can now use my DeepThought.h, and our implementation details can be totally different, and IMHO, uninfringing.

int UltimateAnswerToLifeTheUniverseAndEverything( void ) {
// cache answer to avoid re-calculation.
static int results( 0 );
if ( results == 0 ) results = ( (5 << 2) | 1 ) << 1 ;
return results;
}

It is a fact that your DeepThought.h provides a function called "UltimateAnswerToLifeTheUniverseAndEverything" that takes no parameters and returns an integer. The fact that my DeepThought API provides a similar interface that is compatible with your API has nothing to do with how each of our products achieve their results. Your function may return different results than mine, but the way people ask either library to produce results is the same.

Vehicles have a common interface: steering wheel and accelerate / decelerate pedals. How the body / engine is designed and built can vary widely between manufacturers; Patents / trademarks, etc keep them from duplicating each other's exact designs and implementations. However, the manufacturers can all provide a similar common interface. Every time you buy a new car you don't have to learn a different set of controls (Joystick + hat switches?).

TL;DR: Even if you put all the code in the .h It can still be reduced to just the interface facts, and re-implemented without infringing.

Re:My class defs are in .h, you insensitive clod! (2)

shutdown -p now (807394) | more than 2 years ago | (#35551680)

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".

Re:My class defs are in .h, you insensitive clod! (1)

betterunixthanunix (980855) | more than 2 years ago | (#35551726)

Actually, sometimes putting the entire definition in a header file is the right thing to do. Template classes, for example.

Re:Yep, I've had the same chat (0)

Anonymous Coward | more than 2 years ago | (#35551506)

He is usually quite reasonable in email communication. Usually. Ask the former maintainer of the SuperH gcc branch how reasonable he actually is.

It's face-to-face interviews where he consistently comes off as a raving nutbar.

All works are derivative (1)

countertrolling (1585477) | more than 2 years ago | (#35550958)

There is nothing new, only unique combinations of old old shit. Copyright is insane. Except, I guess, in the predatory society we live in.

Re:All works are derivative (1)

Anonymous Coward | more than 2 years ago | (#35551072)

Yeah, let's not reward people who create works that thousands or millions of others are eager to spend time enjoying. Let's treat them the same as the couch potatoes who passively surf the web all day, play video games and build up their music collections. The real money should be spent on electronics hardware and clothing manufactured in the far east by people making ten cents an hour.

Re:All works are derivative (0)

Anonymous Coward | more than 2 years ago | (#35551626)

Perhaps what he meant to say is that Copyright in its current duration and overreaching interpretations are insane.

Re:All works are derivative (1)

pushing-robot (1037830) | more than 2 years ago | (#35551126)

A car is merely a unique combination of universal subatomic particles which are abundantly available to anyone and have existed for billions of years. But good luck explaining that to the judge.

Stallman has changed his mind (0, Insightful)

Anonymous Coward | more than 2 years ago | (#35551036)

Fuck Stallman. In 1990 I was using Bison and Stallman told me that the include files meant that what I was doing was covered by the totally non open GNU license. So I switched back to Berkeley yacc which has a much more open license.

And screw all of you who don't get that Berkeley/MIT licenses are much more open than the GNU control freak shit.

Re:Stallman has changed his mind (3, Funny)

phantomfive (622387) | more than 2 years ago | (#35551198)

Theo, is that you?

Re:Stallman has changed his mind (2, Interesting)

Anonymous Coward | more than 2 years ago | (#35551292)

Around 1994, they allowed viral-free bison output.

Re:Stallman has changed his mind (4, Informative)

shutdown -p now (807394) | more than 2 years ago | (#35551706)

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:

/* As a special exception, when this file is copied by Bison into a
    Bison output file, you may use that output file without restriction.
    This special exception was added by the Free Software Foundation
    in version 1.24 of Bison. */

but this was after 1990.

In any case, this has absolutely nothing to do with header files.

Copyright removed or not? (1)

Anonymous Coward | more than 2 years ago | (#35551050)

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.

Re:Copyright removed or not? (2)

sribe (304414) | more than 2 years ago | (#35551164)

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.

There's a slight problem though (1)

trifish (826353) | more than 2 years ago | (#35551270)

The FSF is NOT the copyright holder of the Linux _kernel_ (or most of it).

Re:There's a slight problem though (0)

Anonymous Coward | more than 2 years ago | (#35551338)

That has no relation to how copyrightability is defined. Android either does or does not infringe on linux copyrights, regardless of who the copyright owner is.

Re:There's a slight problem though (1)

trifish (826353) | more than 2 years ago | (#35551460)

The article summary ends with the nonsense that "This should help end the recent FUD about the Android 'clean headers.'"

The FSF is nothing but a *biased* bystander. So their opinion is irrelevant at best (and misleading at worst). And it follows that their opinion therefore can't "help end the recent FUD".

How about a mathematical attempt at defining... (1)

blahplusplus (757119) | more than 2 years ago | (#35551274)

... a derivative work?

Re:How about a mathematical attempt at defining... (2)

armanox (826486) | more than 2 years ago | (#35551678)

d(work)/dx ?

What RMS Says About This Is Meaningless (1)

Corporate T00l (244210) | more than 2 years ago | (#35551282)

Sure, if you're a small independent developer at home, you might feel secure about this statement, but in reality, you were never at risk at all. You're just too small for this to matter.

If you're a big company, what really matters is how your own legal department interprets this. But of course, if you're big enough to have your own legal department, perhaps you can just buy a commercially available equivalent or implement your own from scratch. (This does, perhaps, create headaches for people who want open source interoperability, since the big company legal interpretation can cause huge problems if trying to get everyone to standardize on an interface that could be interpreted as being encumbered.)

Where you're really screwed is if you're a small startup company. You feel like a small independent developer at the time and might even feel secure with "RMS said it was okay." But then when it comes time that you need to get acquired in order to have an exit, you find that no buyers will touch you with a 10 foot pole because of a legal consensus that the issue is too vague and exposes the buyer to considerable legal risk. Then, all your years of hard work are down the drain.

Unless you static link (0)

Anonymous Coward | more than 2 years ago | (#35551312)

Basically, RMS is talking about dynamic linking. If you static link to GPL or LGPL, then you create a derivative work.

RMS writes himself out of relevance (0)

Anonymous Coward | more than 2 years ago | (#35551356)

By this same reasoning he should sit down and STFU regarding the GNU/Linux versus Linux debate. If you use the argument that some of the structure was in ancillary files, the GNU has absolutely no leg to stand on regarding Stallman's demands that it be GNU/Linux because Linus used the GNU toolchain to get the "derivative" started.

What about C++ headers with template functions (1)

Branka96 (628759) | more than 2 years ago | (#35551630)

I have always wondered about C++ header files. Take the Standard C++ Library, things like like the file "algorithm". Here you have the entire implementation of things like sort written as a template function which gets instantiated into actual code compiled and linked into your project. I presume such header files can be copyrighted. It actually requires thinking to do a good implementation of a template function doing sort (typically IntroSort). Since the instantiation gets compiled into your code what license covers your project?

Thank you (1)

shutdown -p now (807394) | more than 2 years ago | (#35551662)

... for providing a reference. This is a pretty conclusive statement, and definitely clears things up for me. I apologize if my comments in the previous discussion on the use of kernel headers by Android mislead someone (IANAL and all that).

What's the legal definition of substantial? (1)

ljhiller (40044) | more than 2 years ago | (#35551774)

When he says 'substantial' I hear 'non-empty'. You can't link to a single function in a dynamic library without creating a derivative work. So be sure you strip out all inline functions and macros from GPL header files and just use the structures, typedefs, and enums. Just to be safe. And goodbye C++ templates.
Load More Comments
Slashdot Login

Need an Account?

Forgot your password?