Slashdot Mirror


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

247 comments

  1. end FUD ? by Anonymous Coward · · Score: 0

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

    you must be new here..

    1. Re:end FUD ? by Anonymous Coward · · Score: 0

      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.

    2. Re:end FUD ? by tomhudson · · Score: 4, Insightful

      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?

    3. Re:end FUD ? by tomhudson · · Score: 5, Informative
      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 :-

    4. Re:end FUD ? by Anonymous Coward · · Score: 0

      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.

    5. Re:end FUD ? by Chemisor · · Score: 2, Funny

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

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

    6. Re:end FUD ? by Anonymous Coward · · Score: 0

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

      A court.

    7. Re:end FUD ? by jonbryce · · Score: 0

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

    8. Re:end FUD ? by Anonymous Coward · · Score: 1

      Writing a license and knowing exactly how a court of law will interpret that license are two entirely different things. We now may know the intent of the license, but until it's tested in court, that intent means nothing.

    9. Re:end FUD ? by Belial6 · · Score: 5, Funny

      I agree with RMS on this one. So, now you have it from the highest source.

    10. Re:end FUD ? by MachDelta · · Score: 4, Funny

      "Clearly this evolution thing needs more bug testing. I've created a race largely composed of idiots."

    11. Re:end FUD ? by Anonymous Coward · · Score: 0

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

      A court.

      Hi Florian...

      Courts have already decided and set precedent that header files aren't copyright-able.

    12. Re:end FUD ? by Anonymous Coward · · Score: 1

      What the fuck are you talking about? None of those cases have anything to do with whether header files constitute a derivative work. Simply because several courts have found the GPL a valid license does not mean all parts of it apply exactly as the person who wrote it wants it to. The fact is also, the GPL doesn't really have shit to do with this. If reuse of header files constitutes a derivative work of any license, then it is for the GPL as well, since derivative work is a legal term with a legal definition non specific to any license. Granted, the nature of the issue at hand means it can't really be tested outside of some sort of Open Source license.

    13. Re:end FUD ? by Anonymous Coward · · Score: 1

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

      The International Court of Justice?

    14. Re:end FUD ? by tomhudson · · Score: 0

      What the fuck are you talking about? None of those cases have anything to do with whether header files constitute a derivative work. Simply because several courts have found the GPL a valid license does not mean all parts of it apply exactly as the person who wrote it wants it to. The fact is also, the GPL doesn't really have shit to do with this. If reuse of header files constitutes a derivative work of any license, then it is for the GPL as well, since derivative work is a legal term with a legal definition non specific to any license. Granted, the nature of the issue at hand means it can't really be tested outside of some sort of Open Source license.

      The first case cited included: "the removal of copyrights and such from VNC source code" Sounds pretty on-topic to this discussion.

      The second one: "requires distributors to ensure that the code remains open and distributed with the products that use the code." Again, since there was a question as to whether use of the Bionic library would require phone manufacturers to distribute their source code, it's fairly apropos, no?

      The third case cited: "litigation against D-Link Germany GmbH regarding D-Link's alleged inappropriate and copyright infringing use of parts of the Linux Operating System Kernel." bears parallels to the current allegations of inappropriate and copyright infringing use of parts of the linux header files.

      The fourth case tried to make the claim that the GPL was a contract, and not a license, which would have impacted what the GPL could actually do. Again, if someone's looking for evidence of how the courts treat the GPL, or if they even acknowledge the validity of the GPL, it's worth looking at.

      If you can find better examples, I'd appreciate it. Of course, the best examples are about unprotected elements of copyright, as expressed elsewhere, but that wasn't what the poster was asking.

    15. Re:end FUD ? by lostmongoose · · Score: 2

      The International Court of Justice?

      I lol'd. Good luck with that.

    16. Re:end FUD ? by kdemetter · · Score: 1

      "Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to build bigger and better idiots. So far the universe is winning"

    17. Re:end FUD ? by Anonymous Coward · · Score: 0

      I've considered marketing myself as a ISO Standard Idiot. There really should be a standard.

    18. Re:end FUD ? by MichaelSmith · · Score: 1

      Its worse than that. You forgot to mention the software engineers who are also idiots.

    19. Re:end FUD ? by Anonymous Coward · · Score: 0

      I agree with RMS on this one. So, now you have it from the highest source.

      Indeed, I can smell you from here.

      Or is that not the meaning of "high" you intended?

    20. Re:end FUD ? by harlows_monkeys · · Score: 1

      The Linux COPYING file does not say that. Why do you keep lying about this?

      Also, it appears you overlooked part of what RMS said, even though you quoted it: "It would take a substantial amount of code (coming from inline functions or macros with substantial bodies) to do that.". Guess what? The Linux headers have such. Oops.

      Finally, you mention the Supreme Court. Could you cite some specific cases? I can't point out how you botched your understanding of what the Supreme Court says without more information. (I am confident you did botch it, because you've botched pretty much every other thing you've ever written on Slashdot concerning copyright and licensing).

    21. Re:end FUD ? by blind+monkey+3 · · Score: 1

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

      God three letters.... RMS three letters.... coincidence?

      --
      BM3
    22. Re:end FUD ? by aaron552 · · Score: 1

      They're part of the reason why the universe is winning.

      --
      I had a sig once. It was lost in the great storm of '09.
    23. Re:end FUD ? by tomhudson · · Score: 1
      You're such a liar. And a really poor troll.

      The Linux COPYING file does not say that. Why do you keep lying about this?

      Sure it does. Go read it. It's in the source distribution of the kernel. The very first lines, in fact, of the COPYING file:

      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

      Also, it appears you overlooked part of what RMS said, even though you quoted it: "It would take a substantial amount of code (coming from inline functions or macros with substantial bodies) to do that.". Guess what? The Linux headers have such. Oops.

      Guess what? Bionic doesn't use the entire kernel, which hundreds of megabytes. Go read the README.txt that comes with Bionic for more info. Oh, wait, that's too much work, same as actually looking at the kernel COPYING file was.

      Finally, you mention the Supreme Court. Could you cite some specific cases? I can't point out how you botched your understanding of what the Supreme Court says without more information. (I am confident you did botch it, because you've botched pretty much every other thing you've ever written on Slashdot concerning copyright and licensing).

      The only one who's botched up anything is you, again.

      In Feist vs Rural, the Supreme Court reversed the Appeal Court and stated that facts can not be copyrighted. Things like constants, POSIX standards, data structure declarations, etc., are facts, and can be copied from the headers with no problems.

      Or look at Gates vs Bando, which delineates the Abstraction-Filtration-Comparison test to be used to decide if something is infringing.

      Then you can look up "scenes a faire" to find out why certain other code, including small inline macros, are not necessarily protected by copyright even when included in an otherwise copyrighted work.

    24. Re:end FUD ? by Sloppy · · Score: 1

      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

      While I share RMS' opinion about factual descriptions of interfaces and data formats not being copyrightable (for Linux or anything else), this is a bogus argument for that view.

      A license cannot define what a derivative work is; copyright law does that. At most, Linux's license can grant permission to people to use some parts of it in non-GPLed derivative works; it can't say whether or not you have done something that requires that permission.

      Never pay attention to any wording in a license that tells you whether or not you have already become bound by that license. Anything in the license on that topic exists merely to persuade you (or to put it as nicely as possible, to "inform" you) of a certain point of view. This applies to everything from the BSD licenses to the nastiest proprietary ones. Only consult the license after you have determined that you want to do something that copyright law wouldn't, by default, permit you to do.

      --
      As copyright owner of this comment, I authorize everyone to defeat any technological measure which limits access to it.
    25. Re:end FUD ? by tomhudson · · Score: 1

      A license cannot define what a derivative work is; copyright law does that. At most, Linux's license can grant permission to people to use some parts of it in non-GPLed derivative works; it can't say whether or not you have done something that requires that permission.

      And that's exactly what the exception in the COPYING file does - it clarifies that the GPL (which forms most of the body of the COPYING file) does not apply with respect to using the headers to access kernel services because doing so does not create a derived work.

      So while a license cannot define what a derivative work is, it can certainly waive any claims to you creating a derivative work, which is effectively what was done here.

      This is, of course, consistent with copyright law, which makes it clear that interfaces, etc., are not protected by copyright. It's just nice to be able to point to the waiver instead of having to argue whether there's an issue of law :-)

  2. Copyrights on facts by nickovs · · Score: 4, 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.

    --
    If intelligent life is too complex to evolve on its own, who designed God?
    1. Re:Copyrights on facts by Anonymous Coward · · Score: 0

      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.

    2. Re:Copyrights on facts by kestasjk · · Score: 1

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

      --
      // MD_Update(&m,buf,j);
    3. Re:Copyrights on facts by OddJobBob · · 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.

    4. Re:Copyrights on facts by Anonymous Coward · · Score: 0

      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.

    5. Re:Copyrights on facts by BradleyUffner · · Score: 1

      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.

    6. Re:Copyrights on facts by phantomfive · · Score: 1

      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.

      --
      "First they came for the slanderers and i said nothing."
    7. Re:Copyrights on facts by tomhudson · · Score: 5, Informative
      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.”

    8. Re:Copyrights on facts by binkzz · · Score: 5, Funny

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

      is not copyrightable.

      What about:

      #define ERR_PS3 0x46DCEAD317FE45D80923EB97E4956410D4CDB2C2

      :-"

      --
      'For we walk by faith, not by sight.' II Corinthians 5:7
    9. Re:Copyrights on facts by tibit · · Score: 2

      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.

      --
      A successful API design takes a mixture of software design and pedagogy.
    10. Re:Copyrights on facts by Anonymous Coward · · Score: 0

      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)?

    11. Re:Copyrights on facts by Anonymous Coward · · Score: 1

      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?

    12. Re:Copyrights on facts by Dogtanian · · Score: 1

      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?

      --
      "Slashdot - News and Chat Sites Deviant". (Click "homepage" link above for details).
    13. Re:Copyrights on facts by rtb61 · · Score: 2

      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.

      --
      Chaos - everything, everywhere, everywhen
    14. Re:Copyrights on facts by Anonymous Coward · · Score: 0

      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.

    15. Re:Copyrights on facts by Anonymous Coward · · Score: 0

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

    16. Re:Copyrights on facts by Dogtanian · · Score: 1

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

      --
      "Slashdot - News and Chat Sites Deviant". (Click "homepage" link above for details).
    17. Re:Copyrights on facts by tomhudson · · Score: 1
      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.

    18. Re:Copyrights on facts by UnknowingFool · · Score: 5, Informative
      The relevant case law on this is Gates Rubber v Bando.

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

      --
      Well, there's spam egg sausage and spam, that's not got much spam in it.
    19. Re:Copyrights on facts by Dogtanian · · Score: 1

      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.

      --
      "Slashdot - News and Chat Sites Deviant". (Click "homepage" link above for details).
    20. Re:Copyrights on facts by abulafia · · Score: 1

      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.

      --
      I forget what 8 was for.
    21. Re:Copyrights on facts by Anonymous Coward · · Score: 0

      #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

    22. Re:Copyrights on facts by Anonymous Coward · · Score: 0

      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.

    23. Re:Copyrights on facts by tomhudson · · Score: 3, Interesting

      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 :-)

    24. Re:Copyrights on facts by larry+bagina · · Score: 1
      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.

      --
      Do you even lift?

      These aren't the 'roids you're looking for.

    25. Re:Copyrights on facts by pjt33 · · Score: 1

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

    26. Re:Copyrights on facts by Anonymous Coward · · Score: 0

      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.

    27. Re:Copyrights on facts by Timothy+Brownawell · · Score: 2

      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.

    28. Re:Copyrights on facts by UnknowingFool · · Score: 1
      Facts are not copyrightable. See Gates Rubber v Bando.

      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.

      --
      Well, there's spam egg sausage and spam, that's not got much spam in it.
    29. Re:Copyrights on facts by NemosomeN · · Score: 2

      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%)

      --
      I hate grammar Nazi's.
    30. Re:Copyrights on facts by Anonymous Coward · · Score: 1

      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.

    31. Re:Copyrights on facts by Ghengis+Khak · · Score: 1

      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.

    32. Re:Copyrights on facts by jonbryce · · Score: 1

      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.

    33. Re:Copyrights on facts by tomhudson · · Score: 2
      Here is your actual quote

      this is wrong. facts are copyrightable because the layout and organization of the facts can be copyrighted

      And this is wrong. ONLY the layout and organization of the facts, not the fact themselves, are copyrightable.

      No matter how you spin it, you are wrong. Facts are not copyrightable. So when you try to spin it yet again by claiming:

      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.

      ... this is simply not true. The facts are not a protected element in ANY scenario. The copyright does not protect "the work as a whole", even if it is issued against the whole work. It only protects those elements that are copyrightable, the same as someone may copyright their version of the dictionary, but that doesn;t give them copyright to the word definitions, just the layout, the frontispiece, the endpapers, and any other unique creative content.

      Not only that, but your first example, bob is guilty of infringing alice's copyrights on the presentation of the facts, which is a protected element.

      So quit trying to claim you're a lawyer. Or if you are, stop posting anon so we can email a copy of this thread to all your colleagues for the lulz.

    34. Re:Copyrights on facts by amorsen · · Score: 1

      Your statement correctly applies to the median.

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

      And sorry for quote-fucking, it was just too tempting.

      --
      Finally! A year of moderation! Ready for 2019?
    35. Re:Copyrights on facts by tomhudson · · Score: 1

      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%)

      On average, people have less than 2 feet :-)

    36. Re:Copyrights on facts by Florian+Weimer · · Score: 1

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

      Yes, Stallman's position is somewhat inconsistent. He also claims that you must not reference to your pre-existing OpenSSL library install from GPLed software (without certain linking exceptions). This particular licensing conflict would not arise if mere reference did not create derivative works. I'm pretty sure that Stallman meant that only header files (or interface definitions) for well-published, standardized programming interfaces (such as POSIX, OpenGL, or the Java SE class library) are not subject to copyright law. In other cases, merely referencing a work causes its license to apply to your work, unless the license says otherwise.

      In my opinion, Stallman, and by extension, the FSF, have lost some perspective: they promote very draconian interpretations of copyright law, with the goal of strengthening the GPL and its protections against software hoarders ("copyleft"). As a side effect, these interpretations create issues for anyone who deals with software outside the GNU ecosystem. With the push to the Affero GPL, everyone needs to worry about licensing again, even if they do not distribute anything in the traditional sense. This is a step back, and begins to restrict user freedom.

    37. Re:Copyrights on facts by Anonymous Coward · · Score: 0

      Hi, nice sig by the way.. sorry to be a math nazi but your example is not really very good because the statement half [of those numbers] are below average is patently true.. now, if you had given as an example 1, 11, 11, 11, 11, 11 then you might have been on firmer ground..

    38. Re:Copyrights on facts by Anonymous Coward · · Score: 0

      His statement would be true for anything normally distributed.

    39. Re:Copyrights on facts by the+phantom · · Score: 1

      I find it odd that you have a signature proclaiming your hate of grammar nazis, then you post something like the above. Grammar nazis are people who are overly pedantic about the structure and syntax of language, while you are being overly pedantic about the use of a fairly common word, which happens to have many related meanings in colloquial usage. In colloquial English, an "average" is any measure of central tendency. Even in mathematics, "average" is a somewhat ambiguous term, and can refer to the arithmetic mean (the average that you provide an example of), the geometric mean (calculated similarly, but with some extra powers of 2 and a square root), higher order means, or a variety of other measures of center.

      Additionally, even if the original poster meant the arithmetic mean, his statement was probably not that far off the mark. Yes, the arithmetic mean is not a resistant measure of center, and can be influenced dramatically by outliers. On the other hand, in a normally distributed set of data, the arithmetic mean and the median will be equal. In many populations, many of the statistics that you could measure will be (approximately) normally distributed. Hence about half of the population will be above the arithmetic mean, and about half will be below. Since a metric which quantifies the quality of a lawyer is likely to consist of many variables, each with their own distributions, the central limit theorem implies that the overall distribution of quality will be normal (of course, this is under the assumption that a large enough proportion of those variables are independent, which may or may not be a dubious assumption). Basically, the quality of lawyers is probably a (more or less) normally distributed random variable, and about half of lawyers are less than average (i.e. of a quality lower than the mean).

      In short, you (a) are being a math nazi, which strikes me as hypocritical, given your stance on grammar nazis; and (b) are only correct in a technical sense, and not in a colloquial (or even general mathematical) sense.

    40. Re:Copyrights on facts by Anonymous Coward · · Score: 0

      no. youre just ... wrong.
      the presentation of the facts DOES NOT EXIST WITHOUT THE FACTS. im not trying to spin anything.
      go read : Feist Publications, Inc., v. Rural Telephone Service Co., 499 U.S. 340 (1991) and educate yourself.
      besides, i'll probably send a copy of this thread around to my colleagues anyway. they should have a good laugh at your expense.
      i work for jones day but you may not have heard of us.

    41. Re:Copyrights on facts by tomhudson · · Score: 3, Insightful

      no. youre just ... wrong. the presentation of the facts DOES NOT EXIST WITHOUT THE FACTS. im not trying to spin anything. go read : Feist Publications, Inc., v. Rural Telephone Service Co., 499 U.S. 340 (1991) and educate yourself. besides, i'll probably send a copy of this thread around to my colleagues anyway. they should have a good laugh at your expense. i work for jones day but you may not have heard of us.

      Re Feist

      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

      The Supremes say you are full of it.

      The Feist decision only extended copyright to the layout, not the underlying facts.

      I've heard of Jones, Day - if you work for them, maybe in the mail room, but certainly not as a lawyer. Or are you now going to say that the Supremes got it wrong?

      You're wrong, and you just keep giving me more ammunition to shoot you down with every time. You're as bad as Florian Mueller.

    42. Re:Copyrights on facts by Crispy+Critters · · Score: 1

      Remember that the abstraction-filtration-comparison test is applicable to cases in the 10th Circuit. Other circuits have different tests. Until the Supreme Court weighs in, copyright law will in effect be different in different parts of the US.

    43. Re:Copyrights on facts by DrJimbo · · Score: 1
      According to the Wikipedia:

      The AFC test was developed by the United States Court of Appeals for the Second Circuit in 1992 in its opinion for Computer Associates Int. Inc. v. Altai Inc. It has been widely adopted by United States courts and recognized by courts outside the United States as well.

      --
      We don't see the world as it is, we see it as we are.
      -- Anais Nin
    44. Re:Copyrights on facts by Anonymous Coward · · Score: 1

      /* My great compiler
      */

      #include "gcc.c"

      /* end
      */

    45. Re:Copyrights on facts by Anonymous Coward · · Score: 0

      I which I had mod point for you. Mod parent up !

    46. Re:Copyrights on facts by tomhudson · · Score: 2

      please just go read feist. and avoid reading excerpts. an author’s original compilation, arrangement or selection of facts can be protected by copyright wtf does this mean ? IT MEANS YOU ARE AN IDIOT. are they going to award damages based on only the infringing potions or the whole work ? YOU DUMB SHIT BAG. THE WHOLE WORK IS PROTECTED. read the fucking text and interpret it you moron.

      The Supreme Court says otherwise.

      The original court, and the appeals court, agreed with your stand. The Supreme Court reversed it - the "collections copyright" doctrine was overthrown. You could no longer claim a copyright on both the layout and the underlying facts, as the Supreme Court ruled that facts are not subject to copyright in Feist vs Rural.

      Exerpts.

      Although Feist altered many of Rural's listings, several were identical to listings in Rural's white pages. The District Court granted summary judgment to Rural in its copyright infringement suit, holding that telephone directories are copyrightable. The Court of Appeals affirmed.

      Held:

      Rural's white pages are not entitled to copyright, and therefore Feist's use of them does not constitute infringement. Pp. 344-364.

      (a) Article I, 8, cl. 8, of the Constitution mandates originality as a prerequisite for copyright protection. The constitutional requirement necessitates independent creation plus a modicum of creativity. Since facts do not owe their origin to an act of authorship, they are not original, and thus are not copyrightable. Although a compilation of facts may possess the requisite originality because the author typically chooses which facts to include, in what order to place them, and how to arrange the data so that readers may use them effectively, copyright protection extends only to those components of the work that are original to the author, not to the facts themselves. This fact/expression dichotomy severely limits the scope of protection in fact-based works. Pp. 344-351.

      So, the Supreme Court didn't affirm the Appeals Court decision. They explained where past courts had gone wrong in awarding copyright to compilations of mere facts.

      Lower courts that adopted a "sweat of the brow" or "industrious collection" test - which extended a compilation's copyright protection beyond selection and arrangement to the facts themselves - misconstrued the 1909 Act and eschewed the fundamental axiom of copyright law that no one may copyright facts or ideas. Pp. 351-361.

      (c) Rural's white pages do not meet the constitutional or statutory requirements for copyright protection. While Rural has a valid copyright in the directory as a whole because it contains some forward text and some original material in the yellow pages, there is nothing original in Rural's white page
      ...
      916 F.2d 718, reversed.

      So, while Rural had a copyright on parts of their work, they didn't have a copyright on the facts themselves. As tghe supremes pointed out above, it is a fundamental axiom of copyright law that no one may copyright facts or idea

      Further on,

      The District Court granted summary judgment to Rural, explaining that "[c]ourts have consistently held that telephone directories are copyrightable" and citing a string of lower court decisions. 663 F.Supp. 214, 218 (1987). In an unpublished opinion, the Court of Appeals for the Tenth Circuit affirmed "for substantially the reasons given by the district court." App. to Pet. for Cert. 4a, judgt. order reported at 916 F.2d 718 (1990). We granted certiorari, 498 U.S. 808 (1990), to determine whether the copyright in Rural's directory protects the names, towns, and telephone numbers copied by Feist.
      ...
      This protection is subject to an important limitation. The mere fact that a work is co

    47. Re:Copyrights on facts by martin-boundary · · Score: 1
      Have you ever looked inside the standard header files for your C compiler? The C function prototypes are only a small part of the text that the typical header file contains. There's also lots of comments and extra definitions that do not form part of the C standard, and lots of conditional branching and (nonstandard) include paths for machine specific include files etc.

      I'd guesstimate that the actual prototype definitions are at most 20% of the total line count on average. The rest is pretty much unique to the given compiler, and there's no way anyone could claim that it's not creative or copyrightable.

    48. Re:Copyrights on facts by Ghengis+Khak · · Score: 1

      Your statement correctly applies to the median.

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

      And sorry for quote-fucking, it was just too tempting.

      Touche! I definitely walked into that.

    49. Re:Copyrights on facts by Anonymous Coward · · Score: 0

      I the real world, most distributions of biological data are relatively symmetric, thus the statement hold in good approximation.

    50. Re:Copyrights on facts by Anonymous Coward · · Score: 0

      The Supreme Court says otherwise.

      You're quite clearly getting trolled, no lawyer in the world would go and present several non-realtime comments and fail so badly to convey his/her point that he/she would have to resort to name-calling.

    51. Re:Copyrights on facts by smellotron · · Score: 1

      Yes, the arithmetic mean is not a resistant measure of center, and can be influenced dramatically by outliers. On the other hand, in a normally distributed set of data, the arithmetic mean and the median will be equal. In many populations, many of the statistics that you could measure will be (approximately) normally distributed.

      That's a fair point. However, the argument that mean ~ median puts the cart in front of the horse. Why not just calculate a median in the first place? Then at least you don't care about the distribution. It also lends itself well towards quartile/percentile information, which is quite interesting for some topics (i.e. wealth distribution).

      Since a metric which quantifies the quality of a lawyer is likely to consist of many variables, each with their own distributions, the central limit theorem implies that the overall distribution of quality will be normal (of course, this is under the assumption that a large enough proportion of those variables are independent, which may or may not be a dubious assumption).

      Variable independence aside, I believe you're making assumptions that the central limit theorem doesn't allow. It's possible that while there are thousands of observable attributes of lawyers, the only one that matters is "mojo". If one has mojo, he(she) wins cases and finds legal loopholes; and if one doesn't, one suck balls. Therefore, your assertion that overall lawyer quality must be something near a Gaussian is incorrect in a mojo-driven universe.

      FWIW, I am typically a grammar nazi, too :)

    52. Re:Copyrights on facts by tomhudson · · Score: 1

      The Supreme Court says otherwise.

      You're quite clearly getting trolled, no lawyer in the world would go and present several non-realtime comments and fail so badly to convey his/her point that he/she would have to resort to name-calling.

      Shhh - mustn't scare them off

      Why do you think I keep saying "You're not a lawyer."

      F.M. is too chicken to come out and defend his lies any more (except anonymously) because I keep shellacking him and calling him a liar to his face, as do others, so I've got to make do with what's at hand.

      It was obvious just from the initial sentence structure that this is just some punk. This is the type of person who now follows people like Florian Mueller. People clearly out of their depth. That doesn't mean I won't take the opportunity to to go into greater detail to expose the whole copyright "problem" for being the non-problem that it is. After all, the more we do this, the quicker the "pundits" and "analysts" will get a clue.

      It is working ... Mueller is regarded as a joke to many of them already ... good for a story if it's a slow news day (everyone watches a train wreck), but certainly not an expert on anything other than bovine excrement. At this point, his hidden agenda isn't all that important any more, because nobody cares what he says, except as an opportunity for more laughs.

      "He used to be a pain in the neck ... now I have a lower opinion of him - a couple of feet lower." sounds about right.

    53. Re:Copyrights on facts by smellotron · · Score: 1

      I'd guesstimate that the actual prototype definitions are at most 20% of the total line count on average. The rest is pretty much unique to the given compiler, and there's no way anyone could claim that it's not creative or copyrightable.

      I think a reasonable argument is that the function/enum/union/struct definitions are themselves fact (and therefore not subject to copyright), whereas the mechanism used to express them on a given platform (compiler+os+extra) is another issue entirely. Similar to the phonebook argument - the phone numbers, names, and addresses are facts and thus may not be copyrighted, but the presentation is creative and thus may be copyrighted.

    54. Re:Copyrights on facts by martin-boundary · · Score: 1
      To extend your analogy, imagine that the phone company, for purely internal reasons, introduces many extra fake names with fake addresses. More than there are real names and real addresses. This is what actually happens. On my system, the stdio.h header defines the name FILE as follows:

      typedef struct _IO_FILE FILE;

      This says that the (published C standard mandated) FILE is an (unpublished, nonstandard) _IO_FILE defined in some (nonstandard) header file called libio.h. Now _IO_FILE is just there for the convenience of the compiler developers.

      See below for what it looks like (and even this isn't complete enough to be compilable). That's a lot of creative input for one standard C definition, and completely "fake": there are no guarantees whatsoever that the contents shown will exist in a previous or a future version of the C compiler I'm using, and if I change C compiler vendors, then there's no guarantee that even some kind of structure will be called an _IO_FILE.

      No programmer should ever use _IO_FILE directly (or even include libio.h in his programs) The only purpose of _IO_FILE is internal for the compiler developers.

      struct _IO_FILE {
      int _flags; /* High-order word is _IO_MAGIC; rest is flags. */
      #define _IO_file_flags _flags

      /* The following pointers correspond to the C++ streambuf protocol. */
      /* Note: Tk uses the _IO_read_ptr and _IO_read_end fields directly. */
      char* _IO_read_ptr; /* Current read pointer */
      char* _IO_read_end; /* End of get area. */
      char* _IO_read_base; /* Start of putback+get area. */
      char* _IO_write_base; /* Start of put area. */
      char* _IO_write_ptr; /* Current put pointer. */
      char* _IO_write_end; /* End of put area. */
      char* _IO_buf_base; /* Start of reserve area. */
      char* _IO_buf_end; /* End of reserve area. */
      /* The following fields are used to support backing up and undo. */
      char *_IO_save_base; /* Pointer to start of non-current get area. */
      char *_IO_backup_base; /* Pointer to first valid character of backup area */
      char *_IO_save_end; /* Pointer to end of non-current get area. */

      struct _IO_marker *_markers;

      struct _IO_FILE *_chain;

      int _fileno;
      #if 0
      int _blksize;
      #else
      int _flags2;
      #endif
      _IO_off_t _old_offset; /* This used to be _offset but it's too small. */

      #define __HAVE_COLUMN /* temporary */
      /* 1+column number of pbase(); 0 is unknown. */
      unsigned short _cur_column;
      signed char _vtable_offset;
      char _shortbuf[1];

      /* char* _save_gptr; char* _save_egptr; */

      _IO_lock_t *_lock;
      #ifdef _IO_USE_OLD_IO_FILE
      };

    55. Re:Copyrights on facts by symbolset · · Score: 1

      Has anybody else noticed that all of these FUD merchants are anonymous cowards? How many accounts do they have?

      --
      Help stamp out iliturcy.
    56. Re:Copyrights on facts by abulafia · · Score: 1
      I am talking about humans, not integers. If you look at populations of humans, they.(roughly, true) follow a distribution that does not mimic your example, and more or less demonstrate mine.

      Unless you live in Lake Wobegone. Before the Republicans kill it.

      --
      I forget what 8 was for.
    57. Re:Copyrights on facts by Anonymous Coward · · Score: 0

      Given a normal distribution (ie bell curve), half are below average. The numbers in your sample do not follow a normal distribution. In a sample of people, unless purposely filtered for the trait you're measuring, they do.

    58. Re:Copyrights on facts by symbolset · · Score: 1

      Here's the clear line: You cannot even be bothered to log in to slashdot to question where the line is. If you thought this problem was "huge" and important, you would tell us who you are to think that so as to lend some of your credibility to the question. But you can't be bothered to do that. So it's a whiff. A feint. A ghost of a ghost. It's the bogeyman under the bed that we all know isn't there. Every single one of you tards that want to push this ghost in this thread are posting AC. That tells us what we need to know. You're full of shit.

      A careful analysis of AC posts will tell us who's shit your full of. You know that, right? Did you think nobody was going to do that? You must be new here.

      --
      Help stamp out iliturcy.
    59. Re:Copyrights on facts by Yvanhoe · · Score: 1

      Information theory is a science. Computer technology is one of the most well defined realm of technology, it has quasi-mathematical definitions. It would be great if instead of giving a bunch of case_by_case analysis (that sometimes contradict with each others), lawyers gave us a clear understanding, a computable understanding, of what the different terms encompass.

      But I know what they fear : that with a precise enough definition, it will be easy to automate circumvention of these nonsensical laws. If we could have the algorithm that decides that two works are:
      - the same
      - similar enough to be considered rip-offs
      - close enough to be considered plagiarism
      - different enough to be considered independent works

      It would really be useful. Until then, it is fair to say that their laws do not make any sense.

      --
      The Wise adapts himself to the world. The Fool adapts the world to himself. Therefore, all progress depends on the Fool.
    60. Re:Copyrights on facts by Unequivocal · · Score: 2

      Yes but. My reading of Google's process for the Linux headers is that they specifically strip out all the comments and complex macros such as what you describe. Their readme even describes how they optimize some macros to make them simple (by short circuiting or otherwise). Presumably they do this to optimize but also to make them trivial and therefore free to distribute in a non-gpl header.

    61. Re:Copyrights on facts by the+phantom · · Score: 1

      To be honest, I think that the stronger argument is that "average" has different meanings, only one of which is "arithmetic mean," and that "arithmetic mean" is not the most common colloquial meaning. Hence when someone says "average," the assumption that they mean "arithmetic mean" is an invalid assumption, and likely to lead to errors in interpreting their statements. That being said, you raise a couple of fair points.

      That's a fair point. However, the argument that mean ~ median puts the cart in front of the horse. Why not just calculate a median in the first place? Then at least you don't care about the distribution. It also lends itself well towards quartile/percentile information, which is quite interesting for some topics (i.e. wealth distribution).

      Because you complained that "average" implies mean, and that the mean does not represent a point where half are above and half are below. However, in a normal distribution, which is a distribution that is often used to model natural phenomena (rightly or wrongly), the mean is the median, hence the distinction is irrelevant. Since normality is normally assumed (especially colloquially), it is entirely appropriate to say that half of data points are below the mean unless (a) the discussion is of a more technical nature (i.e. not colloquial English) or (b) we specifically state a priori that we are not dealing with a normal population.

      Moreover, the median is a difficult statistic to come to terms with through sampling. For instance (if I recall correctly) the sample median is not an unbiased estimator of the population median, while the sample mean is an unbiased estimator of the population mean. The sample mean also converges pretty quickly to the population mean as the sample size increases. While the median is often a more accurate measure of center, it requires very large samples (or a census) in order to get a good estimate of it. Hence the mean is generally used.

      Variable independence aside, I believe you're making assumptions that the central limit theorem doesn't allow. It's possible that while there are thousands of observable attributes of lawyers, the only one that matters is "mojo". If one has mojo, he(she) wins cases and finds legal loopholes; and if one doesn't, one suck balls. Therefore, your assertion that overall lawyer quality must be something near a Gaussian is incorrect in a mojo-driven universe.

      I explicitly stated that I was assuming that lawyer quality was a function of several variables, and that we had independence. If mojo is the only variable that matters, we lose that independence (as all other measured variables depend upon that mojo variable), and my argument fails. I explicitly stated that this was the case. When we make the assumptions that I made, the Central Limit Theorem does imply that lawyer quality should be roughly normally distributed.

      Of course, even if mojo is the only variable that matters, we still have to come to terms with its distribution in the population. It could still be normal.

      Again, my main point was to distinguish between a technical usage of "average" and a colloquial usage of the term. I stand by my statement, namely that the original poster was being a hypocrite, and that he was only correct in a technical sense, and not in a colloquial (or more general mathematical) context.

    62. Re:Copyrights on facts by smellotron · · Score: 1

      I stand by my statement, namely that the original poster was being a hypocrite, and that he was only correct in a technical sense

      I agree with you!

      and not in a colloquial (or more general mathematical) context.

      I disagree with you! I believe that most people mean "arithmetic mean" when they say "average". It may simply be a product of local math education.

    63. Re:Copyrights on facts by the+phantom · · Score: 1

      I disagree with you! I believe that most people mean "arithmetic mean" when they say "average". It may simply be a product of local math education.

      I would not normally cite a dictionary, but we are currently discussing how people use language, and dictionaries are one of the best resources on how language is actually used.

      First, Google. Looking over the first several definitions, I see the mathematical definition of the arithmetic mean first, then several definitions that do not mention summing and dividing (i.e. the arithmetic mean). I even see several mentions of both the mode and the mean. Given that list of definitions, I would be forced to assume that most people use average to mean something other than the arithmetic mean.

      The OED (I would provide a link, but it is behind an academic paywall---if you have access, just look up "average" in the Oxford English Dictionary) has many definitions for average, though the ones of greatest interest to the current discussion are

      1. Estimated by average; i.e. by equally distributing the aggregate inequalities of a series among all the individuals of which the series is composed.
      2. Equal to what would be the result of taking an average; medium, ordinary; of the usual or prevalent standard.

      The first is definitely what you are talking about, while the second is my understanding of how people use the language.

      The Merriam-Webster Dictionary also agrees---their first definition of average encompasses the mean, the mode, and the median; and definition 2b seems vague enough to encompass the idea that "average=the middle and half of values are below average."

      And, just to be clear, my point is not that you are incorrect to say that "average equals the mean," only that this is a highly technical definition of the average, and that most people, when they say average, are not being nearly so precise. They may actually mean arithmetic mean, or they may mean the median, or they may just be referring to some fuzzy idea about "the middle."

      In any case, it is not inappropriate to say that "half of all lawyers are below average," unless you have previously specified a more technical context for the conversation, by either stating that you are referring to the arithmetic mean, or by discussing the actual distribution of lawyer quality and noting that it is not normal. In other contexts, the original poster's phrasing was perfectly understandable, and perfectly in-line with the way that most people use the language (i.e. colloquial usage).

    64. Re:Copyrights on facts by NemosomeN · · Score: 1

      lol, my signature is what it is not because I hate grammar Nazis, but because I am an asshole. I am actually kind of a grammar Nazi myself. My intentionally incorrect plural, "Nazi's," is actually a huge pet peeve of mine. And I wouldn't say I'm being a math nazi. I think there are more horrible lawyers than amazing lawyers, and the vast majority of lawyers are rather average. I had to take a defensive driving class as a teen to get a ticket off of my record, and the "teacher" stated that 90% of drivers consider themselves above average in driving ability. Considering the number of people who have never been in accidents versus the number of people who have been in multiple accidents, I would not find it hard to believe that 90% are better than average. The defensive driving class did nothing to my driving habits, but it made me a stickler for honest statistics.

      --
      I hate grammar Nazi's.
    65. Re:Copyrights on facts by the+phantom · · Score: 1

      ...but it made me a stickler for honest statistics.

      But there is nothing dishonest in saying that half of lawyers are below average. As noted above, "average" is an inexact term, and has ambiguous meaning, particularly in colloquial English (i.e. the English that the original poster was using).

  3. not so fast by Anonymous Coward · · Score: 0

    The following excerpt appears near the beginning of the GPL v2 license 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.)

    1. Re:not so fast by Anonymous Coward · · Score: 3, Insightful

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

    2. Re:not so fast by pavon · · Score: 1

      And to further support the parent's point, just look at the first section of the GPL, which original poster left out:

      0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you".

      Thus if using headers does not constitute a derivative work with regards to copyright law, then the GPL does not apply to works that use (only) those headers. The next two sections of the GPL which were quoted contain language that supports this:

      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:

  4. How the fuck do we define a "substantial amount"? by Anonymous Coward · · Score: 1

    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.

  5. Re:RMS also support this. by McTickles · · Score: 0

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

  6. Re:f u by Shikaku · · Score: 3, Informative

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

  7. yeeees by unity100 · · Score: 1

    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.

    1. Re:yeeees by Anonymous Coward · · Score: 0

      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.

      HAHA ! This is funny. It reminds me of the time when this one slashdoter discredited someone's argument because they worked for Microsoft. Oh wait.. that wasn't only the one time .. its basically the entire slashdot readerbase.

      Its cute how defective brains always fail to realize that they're defective.

  8. Re:How the fuck do we define a "substantial amount by Anonymous Coward · · Score: 5, Funny

    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.

  9. Re:RMS also support this. by cpicon92 · · Score: 1

    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.

  10. Standing? by MickyTheIdiot · · Score: 1

    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?

    1. Re:Standing? by BradleyUffner · · Score: 1

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

    2. Re:Standing? by Anonymous Coward · · Score: 0

      Google is a founding member of the Linux foundation.

    3. Re:Standing? by Anonymous Coward · · Score: 0

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

    4. Re:Standing? by MickyTheIdiot · · Score: 1

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

    5. Re:Standing? by Dogtanian · · Score: 2

      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).
    6. Re:Standing? by Anonymous Coward · · Score: 0

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

    7. Re:Standing? by Hobart · · Score: 1

      Linus isn't the only copyright holder on the kernel. It's shared amongst several dozen (hundreds/thousands) of contributors - all of whom obtained the right to it via the license terms, and have shared their contributions under those same license terms.

      You -might- respond to J-Random-Kernel-Contributor's action against you by combing through the code and removing only that individual's copyrighted contributions, but you'd be open to all the others at that point.

      --
      o/~ Join us now and share the software ...
    8. Re:Standing? by Dwonis · · Score: 1

      by not asserting claims explicitly, it could be presumed that one waived any future claims.

      I think the only thing you could presume is that the person agreed for their contribution to be licensed under the same terms as the project as a whole uses. (In this case, GPLv2). From what I understand, copyright can neither be abandoned nor transferred without some explicit act.

    9. Re:Standing? by F.Ultra · · Score: 1

      Exactly, and in those cases that you mentioned that FSF brought action was for projects where FSF had the copyright (the GNU toolchain and libc). You cannot bring a copyright lawsuit of things that you don't own the copyright for.

    10. Re:Standing? by Anonymous Coward · · Score: 0

      http://www.gnu.org/software/coreutils/

  11. Smackdown, on Florian by Anonymous Coward · · Score: 0

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

    1. Re:Smackdown, on Florian by tomhudson · · Score: 3, Funny

      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.

  12. Yep, I've had the same chat by redelm · · Score: 1

    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.

    1. Re:Yep, I've had the same chat by Anonymous Coward · · Score: 0

      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.

    2. Re:Yep, I've had the same chat by Anonymous Coward · · Score: 0

      I once talked to him personally, and I was a bit disappointed. His ideas aren't bad, but reasonable isn't the word I'd use to describe him. He doesn't seem to listen to any argument, and most of all, he is very polarizing. You're either with him, or you're evil (I wish I was exaggerating). He also literally said that (software) freedom is more important, even more important than, say, building a safe bridge that would save lives.

      But to stay on topic, I also think header files should be seen as a statement of fact and could therefore be copied without a problem.

  13. All works are derivative by countertrolling · · Score: 1

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

    --
    For justice, we must go to Don Corleone
    1. Re:All works are derivative by Anonymous Coward · · Score: 1

      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.

    2. Re:All works are derivative by pushing-robot · · Score: 1

      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.

      --
      How can I believe you when you tell me what I don't want to hear?
    3. Re:All works are derivative by Anonymous Coward · · Score: 0

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

    4. Re:All works are derivative by marcello_dl · · Score: 2

      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
    5. Re:All works are derivative by amorsen · · Score: 1

      Creating copies of desirable cars has a long history. If you only do it for yourself you are unlikely to be sued, and in some cases it may even be legal.

      --
      Finally! A year of moderation! Ready for 2019?
    6. Re:All works are derivative by countertrolling · · Score: 1

      The stronger always wins. Copyright ( a regulation created by the strong) doesn't change that. In fact it reinforces it. It merely obscures the savagery behind bureaucratic mumbo jumbo, it doesn't mitigate it.

      --
      For justice, we must go to Don Corleone
    7. Re:All works are derivative by toriver · · Score: 1

      A car is one particular way of setting up those particles, and it is not the only way to do it. So the rules are satisfied.

    8. Re:All works are derivative by trickyD1ck · · Score: 1

      who create

      You used a non-word: http://www.gnu.org/philosophy/words-to-avoid.html

    9. Re:All works are derivative by other-different-nick · · Score: 1

      The question isn't whether to reward people who produce knowledge and culture, but how to do so. Are we putting enough resources towards and AIDS vaccine, or do we need more penis pills? Are we putting enough resources towards original storytelling, or do we need more reality TV shows and big budget movies based on 80s cartoons? Do we need to criminalize artistic appropriation and the free exchange of scientific thought? I say no, what we are doing is not working.

  14. Re:How the fuck do we define a "substantial amount by Anonymous Coward · · Score: 0

    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.

  15. My class defs are in .h, you insensitive clod! by Latent+Heat · · Score: 1
    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.

    1. Re:My class defs are in .h, you insensitive clod! by sribe · · Score: 2

      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.

    2. Re:My class defs are in .h, you insensitive clod! by Anonymous Coward · · Score: 0

      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.

    3. Re:My class defs are in .h, you insensitive clod! by Anonymous Coward · · Score: 0

      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.

    4. Re:My class defs are in .h, you insensitive clod! by VortexCortex · · Score: 1

      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.

    5. Re:My class defs are in .h, you insensitive clod! by shutdown+-p+now · · Score: 2

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

    6. Re:My class defs are in .h, you insensitive clod! by betterunixthanunix · · Score: 1

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

      --
      Palm trees and 8
    7. Re:My class defs are in .h, you insensitive clod! by VortexCortex · · Score: 1

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

      You are misinfromed. Yes you can, see this example. You can separate the template interface and implementation; However, in order to instantiate a template you must have access to the implementation. Libraries can provide just the template interface and a .so with commonly used instantiations to link against, and as long as you only use the explicit instantiated template forms you will not need the template implementations.

      Lets say you have some LGPL function template that has its implementation in the .h file. I can reduce that to just the interface facts:

      mylib.h
      template <T> int someFunc( T * aVar );

      Here is the .cpp implementation that has been split out (still LGPL) -- A derivative of the original combined template interface / impl.
      mylib.cpp
      #include mylib.h
      template <T> bool someFunc( T * aVar) {
      if ( aVar != NULL ) return true;
      return false;
      }

      // Add Explicit template instantiations commonly needed -- prevents multiple instantiations of these:
      template <int> bool someFunc ( int * aVar );
      template <float> bool someFunc ( float * aVar );
      // etc..

      I can then compile a mylib.so that falls under the LGPL. I can then link NON LGPL programs to it via the sanitized .h file.

      In order to use the template with types other than float or int I must have access to the mylib.h & mylib.cpp and include both. Or, I can use just the .H and recreate my own .CPP implementation to provide a compatible yet non-derivative, non-infringing library that I can license however I choose.

      Once I have created (& possibly extended ) my own non-infringing lib, I am free to distribute the stripped down mylib.h file along with the mylib.so binary and other programs that only use the explicitly instantiated float, int and MyNewClass variants will not need to include the mylib.cpp code.

      In the case of Boost, you'll end up re-creating much of the template implementation, but this does not mean that one can not separate the template implementations and interfaces, and subsequently create a compatible, non-infringing library that is compatible with Boost.

      Or, you can separate the boost interface from its implementation, explicitly instantiate the template forms you will be using in a derivative .so binary (same license as Boost), then create your non-derivative application that simply uses the instantiated template forms and distribute it under a different license.

      TL;DR: You are wrong. My point stands that I can reduce any .h files to their implementation facts then create non infringing .cpp file to link my own non-infringing / separately licensed code against.

    8. Re:My class defs are in .h, you insensitive clod! by VortexCortex · · Score: 1

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

      It is never the right thing to do. You should always separate the template implementation from the template interface. This allows you to create a pre-compiled shared library that includes commonly used template instantiations.

      Lets say you have a template class that has a non-trivial amount of implementation code. If all the implementation is in the header files then every program that uses the template must instantiate each template form, even for commonly used forms such as int, float, long, double, char, etc.

      In this case it is better to explicitly instantiate these commonly used template forms in the implementation, and allow programs to link against the shared library binary only using the header file. If you do not separate the implementation from the interface, then this is impossible to achieve and each individual executable will re-instantiate all the commonly used template forms for no good reason (wastes space). For templates that have trivial implementations this is not as big of an issue.

      Search for: "separate template definition declaration", and "explicit template instantiation". These are areas that "noobie" template users fail to take notice of.

      Even if whole program optimization is your goal, it is better to create a .cpp file that includes all the other .h & .cpp files and compile it as a final step in production, than to have to re-compile all the implementations each time one line of code changes.

    9. Re:My class defs are in .h, you insensitive clod! by shutdown+-p+now · · Score: 1

      Okay, so theoretically this can work. Pragmatically, especially with something like Boost lambda or Spirit libraries, where there are dozens of implicitly instantiated templates, this would be very complicated to implement. You'd probably have to compile with original headers first, and then read symbols from object files and parse them to figure out what got instantiated.

      Of course, Boost is not LGPL anyway (thankfully; I wouldn't want to debate this in court!), so this all is purely hypothetical.

    10. Re:My class defs are in .h, you insensitive clod! by Anonymous Coward · · Score: 0

      Interfaces in java for example.

    11. Re:My class defs are in .h, you insensitive clod! by Darinbob · · Score: 1

      This is my big gripe with C++ especially with templates. It just feels absurd to shove everything into a glorified macro, especially when compilers are no where good enough to collapse essentially identical instantiations to avoid bloat. And yet this is being promoted as the proper way to do things. I mean if you have both an STL list of integers and of unsigned integers almost every linker will leave two duplicates of the code in the executable. That's why this style only exists on PCs where the users assume memory is cheap and caches are large, and when they're not you just get a bigger computer next year. It's no longer a matter of just linking to third party libraries, you now have to recompile from scratch to use the libraries.

      It's one thing to not worry about optimizing code early on, but it's a bizarre world when you just ignore optimization altogether.

    12. Re:My class defs are in .h, you insensitive clod! by sribe · · Score: 1

      Have you *really* looked at what is output? Your examples should actually result in almost no functions at all, because a great deal of the code is simple enough to always inline--assuming you have a decent compiler and you're looking at optimized builds. You can indeed generate a huge amount of bloat with naive use of templates, and sophisticated use of templates is a black art. But one of the neat things about templates & C++ is how amazingly efficient the code generated by "high-level" abstractions can be. For a suitably C++ish definition of high-level ;-)

    13. Re:My class defs are in .h, you insensitive clod! by greed · · Score: 1

      While I'm in no way a fan of C++ templates, or even the whole language, and you are technically correct (the best kind of correct)....

      For templates to be truly interesting, they must work with user-defined types. And that means you need to be able to create new specializations, ones the original author/vendor of the template library didn't think of. To create a specialization, the implementation must be available along with the new type--which means the library code and the user code, together in one translation unit.

      If you work around that by using pointers or require everything inherit from a specific base, there's probably not much reason to have used templates after all.

    14. Re:My class defs are in .h, you insensitive clod! by Anonymous Coward · · Score: 0

      Really? My biggest gripe with templates is that a template definition can't be typechecked, and you get type errors at instantiation time instead.

  16. Stallman has changed his mind by Anonymous Coward · · Score: 0, Insightful

    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.

    1. Re:Stallman has changed his mind by phantomfive · · Score: 3, Funny

      Theo, is that you?

      --
      "First they came for the slanderers and i said nothing."
    2. Re:Stallman has changed his mind by Anonymous Coward · · Score: 2, Interesting

      Around 1994, they allowed viral-free bison output.

    3. Re:Stallman has changed his mind by shutdown+-p+now · · Score: 4, 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:

      /* 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.

    4. Re:Stallman has changed his mind by Anonymous Coward · · Score: 0

      Which obviously wouldn't have done him a fuck of a lot of good, given that he needed truly free software a good 4 years before then.

  17. Copyright removed or not? by Anonymous Coward · · Score: 1

    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.

    1. Re:Copyright removed or not? by sribe · · Score: 2

      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.

  18. WARNING - that is NOT the GPL that linux uses. by tomhudson · · Score: 4, Insightful
    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.

    1. Re:WARNING - that is NOT the GPL that linux uses. by Chemisor · · Score: 2

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

    2. Re:WARNING - that is NOT the GPL that linux uses. by tomhudson · · Score: 1

      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 :-)

    3. Re:WARNING - that is NOT the GPL that linux uses. by Dwonis · · Score: 1

      That exemption is legally dubious. Linus unilaterally added it one day, even though he's not the sole copyright holder.

    4. Re:WARNING - that is NOT the GPL that linux uses. by tomhudson · · Score: 1
      The exemption has been there in one form or another since at least March 7th, 1992

      NOTE! The linux unistd library-functions (the low-level interface to
      linux: system calls etc) are excempt from the copyright - you may use
      them as you wish, and using those in your binary files won't mean that
      your files are automatically under the GNU copyleft. This concerns
      /only/ the unistd-library and those (few) other library functions I have
      written: most of the rest of the library has it's own copyrights (or is
      public domain). See the library sources for details of those.

      Kernel 0.01 was dated only a year earlier, so the vast majority of the code in question isn't in question (especially since the vast majority of the code has nothing to do with this issue :-)

    5. Re:WARNING - that is NOT the GPL that linux uses. by Tim+C · · Score: 1

      Not a C/C++ programmer, huh? The only way to do that is to include the headers - otherwise your code doesn't know about the system calls and so cannot use them.

    6. Re:WARNING - that is NOT the GPL that linux uses. by harlows_monkeys · · Score: 1

      Could some of you idiots who keep voting this guy "insightful" explain your reasoning? For fuck's sake, he quoted the COPYING file, so all you had to do was glance up and read and you could see his claim about it is wrong. It says nothing about the kernel header files.

      You generally do not need to use the kernel header files in order to write or compile programs that make system calls. For example, to write a program that uses fork, you include sys/types.h and unistd.h.

    7. Re:WARNING - that is NOT the GPL that linux uses. by tomhudson · · Score: 1

      Could some of you idiots who keep voting this guy "insightful" explain your reasoning? For fuck's sake, he quoted the COPYING file, so all you had to do was glance up and read and you could see his claim about it is wrong. It says nothing about the kernel header files.

      You generally do not need to use the kernel header files in order to write or compile programs that make system calls. For example, to write a program that uses fork, you include sys/types.h and unistd.h.

      The COPYING file IS for the kernel source, including (drum roll please) the kernel headers.

      But let's cut to the chase. Bionic is generated from the kernel headers in the linux distribution. Here's what the article from h-online reported a few days ago when this all started

      Nimmer looks at the process that the Android developers created to produce the header files for Bionic, a compact alternative to glibc which also includes Android specific functionality.

      The build process for Bionic takes the GPL licensed kernel header files and, using a number of Python scripts, reprocesses them to create "clean" header files for Apache licensed Bionic

      OR, you could read the the very first line of the Bionic README.txt, which also says that this uses kernel header files:

      Bionic comes with a set of 'clean' Linux kernel headers that can safely be included by userland applications and libraries without fear of hideous conflicts. for more information why this is needed, see the "RATIONALE" section at the end of this document.

      these clean headers are automatically generated by several scripts located in the 'bionic/kernel/tools' directory, which process a set of original and unmodified kernel headers in order to get rid of many annoying declarations and constructs that usually result in compilation failure.

      the 'clean headers' only contain type and macro definitions, with the exception of a couple static inline functions used for performance reason (e.g. optimized CPU-specific byte-swapping routines)

      they can be included from C++, or when compiling code in strict ANSI mode. they can be also included before or after any Bionic C library header.

      So , who's the idiot - the people who modded this insightful, or you for calling them idiots?

      But let's look further - the kernel source headers used, as per the README.txt file:

      the generation process works as follows:

      * 'bionic/kernel/original/'
      contains a set of kernel headers as normally found in the 'include'
      directory of a normal Linux kernel source tree. note that this should
      only contain the files that are really needed by Android (use
      'find_headers.py' to find these automatically).

      * 'bionic/kernel/common'
      contains the non-arch-specific clean headers and directories
      (e.g. linux, asm-generic and mtd)

      *'bionic/kernel/arch-arm/'
      contains the ARM-specific directory tree of clean headers.

      * 'bionic/kernel/arch-arm/asm'
      contains the real ARM-specific headers

      * 'bionic/kernel/arch-x86'
      similarly contains all headers and symlinks to be used on x86

      * 'bionic/kernel/tools' contains various Python and shell scripts used
      to manage and re-generate the headers

      Looks like you made a monkey of yourself :-)

    8. Re:WARNING - that is NOT the GPL that linux uses. by Dwonis · · Score: 1

      Oh, neat. I'd never seen that exception before.

    9. Re:WARNING - that is NOT the GPL that linux uses. by tomhudson · · Score: 1

      Oh, neat. I'd never seen that exception before.

      Neither had Florian Mueller :-)

      Then again, he's always ignoring inconvenient facts while shooting off his mouth.

  19. Re:How the fuck do we define a "substantial amount by Anonymous Coward · · Score: 1

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

  20. There's a slight problem though by trifish · · Score: 1

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

    1. Re:There's a slight problem though by Anonymous Coward · · Score: 0

      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.

    2. Re:There's a slight problem though by trifish · · Score: 1

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

    3. Re:There's a slight problem though by Anonymous Coward · · Score: 0

      So what? FSF is the owner of the GPL. Linus chose the GPL2 for his project. What exactly can you not grasp. Presumably you're talking shit or a troll?

    4. Re:There's a slight problem though by msauve · · Score: 2

      "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
    5. Re:There's a slight problem though by Anonymous Coward · · Score: 0

      But the FSF has people with brains, and legal degrees to boot, who can use their knowledge and experience to interpret the law in a general fashion - and that interpretation can then be applied to specific cases, such as this one.

      Sheesh, Slashdot commenters are getting stupider every day. (Sorry, but really.)

    6. Re:There's a slight problem though by Anonymous Coward · · Score: 0

      no however, they do employee the person who could be said to have claim to it...

    7. Re:There's a slight problem though by mgiuca · · Score: 1

      Not really. That's why we have a license. When I choose to apply GPL to my code, I am not licensing my code under "anything the FSF ever says on the matter in the future", I am applying the license as it is worded. Otherwise, I could write a license which says "You may not use this work commercially," get a bunch of people to apply that license to their works, and then a few years later clarify "Oh, when I said commercially, I meant selling it for over $1000. Anything under that is fine." Which would probably not go down too well with the people who used my license.

      In fact, there is (in some sense) a way to license your code in such a way that you defer to the FSF's future clarifications: use the "or any later version" clause. If you use that clause, you are stating that you trust any future clarifications made by the FSF to apply to your work. Linus specifically did not use this clause because he doesn't trust the philosophy of the FSF, only the specific wording of the GPLv2.

      Just pointing that out. I do agree with the FSF here.

    8. Re:There's a slight problem though by Anonymous Coward · · Score: 0

      Eh... No.

    9. Re:There's a slight problem though by Rennt · · Score: 1

      The FSF might not be the final authority, true (that would be a judge). But they sure as hell are more authoritative then you or I. If you want an Expert Witness they are it.

    10. Re:There's a slight problem though by mgiuca · · Score: 1

      True. I agree with that.

  21. How about a mathematical attempt at defining... by blahplusplus · · Score: 1

    ... a derivative work?

    1. Re:How about a mathematical attempt at defining... by armanox · · Score: 2

      d(work)/dx ?

      --
      I'm starting to think GNU is the problem with "GNU/Linux" these days.
    2. Re:How about a mathematical attempt at defining... by Anonymous Coward · · Score: 0

      Or a physics attempt. I'm pretty sure power is the derivative of work.

    3. Re:How about a mathematical attempt at defining... by the+phantom · · Score: 1

      Or perhaps d(work(t))/dt. This seems like a situation where the function should be defined in terms of time. ;)

    4. Re:How about a mathematical attempt at defining... by rubycodez · · Score: 1

      your argument for dW/dt is much more power-ful

    5. Re:How about a mathematical attempt at defining... by the+phantom · · Score: 1

      I'm a math guy, and I think that I am missing something. Is that a physics joke?

    6. Re:How about a mathematical attempt at defining... by rubycodez · · Score: 1

      yes, power is the time derivative of work

      also equivalent to saying power is the time derivative of energy (work-energy equivalence)

    7. Re:How about a mathematical attempt at defining... by the+phantom · · Score: 1

      Ah! Thank you.

  22. What RMS Says About This Is Meaningless by Corporate+T00l · · Score: 1

    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.

  23. Re:How the fuck do we define a "substantial amount by Anonymous Coward · · Score: 0

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

    You BSD superfans just don't get it.

  24. Unless you static link by Anonymous Coward · · Score: 0

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

  25. RMS writes himself out of relevance by Anonymous Coward · · Score: 0

    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.

  26. Re:How the fuck do we define a "substantial amount by Anonymous Coward · · Score: 0

    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.

  27. Re:How the fuck do we define a "substantial amount by 91degrees · · Score: 1

    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.

  28. What about C++ headers with template functions by Branka96 · · Score: 1

    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?

    1. Re:What about C++ headers with template functions by Ash-Fox · · Score: 1

      Since the instantiation gets compiled into your code what license covers your project?

      Both licenses. Fortunately the Standard C++ Library is pretty liberal.

      --
      Change is certain; progress is not obligatory.
    2. Re:What about C++ headers with template functions by MaikB · · Score: 1

      It's right that while LGPL works for C code to make its header files non viral, C++ header files may contain non trivial template code that turns them into source files, license wise. They have to contain an explicit permission to be used without an viral effect.

      For example the Gnu's libstdc++ header files are under GPL with the following addition:

      // Under Section 7 of GPL version 3, you are granted additional // permissions described in the GCC Runtime Library Exception, version // 3.1, as published by the Free Software Foundation.

      which refers to: http://gcc.gnu.org/onlinedocs/libstdc++/manual/license.html

      The purpose of this Exception is to allow compilation of non-GPL (including proprietary) programs to use, in this way, the header files and runtime libraries covered by this Exception.

      I think of it as LGPL for C++ code, but it doesn't have its own name.

  29. Thank you by shutdown+-p+now · · Score: 1

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

  30. What's the legal definition of substantial? by ljhiller · · Score: 1

    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.

    1. Re:What's the legal definition of substantial? by pem · · Score: 1

      You can't link to a single function in a dynamic library without creating a derivative work.

      When it runs, the entire program is arguably a derivative work. When your software alone is just sitting there, no, it's not.

      Otherwise, you might as well argue that a single GPLed plugin will force Microsoft to opensource IE.

    2. Re:What's the legal definition of substantial? by ljhiller · · Score: 1
      Then I should have been more specific. I'm not talking about optional components, but libraries always linked in at runtime when the program launches. Stallman, Moglen, and FSF have long taken the stance that dynamic linking to GPL'd libraries (GPL 2 or 3, not LGPL or GPL + linking exception) requires adherence to the GPL license. Here's a quote:

      Eben:
      The language or programming paradigm in use doesn't determine the rules of compliance, nor does whether the GPL'd code has been modified. The situation is no different than the one where your code depends on static or dynamic linking of a GPL'd library, say GNU readline. Your code, in order to operate, must be combined with the GPL'd code, forming a new combined work, which under GPL section 2(b) must be distributed under the terms of the GPL and only the GPL. If the author of the other code had chosen to release his JAR under the Lesser GPL, your contribution to the combined work could be released under any license of your choosing, but by releasing under GPL he or she chose to invoke the principle of "share and share alike."

      They claim this, even if your code contains no text from GPL'd code, contains only unprotected API text from GPL'd header files, or is distributed only as a non-compilable package that requires end-user assembly with GPL sources obtained separately.

    3. Re:What's the legal definition of substantial? by Xtifr · · Score: 1

      So be sure you strip out all inline functions and macros from GPL header files and just use the structures, typedefs, and enums.

      Inline functions and macros that are trivial or which constitute scènes à faire are not going to be protectable either. Thus "substantial" is the correct term (although it may not take a whole lot to reach something approaching substantial).

  31. Re:RMS also support this. by marcello_dl · · Score: 1

    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.

    --
    ---- MISSING MISCELLANEOUS DATA SEGMENT --- [sigdash] trolololol
  32. Re:RMS also support this. by marcello_dl · · Score: 1

    > Pedophilia wasn't always a taboo.

    Nor human sacrifices. Nor slavery (oh wait we are slaves today nvm)

    And anyway the correct term shoud be pederasty.

    I agree with RMS on headers, those are interfaces.

    --
    ---- MISSING MISCELLANEOUS DATA SEGMENT --- [sigdash] trolololol
  33. Patents are the issue, not copyrights by gig · · Score: 0

    This article is such a perfect example of nerds missing the point.

    It doesn't matter if the header files cannot be copyrighted, the real issue is patents.

    The fact that Dalvik is so similar in functionality to Java that the same exact header files were used, even had to be used, were copy-pasted, just strengthens Oracle's case that Dalvik infringes on Oracle's patents. The header files show that Dalvik is not just a mobile application environment, it is a mobile Java application environment. Exactly what Oracle says it is. Why would you go to the trouble of making such a work-alike when you can just license the original? Because you don't want to pay license fees. Exactly why Oracle says Google made Dalvik.

    Imagine Google created a Google Video Disc (GVD) player and the patent holder on the DVD player sued, saying the GVD player infringes on DVD patents. Finding facts from the DVD specification (disc size, laser wavelength, etc.) in the GVD player code, even if such facts were not copyrightable, suggests that the GVD player is a work-alike of the DVD player and that strengthens the case that it infringes on DVD player patents. It suggests that GVD is not a separate video player implementation, it's a copy of a DVD player, made in such a way that it can play a video disc without having to pay license fees to the DVD patent holder.

    The best part of the above analogy is that mobile Java is just as obsolete as the DVD. Google should ship Android v4 with a native C API and a functional HTML5 app environment, both of which iOS already has and Android lacks. Mobile Java is very, very 2006. You still want me to rewrite my C app in Java after I refused to do that for like 10 years now?

    So if you are into Android, forget Oracle vs Google and start lobbying for Android development to catch up to 2007-2008. Yes, Dalvik is going to be impounded and destroyed. Yes, that will be one of the best things that ever happened to Android.

    1. Re:Patents are the issue, not copyrights by H0p313ss · · Score: 1

      Were you trying to be incorrect on every level? The issue at hand is not Dalvik, the issue at had IS the native C API in Android. which you claim does not exist.

      --
      XML is a known as a key material required to create SMD: Software of Mass Destruction
    2. Re:Patents are the issue, not copyrights by Rennt · · Score: 1

      err, Android's native C/C++ API was released June '09. It is the implementation of this very API that is under dispute.

  34. Computer Associates International, Inc. v. Altai, by novar21 · · Score: 1

    Computer Associates International, Inc. v. Altai, Inc. http://scholar.google.com/scholar_case?case=6976925648486076739&q=Computer+A ssociates+International,+Inc.+v.+Altai,+Inc.&hl=en&as_sdt=2,23&as_vi s=1 This is where the abstraction-filtration-comparison process was used in a copyright and trade secret case. The process the court must first determine the allegedly infringed program's constituent structural parts. Then, the parts are filtered to extract any non-protected elements. Non-protected elements include: elements made for efficiency (i.e. elements with a limited number of ways it can be expressed and thus incidental to the idea) elements dictated by external factors (i.e. standard techniques) design elements taken from the public domain Any of these non-protected elements are thrown out and the remaining elements are compared with the allegedly infringing program's elements to determine substantial similarity. So header files would be thrown out because of standard techniques and design elements taken from the public domain. The kernel header files mainly express the POSIX standards of communication between the system and programs. That is not to say ALL header files are not copyrightable. A header file used in an application may be copyrightable if it expresses something outside of the three excluded elements above in sufficient quantities. But in this instance the portions of the kernel header files that Google copied into a new file and distributed fall into one of the three exclusions from above. I am not a lawyer. This is not legal advice. Read the legal findings yourself or consult a real lawyer if you are concerned.

  35. Re:How the fuck do we define a "substantial amount by Kjella · · Score: 1

    Taken from Corporate America: "substantial amount of code" == one line

    Taken by Corporate America: "substantial amount of code" == entire program.

    First of all, what the FSFs opinion is on the matter is mostly irrelevant as this is about the meaning of "derived work" in copyright law. The FSF doesn't have the power to define what that is and should a court find the kernel headers are derived then the FSF has no power to grant exceptions on behalf of all the people that have used their license text.

    As for the courts, they have gone very far to copyright all kinds of original expression. Short poems, a few notes from a song, short lyrics are all copyrighted. Perhaps not #define MAX( a, b ) if a > b return a else b; but if say there's a loop and you have a choice between C++ style iterator, Java-style iterator or a foreach syntax, that's starting to look a lot like an implementation choice and an original expression. Of course if the choices are few that can be ascribed to coincidence, but not if you consistently make exactly the same choices...

    --
    Live today, because you never know what tomorrow brings
  36. Re:How the fuck do we define a "substantial amount by SiMac · · Score: 1

    What mathematical constant? You can encode many things as numbers, including stories, songs, movies, and the CSS and AACS encryption keys, but these are not mathematical constants.

  37. Incorrect - US Sup cases are NOT on point. by Anonymous Coward · · Score: 1

    As before, the parent is 100% incorrect. There are NO cases that are ON POINT here that have been decided by the US Supreme Court. To say otherwise is WISHFUL thinking.

    There are a lot of open questions, and most importantly a lot of distinguishing facts in this case. If you want to rely on cases that can be - and have been - distinguished from this one, you can, but as an attorney, it is not what you should do. It is a bad idea to rely on a case, even from US Sup that is not directly on point and there are ABSOLUTELY NO CASES that are on point here. There are large differences in FACTS between this and what the US Sup has said. For those not familiar with the law, being on point means that you have the same set of facts. Distinguishing one case from another means that there are different sets of facts between cases. The parent post is 100% incorrect in saying this is "settled."

    Similarly, regarding the COPYING file - there is a different between the 'access kernel services' and what is being done here and while RMS may be right, relying on the COPYING file when you have 1000s of people, any one of which may disagree with RMS and who can enforce the GPL, is a bad idea because a court may not agree.

    Again, IAAL who has experience in this area. Which way a court will rule is an open question, but spreading incorrect information about what US Sup has said on the matter and being modded "informative" is typical, but gives a false sense of security to those who read it. Granted there may be FUD going on here, but your post that was modded "informative" was anything but - it presents ONE POSSIBLE OUTCOME, but that is all.

    The law is not binary and here without the same set of facts you are incorrect that this is settled.

    The only thing "settled" here is that this is completely unsettled given the GPL involvement, the nature of what exactly "compilations of facts" are etc. There are many ways to distinguish this case and saying otherwise is just plain irresponsible.

    1. Re:Incorrect - US Sup cases are NOT on point. by Anonymous Coward · · Score: 1

      Again, IAAL who has experience in this area.

      Your appeal to authority is very impressive but as a Justice of the Supreme Court, I say that you're dead wrong. I would gainsay your arguments one by one but you didn't actually make any - you just said over and over for 6 paragraphs that the previous poster was wrong and that you're right.

    2. Re:Incorrect - US Sup cases are NOT on point. by tomhudson · · Score: 2
      The Supreme Court, in Feist vs Rural, reversed the Court of Appeals and said that facts are not copyrightable, even if the work in which they are found is copyrightable, whether it is a newspaper story or a compilation of facts and protected elements.

      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.

    3. Re:Incorrect - US Sup cases are NOT on point. by tomhudson · · Score: 1
      The poster is definitely NOT a lawyer.

      Follow this thread further down if you want to laugh.

      Quoting a court case that says the exact opposite of what he claims (maybe he didn't get the memo that the Supreme Court reversed the Appeals Court 20 years ago when he did a quick Internet search to try to troll)?

  38. Importing is not copying by gilesjuk · · Score: 2

    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.

    1. Re:Importing is not copying by Anonymous Coward · · Score: 0

      No, what he is saying is that the stdio.h headerfile only describes the API for the stdio library and as such the header itself is not covered by copyright and people can do whatever they want with it, including removing copyright notices or copying only selected portions of it, The stdio library that is a part of for exampel glibc is covered by copyright which is why glibc doesn't use the GPL license. (If you compare stdio.h header files from various compiler packages you'll notice that they are mostly identical, the reason for this is that they all describe the same API, The actual implementations however vary greatly)

    2. Re:Importing is not copying by Anonymous Coward · · Score: 0

      Although you might be right from certain points of view, the fact is that "removing all of the comments and copyrights then pass that off as your own file" is indistinguishable from:
      * Rewriting the file by analyzing its references and concluding how it must necessarily look (the compatibility exception to copyright).
      * Rewriting the file by printing and retyping just the parts that are not copyrightable into a new file.
      * Rewriting the file by copy-and-pasting just the parts that are not copyrightable into a new file.
      etc.

      What you're talking about is more a case of misrepresentation; saying you wrote it because there is some kind of benefit to doing so (even if it's reputation, for example). But that's not copyright, usually (it comes under moral rights in some countries, but not the US, for software).

      If B is created from A by copying the non-copyrightable portions of A, and that is indistinguishable from creating B by copying the whole of A and then removing the copyrighted parts, well, courts tend not to enforce statutes where it is impossible to demonstrate that a violation has actually happened.

    3. Re:Importing is not copying by Anonymous Coward · · Score: 0

      This needs to be modded up. Someone actually read the e-mail!

    4. Re:Importing is not copying by ToasterMonkey · · Score: 1

      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.

      I'm lost at including a header not creating a derivative work, but the act of linking to the library created with that header is (unless it is LGPL)? How is this?

    5. Re:Importing is not copying by Anonymous Coward · · Score: 0

      This is entirely dependent on what you mean by copying. I would really like to see how many of you have actually disassembled a compiled program.
      I have, the file (unless linked in some way to external library's) contains a complete copy of all used functions in the include, and in some cases a complete copy of the include. So far the only compiler I have seen that does not copy the includes (unless you tell it to do so) is the MSVC++ compiler, which unfortunately links to huge cumbersome external library's.

      Since you are technically using a copy of someone else work, I would assert that it should be considered a derivative work. And that you should be required to abide by all terms for the of use of the work that it is derived from. You should receive full recognition for your work of course, however just because it is an include does not mean that you are not expanding on or using someone else work. If you are really concerned about this then do like I have, pick up assembly and learn to do everything from scratch. Then all you need to do at best is cite your source, since you technically coded everything. Granted it takes a much longer time, but there is far less worry about copyright issues since you have no chance of copying or using someone else work.

    6. Re:Importing is not copying by Anonymous Coward · · Score: 0

      To my view the difference is in the first case you are designing to a factual interface. In the second case you are using the factual interface to access a copyrighted library and you need that library in your code in order for your program to run. I don't necessarily disagree with you, but I do see a difference.

    7. Re:Importing is not copying by Anonymous Coward · · Score: 0

      It means nothing of the sort.

    8. Re:Importing is not copying by Anonymous Coward · · Score: 0

      Thing is, Stallman is saying nothing of the sort. The definitive part of what was quoted is this: "Our view is that just using structure definitions, typedefs, enumeration constants, macros with simple bodies, etc., is NOT enough to make a derivative work." That goes beyond simply '#include "stdio.h"', although it does also include this usage.

    9. Re:Importing is not copying by Anonymous Coward · · Score: 0

      forget the .h for a moment and think a bit further, normally what's in a header is the definition of the functions that are included elsewhere. remove the comments and copyright notices from it and it looks identical to one you would make yourself from the interface specification. THAT is what people mean but headers not being "copyrightable", the interface definition is required for interoperability and thus, even if you were to declare it yourself inline in your own headers, you are not breaking copyright by including it. Now, if google is also including tons of inlined functions and macros, that's a bit different, but the declaration of the interface...who cares

  39. MOD parent up, GP is WRONG. by Anonymous Coward · · Score: 0

    I wish I had mod points today, but mods should mod the parent up, the GP is wrong. Parent is right, it is wishful thinking to say otherwise.

  40. It's true the FSF claims this by pem · · Score: 1
    but it's not necessarily true they'd prevail in court on this.

    Note that they've never sued anybody about this. It's just posturing.

    The claim that the GPL has now been tested in court, while true, doesn't address this issue, and IMHO probably never will.

    1. Re:It's true the FSF claims this by F.Ultra · · Score: 1

      The thing is that they don't have to. The only thing granting you use of the library is the text of the GPL. So if you don't agree with the GPL then you have no right to use the library. They may not be able to force you to relicense your code, but they most certainly can forbid you from linking with the library if you don't abide by the license.

  41. More reasoning on this issue by pem · · Score: 1

    BTW, I addressed the exact same Eben Moglen quote (from a slashdot interview in February 03) on a discussion thread on the Python mailing list in November of that same year. About the only thing that has changed in the intervening 7 years is that there are now enough important non-GPLed opensource projects that it is much harder for Stallman and his acolytes to cow all the FOSS developers into believing that he's always right on everything.

  42. I've asked RMS about Android by exa · · Score: 2

    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--
    1. Re:I've asked RMS about Android by ledow · · Score: 2

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

      No, he says it would take a substantial amount of CODE. Meaning actual bodies of functions (he says so in the same line).

      A header file, by convention, contains no code. It has interface definitions (X expects an integer), it has data structures (A user account consists of alphabetical username and password and a numerical ID), and it has definitions (Pi is 3.141592). It does not and should never contain any substantial amount of code (or, really, lots of macro tricks). Everyone routinely distributes header files to closed-source DLL's, libraries etc. because it's not copyrightable and allows people to use those libraries (it is, in fact, necessary). But the header file is likely NOT covered by copyright at all (even if it says it is) because the information therein is not expressive (i.e. there are tools that can extract a "header" file you can use from a binary, it's just not as useful).

      What he's saying is that:

      long print_squared(int x);

      is not copyrightable. And almost every court in the land (including the SCO debacle) confirms that. It's not copyrightable because it's not expressive - it's merely fact and convention and interface. In the same way, a quadratic formula is not copyrightable but a book "Solving quadratics" or even a short except might well be copyrightable (and most probably is).

      The interface, as specified in a header file, is uncopyrightable on its own (though that doesn't stop people putting notices on it, it just doesn't mean they are "true"). The *body* - in programming terms - of a function (or the programmer's expression of his particular way of performing a certain procedure) is copyrightable, the *definition* or *prototype* is not.

      Otherwise every piece of software in the world is either a) infringing or b) GPL by extension (e.g. I use the SDL header in a closed-source program to know what functions to call and what parameters they expect - it doesn't mean that the SDL code is included except in a self-contained "closed" DLL or that the SDL licence applies to my entire program).

      And Google specifically said - they took a header file (which is 99.9% uncopyrightable - see SCO vs IBM etc.) and extracted JUST the function prototypes (so no question of macros, stray function bodies, etc. playing a part) and used that list of uncopyrightable "X does Y" to enable interfacing to a piece of code that was ENTIRELY under another licence. You can take ALL of the function prototypes in that way if you want. But you can't take a SINGLE LINE of function body without risking using copyrightable (and therefore copyright) material.

      Header files have one purpose - to provide the facts necessary to describe the *interface* to a set of code without needing the code present. Because they are facts, non-expressive and necessary for interoperability, they are uncopyrightable. If the GPL covered them, an awful lot of commercial games are in for a shock because they almost certainly used or include the SDL header, or the Allegro header, or any one of a million and one headers (including "windows.h"!) and thus become subject to the licensing terms on it. The SDL header even re-states the LGPL licence, for instance.

      Attempting to sue over header files and/or data derived from header files will end in humiliation. That said, certain parts of certain header files that contain macro code could easily be copyrightable. But that's no relevant - Google stripped out anything that wasn't a function prototype, from what they said.

  43. Text of the GPL by pem · · Score: 1

    The only thing granting you use of the library is the text of the GPL.

    Sure, but nowhere in the GPL is this batshit-insane definition of derivative work ever written. I will give RMS this -- unlike a lot of shrinkwrapped licenses, the GPL itself, as written, is mostly quite reasonable, and it would be hard to claim that people using it are engaging in copyright misuse. From GPL v3:

    To "modify" a work means to copy from or adapt all or part of the work in a fashion requiring copyright permission, other than the making of an exact copy. The resulting work is called a "modified version" of the earlier work or a work "based on" the earlier work.

    At least in the US, the mere creation of program B which can communicate with GPLed program A (not copying from or adapting program A) via an API doesn't require copyright permission, so the GPL doesn't cover any distribution of program B by itself, much as that appears to offend RMS's sense of fairness.

    And since the GPL doesn't disallow running your own legally acquired copy of a program, you can certainly test your own program B with program A before you distribute B by itself.

    So if you don't agree with the GPL then you have no right to use the library.

    The GPL teeth aren't about use. They're about distribution. So if I'm not distributing someone else's GPLed code, there are no worries. BTW, this happens all the time with open source projects that are BSD-licensed, but that can interoperate with GPLed components.

    1. Re:Text of the GPL by F.Ultra · · Score: 1

      >The GPL teeth aren't about use. They're about distribution.
      I meant "distribute" when I wrote "use" in that sentence, because as long as you don't distribute you are free to do whatever you like with the GPL:ed code, as you also wrote. But you will have a hard time distributing your application if it means that you cannot also distribute the libraries that you depend upon ;)

  44. Really? by symbolset · · Score: 1

    Are we onto humanism as relates to the GPL now? I thought that was thoroughly covered in 1998.

    --
    Help stamp out iliturcy.
    1. Re:Really? by abulafia · · Score: 1

      Stop trolling. Look at my comment. I was talking about lawyers. You could choose to make jokes about the relative humanity of lawyers, but you're just randomly disagreeing and being annoying. There is a song by Cake, also ca. The 90s...

      --
      I forget what 8 was for.
  45. What is a fact? by Anonymous Coward · · Score: 0

    So news articles, or research papers, or sports scores, or analysis reports are all not copyrightable?
    What about photos, which are just a fact.

    I believe the question is if including a header file makes it a derivative work or not.

    I think a header file can have a copyright, and if you modify it, it is a derivative work.

    However I think RMS is correct in that merely referencing a header file (via #include) isn't creating a derivative work.

  46. YES IT DOES MEAN THAT by Anonymous Coward · · Score: 0

    YES IT DOES MEAN THAT. You CAN file off all the comments and copyrights because

    a) the comments are the only copyrightable elements in a header file of declarations

    b) if it's not copyrightable, the copyright declaration is either bogus or about the comments, if the former, it's worse than what Google does: it's claiming public information as copyrightable which is fraud.

    You can take a phone book and OCR all the pages and throw away anything that isn't the standard Times New Roman (or whatever) font and that leaves you with all the facts. All the names, numbers and adresses that are facts and not copyrightable. You can then put that into a phone directory of your own, called "gilesjuk phone directory" and sell or give it away.

    Why? Because NOBODY OWNS FACTS.

    I'm genuinely puzzeled. If Google had kept the comments in, would you be fine with it? After all that would be copyright infringement.

    As to the sibling poster, the difference is that the declaration of a C call with the name strcmp that returns a signed integer whilst taking a char pointer and another char pointer is not copyrightable. However, how you implement strcmp can be copyrighted if it's sufficiently novel to deserve protection.

    Similarly, you can write a story about a boy who grows up not knowing his destiny and coming in to great power as a wizard and you can't copyright that idea. You CAN copyright the Harry Potter books, however.

    This is also weird in that MS require includes for their declarations. How come they don't cause problems? They use strcmp. So how do we know it's not the GPL strcmp include they're using? Maybe Microsoft are filing off all the copyright statements and identifying comments of Linux headers and just *saying* it's USL copyright or BSD or theirs or whatever?

    Prove me wrong.

  47. That depends by pem · · Score: 1

    But you will have a hard time distributing your application if it means that you cannot also distribute the libraries that you depend upon.

    The internet is a great thing.

    Stallman, et al. have publicly taken the position that it doesn't matter who does the linking (the app developer or the customer), that it's still a violation.

    I believe that if I write an application that needs a GPLed dynamic library component (for example, one that just happens to be available on most modern Linux distros), that I'm in the clear if I distribute the app. Or even if I distribute the app in a package that calls out the GPLed component as a dependency.

    Now, I can easily believe that someone like Canonical might be in trouble if they distribute this app, because they're also distributing the GPLed library. But I think I would be fine just distributing my app, and I think that if I did so, the FSF might wail and gnash their teeth about it, but in the end they wouldn't do anything.

    For example, the Eclipse license FAQ states that a plugin is not a derivative work, and yet that "Based upon the position of the Free Software Foundation, you may not combine EPL and GPL code in any scenario where linking exists between code made available under those licenses."

    This is IBM very charitably saying "we don't believe this and don't care or enforce it, but obviously the FSF believes this deeply.

    I, myself, contribute to a BSD licensed library that can make use of a GPLed library if it's installed. We don't distribute the GPLed library, so I don't think there is an issue. In a way, I'd actually like to see the FSF sue someone about this to get some caselaw on the subject, but they're way too smart for that. Much easier just to sling FUD, even if you do have to write all sorts of monotonous FAQs filled with half-truths. (At least, the FAQs do serve the valid purpose of keeping someone from committing an actual license violation by shipping GPL and non-GPL code side by side, but all the dancing on the head of the pin to avoid admitting there are some nuanced cases that the GPL can't and doesn't control gets annoying after awhile.)

    1. Re:That depends by F.Ultra · · Score: 1

      Of course it's the FSF position that you violate by linking regardless of who does the linking (the developer or the customer) since the app is a derivative due to the fact that it uses functionality from the GPL library.

      Regarding your BSD licensed library you are definitely in the clear since BSD code is allowed to link with GPL code.

      But you still have to remember that copyright works in such a way that you are not allowed to use anything without the authors consent. What the GPL gives you is that consent in the form of a license specifying exactly under which circumstances that the author gives you that consent. Or as it is written in the GPL: "All rights granted under this License are granted ... provided the stated conditions are met",

      So if you claim that some parts of the license is not valid then you are not meeting all the conditions and you then have no right to use the library. What is still to be determined by any court is if linking with the library is considered to be a derivative work or not.

      What ever IBM thinks is of no interest since that only applies to stuff that they have copyright on and is in no way any statement regarding the legality of FSFs claims for the GPL. Anyone can release software licensed under the GPL with allowance for linking (such as Torvalds does for the Linux kernel) since that is the right of the copyright holder.

    2. Re:That depends by pem · · Score: 1

      Of course it's the FSF position that you violate by linking regardless of who does the linking (the developer or the customer) since the app is a derivative due to the fact that it uses functionality from the GPL library.

      But, until the pieces are linked, there may be no derivative work involved. And the customer is allowed to do his own linking, as long as he doesn't distribute.

      But you still have to remember that copyright works in such a way that you are not allowed to use anything without the authors consent.

      That's sometimes true, and it partly depends on whether the copy is licensed or owned. Reality is considerably more complicated and nuanced than that. For example, with music there is a compulsory (meaning that the author has no choice but to grant it) copyright license available under some circumstances.

      Or as it is written in the GPL: "All rights granted under this License are granted ... provided the stated conditions are met"

      ...

      So if you claim that some parts of the license is not valid then you are not meeting all the conditions and you then have no right to use the library.

      Not true. As is also written in the GPL: "You are not required to accept this License in order to receive or run a copy of the Program." Again, the teeth in the license only apply to distribution of other authors' GPLed code.

      What is still to be determined by any court is if linking with the library is considered to be a derivative work or not.

      Several courts have considered the issue of one piece of software interacting with another via an API, and to my knowledge, none have found that this act creates a derivative work.

    3. Re:That depends by F.Ultra · · Score: 1

      Not true. As is also written in the GPL: "You are not required to accept this License in order to receive or run a copy of the Program." Again, the teeth in the license only apply to distribution of other authors' GPLed code.

      What is still to be determined by any court is if linking with the library is considered to be a derivative work or not.

      Still I write use when you write distribute because I conseder the licensed usage of the library and not the running of the application.

      Several courts have considered the issue of one piece of software interacting with another via an API, and to my knowledge, none have found that this act creates a derivative work.

      But have they ever considered this regarding the GPL and whether you are allowed to distribute your software at all if you don't meet the license requirements regarding linking? No they haven't so no one knows at this moment. The main protection is that FSF and the GPL crowd isn't very litigious, and every case that FSF has moved on has been settled out of court.

    4. Re:That depends by pem · · Score: 1

      But have they ever considered this regarding the GPL and whether you are allowed to distribute your software at all if you don't meet the license requirements regarding linking?

      Courts have certainly considered this issue in the context of licenses that attempted to disallow unlicensed run-time linking, and have found that it is perfectly legal to distribute program "A" that depends on program "B" at runtime, without the permission of the author of program "B", and in fact, over the strenuous legal objection of the author of program "B".

      No they haven't so no one knows at this moment.

      That's a completely bogus argument. The GPL is not some sort of magic fairy dust, and can't provide any more protection to the author than a myriad of other proprietary licenses do. It is eminently predictable what would happen if the FSF took someone to court over this particular issue, which is precisely why they never have and never will, because they find it far preferable to be able to spread FUD, and that ability would stop as soon as they lose.

    5. Re:That depends by F.Ultra · · Score: 1

      Citation needed my friend. Everyone else claims that the GPL is untested in courts and you say that there are numerous cases with similar licenses. It's either one or the other.

  48. Two different issues by pem · · Score: 1
    (1) The GPL has been tested in court. Just not on this issue of shipping non-GPLed code that requires the end-user to link it to GPLed code.

    (2) I never said any tested licenses were "similar", just that they attempt (unsuccessfully) to control what the user can do, just like the GPL's attempt would be unsuccessful.

    See, for example, Vault v. Quaid, Galoob v. Nintendo, MICRO STAR v FORMGEN, and Baystate v Bentley. Or even start with the granddaddy of them all, Sega v Accolade. Don't be fooled that Sega was a reverse-engineering/trademark case -- the 9th circuit directly addressed fair use in the appellate decision.

    But you have to carefully read the reasoning to understand that these cases define some of the limits of copyright protection, and that no magic GPL pixie dust can extend those limits. The GPL is based on copyright, and grants users rights that bare copyright does not. It cannot take away those rights that copyright law already grants.

    1. Re:Two different issues by F.Ultra · · Score: 1

      Vault v. Quaid was about 30 copied characters of source code. Galoob v. Nintendo was about allowing end users to modify the game data. MicroStar v. Formgen was about reselling user created content (i.e levels). Baystate v. Bentley was about the copyrightiousness (is that a word) of an API/interface (or in the particular case, c structures). And for Sega v. Accolade I don't even know where you intended to go with the fair use case since that all applied to whether Accolade had fair use to dissasemble the Sega games too see how they worked.

      Not a single case that has anything in similarity with the case we are discussing: If it is allowed by copyright law to distribute a library/application that links with another library and where this is in direct violation of the second libraries license.

      Fair use and the GPL itself grants any end-user the right to use that library/application. There is no question about that. But are the distributor of the library/application allowed to continue distributing while not following the license of the second library? I say that it might be but that we don't really know until this very case is tested in a court of law, while you claim that it is indeed fully legal.

      And we probably won't get any much longer with this issue :)

    2. Re:Two different issues by pem · · Score: 1

      And for Sega v. Accolade I don't even know where you intended to go with the fair use case since that all applied to whether Accolade had fair use to dissasemble the Sega games too see how they worked.

      C'mon. Interfacing Accolade's software to Sega's own copyrighted software against Sega's wishes is the elephant in the room here. Sega tried trademark law to protect against this precisely because it was inconceivable to them to think that a customer who had legally acquired their ROM with a console didn't have the right to use that ROM as it was designed.

      Baystate v. Bentley was about...

      The whole point of these cases is that, once a copyright owner sells a copy, he loses control over what the copy owner can do with that copy. Things may be different with shrink-wrapped "licensed, not sold" software, but the GPL doesn't seem to put copies in that category.

      And we probably won't get any much longer with this issue :)

      Probably not.

    3. Re:Two different issues by F.Ultra · · Score: 1

      The whole point of these cases is that, once a copyright owner sells a copy, he loses control over what the copy owner can do with that copy. Things may be different with shrink-wrapped "licensed, not sold" software, but the GPL doesn't seem to put copies in that category.

      Unless it is considered to be a derivative work which takes us bak to the issue whether linking creates a derivative work or not :-)

    4. Re:Two different issues by pem · · Score: 1

      Unless it is considered to be a derivative work which takes us bak to the issue whether linking creates a derivative work or not .

      I have never actually disputed that the act of linking creates a derivative work. My contention is that, if a derivative work is created, that derivative work is the linked product that actually contains the code it is derived from.

      So, in development, I could (for example) create a program that uses GNU readline. It may be that I am creating a derivative work when I link my code to readline for testing, but the GPL explicitly allows me to do that, and even if it didn't, reasoning like that in Sega would almost certainly allow it.

      If I ship just my code, without shipping readline, and let the customer link it, then I am off the hook, because the only portion of readline that "exists", as it were, in my code by itself, is the technical interface to its API, and all those decisions I showed you said that the actual interface that I coded to (the API) is not protectible by copyright, so to the extent my code is "derived" from the interface, it is not a derivative work of anything that is copyrightable.

      Now it is possible, though unlikely, given the tenor of those decisions, that, absent a license, the customer commits a copyright violation when he links the code together, in which case I would be responsible for contributory infringement. However, this will never make it to court, either, as the GPL iteself explicitly grants the customer the absolute right to link readline with whatever he wants and run the resulting program, as long as he himself doesn't distribute the results. No underlying infringement == no contributory infringement.

      The only party that could conceivably be in any real trouble is somebody who combines my code with readline (thus recreating the derivative work) and ships the code together. There is no question that, if this third party is some innocent distributor, that the FSF will cut them some slack, but that if they are deliberately misusing the GPLed software this way for profit, the FSF will have them for lunch. At this point, the FSF could try to go after me to set a contributory infringement example, and they might actually have some chance of success if I accepted payment from the bundler for the software. If I'm just giving closed source software away to all comers, however, they won't stand a chance and are smart enough that they won't even try.

    5. Re:Two different issues by F.Ultra · · Score: 1

      I know and I do agree with you to 99%. The only thing that I say is that we do not know with 100% certenty that one is allowed to distribute your program on the basis that you don't distribute readline. It might be safe, it might not be. We simply won't know until someone brings such a lawsuit. And also copyright works different in various countries, for example in my country we don't have a fair use clause.

  49. 99% is good :-) by pem · · Score: 1

    And also copyright works different in various countries, for example in my country we don't have a fair use clause.

    Obviously, my analysis was extremely US-centric. I can see how it could get very messy with cross-border lawsuits in countries with different caselaw, and won't even pretend that I've been exposed to, much less thought about, all the different issues involved.