Slashdot Mirror


Viral GPL Misconceptions Elegantly Explained

Scot W. Stevenson writes "Our favorite paralegal Pamela Jones of Groklaw has put together a short FUD-killer on the General Public License that explains why you can't lose your proprietary code if you inadvertently incorporate GPL code. This is not the only text of its kind, but it is so well explained that you might want to bookmark the page for future reference."

27 of 527 comments (clear)

  1. yes!! by sujan · · Score: 5, Informative

    The GPL states a single, specific requirement, above all else: that if you create a software program that is a derived work of another software program, then that combined work must be distributed under these terms, no more, no less. Making a derivative work of a software program IS NOT SOMETHING THAT CAN HAPPEN BY ACCIDENT. You, the hypothetical developer of the derived work, receive the program accompanied by its unambiguous terms of use, and IT IS YOUR RESPONSIBILITY TO READ AND FULLY UNDERSTAND THOSE TERMS. If you do not, then that is your fault, and ignorance of the law does not excuse its transgression.

    You therefore have a choice. You can use works distributed under the GPL to create your own software and license that under the GPL, or you can NOT USE the GPL software and use any license you want. If the GPL were infectious, then you would have no such choice; since you do have a choice it is clearly not infectious in this regard.

    Also remember that the GPL clearly states your rights with respect to parts of a program you write: that the GPL only applies to the combined work as a whole. You retain all rights to do whatever you want with the parts of the program you wrote. Furthermore, if a developer combines a GPL'd program X with a proprietary program Y of which he is not the owner, then the combination does not, and cannot legally affect how Y is licensed. All that happens in this situation is that the developer will be unable to satisfy the conditions of the GPL and the proprietary license at the same time, making any release of the software -- however licensed -- in breach of copyright law. Copyright law is pretty clear on the notion that the owner of a copyrighted work has the sole ability to set the terms of use of his copyright.

    1. Re:yes!! by cduffy · · Score: 4, Informative

      GPL code owners have been pretty good about allowing accidental users of GPL code to back out things like that, however (replacing the library with a proprietary one, etc).

      And if you'd read the article, you'd know that this isn't by accident.

      Forcing compliance with a license isn't an available remedy for copyright violation. Period. Hence, a court will never force someone to release their application's code. That court *may* impose monitary damages, attourney's fees, or stop further distribution of the work until the infringing portion is removed -- but it will never require code to be released.

    2. Re:yes!! by drix · · Score: 4, Funny

      I've only been programming for about 15 years, so maybe it's just my lack of experience talking here, but... never have I had it happen where a library simply links itself into my program of its own volition. If you know of a way to make this happen, I'd love to hear it, because it would save me loads of time grepping through assorted header files to figure out a library interface, reading documentation, etc. It would be a dream come true.

      Incidentally, in every (L)GPL'd library I've ever used, the licensing terms are spelled out clearly right there at the top of said header files. You'd have to be either a) incredibly dense, or b) trying, not to know under what terms they were licensed.

      --

      I think there is a world market for maybe five personal web logs.
    3. Re:yes!! by AJWM · · Score: 5, Informative

      If I tried to then sell my work, I would also have to release my source.

      Didn't read the article, did you? That is one thing you would not have to do.

      The only thing that copyright law could compel you to do would be to cease distribution of the work that incorporated GPL code. You might choose to scrap the product, or you might choose to write your own version of the offending code. Or, you might choose to release your code under the GPL. But you cannot be compelled to the latter.

      (You might also be liable for damages on what you'd already sold, but that's a separate issue.)

      --
      -- Alastair
    4. Re:yes!! by Brandybuck · · Score: 4, Insightful

      Making a derivative work of a software program IS NOT SOMETHING THAT CAN HAPPEN BY ACCIDENT.

      Well, yes and no. It all depends on how you define "derivative work." This isn't explicitly defined for software in copyright law, so how the FSF defines may be different from how you define it, but neither of you would necessarily be incorrect.

      Here's one example: GPL libraries. You write some non-GPL code, and then dynamically link it to a LGPL library. But unbeknownst to you, that LGPL library itself links to a GPL library (which silently relicenses the first library under the GPL). According to the FSF, you have created a derivative work of a second library, and must release it under the terms of the GPL.

      It is this sort of thing that companies are worryied about. They know all too well that you can't cut and paste GPLd code into your own. They're not that stupid. But if they haven't spent the time to examine the licensing of each and every library and system call, then they'll be wise to be extra cautious.

      As for me, screw them. The licensors that is. I'll do a cursory check of the licensing, but if anyone attempts to screw me over by wrapping GPL code in a LGPL interface, I'll hunt them down and force them listen to RMS sing the Free Software Song until their brains leak out their ears.

      --
      Don't blame me, I didn't vote for either of them!
  2. Note to Darl by Ralph+Yarro · · Score: 4, Funny

    New open letter idea: explain how you CAN lose your free code even if you don't incorporate any SCO code into it, as long as SCO keeps saying you have.

    --

    The real Ralph Yarro posts as Anonymous Coward. Anyone else is an impostor.
  3. If you like Groklaw.... by i_want_you_to_throw_ · · Score: 5, Informative

    Donate to it! Pamela is FAST approaching sainthood, support her site.

  4. Re:Main GPL Misconceptions by Bombcar · · Score: 5, Insightful

    Well, no. You can reuse teh software as you see fit, sort of. BSD licensing is much superior in this aspect.

    Well, yes. It only grants rights. It might not grant as many as BSD does, but it takes away no right granted by the copyright laws of the Berne convention.

  5. Re:Main GPL Misconceptions by shemnon · · Score: 5, Insightful

    Well, yes.

    Without the license you have no right whatsover to use or distribute the code that would be covered by the GPL (assuming no other license has been applied). The GPL grants you the right to re-use in a limited fashion, but without the GPL you would have no right, so it is truely additive and a grant, just not the grant you want. If a piece of code wasn't licensed in any way you wouldn't be able to use it unless you wrote it.

    However, I agree on the philosophical subtext. The BSD license does grant the developer more liberty to use the code in any fashion they choose, including later restricting rights if they so choose. The GPL does not grant as much liberty, so BSD is more free (as in speech) than the GPL, since you can modify the free (as in beer) status of the code with BSD, whereas you cannot with the GPL.

    It is ironic that the GPL, which really rattels the libery saber, is out libertied by the BSD licences, which generally do no such saber ratteling.

    --
    --Shemnon
  6. Useful for the Pathfinder debacle by WatertonMan · · Score: 4, Informative
    This FAQ is very helpful. I suspect a lot that happened to the poor developer of PathFinder for the Mac would have been avoided had this FAQ been available.

    For those of you not familiar with that situation, the author borrowed and modified some open source code for a terminal app into a Finder alternative. A bunch of GPL zealots then started a flame war with many actually demanding that he release the entire source code to the world under the GPL! What was worse was that the author had already helped the community by releasing many of the classes he had developed!

    While such zealots obviously can't be taken as representative of GPL supporters, it is cases like that which gives the GPL a bad name.

    1. Re:Useful for the Pathfinder debacle by nathanh · · Score: 5, Informative
      For those of you not familiar with that situation, the author borrowed and modified some open source code for a terminal app into a Finder alternative. A bunch of GPL zealots then started a flame war with many actually demanding that he release the entire source code to the world under the GPL! What was worse was that the author had already helped the community by releasing many of the classes he had developed!

      Hrm. I hadn't heard of this PathFinder GPL violation before, but a few minutes with Google paints an entirely different picture to the "GPL Zealots vs the Virtuous PathFinder Guy" that your story painted.

      From here it seems that rather than "many actually demanding" a GPL release, it was very few people even hinting at a GPL release, and no actual demands were made. In any event, only the iTerm authors can make demands and even then they can't demand a GPL release.

      For the most part, people were just exploring the possibilities in a mostly civil manner. If I was forced to polarise the discussion I would say the most significant minority of comments were anti-GPL trolls; typically saying things like "GPL BAD BSD GOOD" and other nonsense.

      Later, the author of PathFinder apologises and admits it was an honest mistake. Many subsequent comments are then repeating that the mistake was honest so they should try and find a solution where everybody walks away happy. Nobody wanted to crucify the PathFinder guy... at least, not that I saw.

      So I don't know where you got this entirely negative opinion of "GPL Zealots" from. My view is that the mistake was honest, the mistake was admitted, the iTerm authors seemed content to find an equitable solution, there were the typical anti-GPL trolls, and no actual demands for a "GPL release" were made.

      Now contrast this with intentional violations of the GPL where the violator refuses to comply. For example, easyRDP.

  7. Re:"The GPL is a License, Not a Contract" by Gaijin42 · · Score: 5, Insightful

    The paralegal got it 1/2 right. There is a difference between a contract and a license, however, the GPL is both.

    A license is one thing : permission to use something that isn't yours.

    A contract is a set of obligations for two or more parties.

    a EULA is a license, given if you comply with the terms of the contract (pay, release code into the GPL).

    The license is revoked if you fail to comply with the contract.

    But the license is the permission, not the terms.

    He is correct, that you would try to suesomeone under copyright law, rather than contract law, but this has nothing to do with which laws are applicable : both are.

    However, the remedies available under copyright law are much more stringent, and therefore more useful.

    Under contract law, pretty much all you can get are recouped losses, and a nullification of the contract.

    In the case of the GPL, the losses are nothing, since nothing was paid, and the nullification of the contract just revokes the license. That gets you back to use of the content without a license, which is handled under copyright law.

  8. Re:Main GPL Misconceptions by Our+Man+In+Redmond · · Score: 5, Informative

    Remember that it was written by an OSS hippy, not a lawyer.

    Bzzzzzt! Wrong. It was written by Eben Moglen, professor of law and legal history at Columbia University. I have no idea whether he is a hippy (although I would tend to doubt it), but I have little doubt that he's a lawyer.

    It only grants rights, it doesn't take them away

    Well, no.


    Well, yes. Read the GPL. It grants you rights to do things that otherwise you could not do under copyright law. If you can't do things with the software, it's because copyright law won't let you do them, not because the license itself won't.

    --
    Someone you trust is one of us.
  9. Re:"The GPL is a License, Not a Contract" by leonscape · · Score: 5, Insightful

    This is precisely the point, a license is NOT a contract. It's a completely different thing under law. The fact that you failed to grasp this is why the GPL FUD keeps going, and why EULA are so effective and may not even be legal.

    The fact that this is backed up by several quotes from lawyers, seems to have passed you by.

    Where are my mod points when I need them!

    --


    If a first you don't succeed, your a programmer...
  10. No.. you misunderstand by mindstrm · · Score: 5, Informative

    Did you read the article?

    The GPL is not some weird contract, some new experiment in copyright law interpretation that requries a test in court.. it is a straightforward license (which is different from a contract). it is, in fact, very clearly a license, not a contract.

    It DOES NOT take away any rights: Copyright allows you certain things by default. The GPL grants you other rights IN ADDITION to those allowed under copyright law, under certain conditions.

    There is nothing to test in court (any more than any license needs to be tested in court).

    We are not talking about freedom here.. or the relative freedom of various licenses..

    As people keep saying, it's very, very simple. If the GPL is not valid... then show how you had permission to create a derived work from MY code. Plain and simple. Either you had no license to do so, in which copyright law applies, and what you did was illegal, or you have the GPL, which says you can do this, within limits.

  11. License != contract by Our+Man+In+Redmond · · Score: 4, Informative

    Nope. A contract implies a two-way promise. I contract with you to sell me two tons of sugar for five cents a pound. You promise to do something (produce the sugar) and I promise to do something (buy it from you). If either of us defaults on the contract, there are penalties involved.

    A license simply allows you to do something you couldn't otherwise do. There's no contract because you don't have to perform any obligations. Simply because you have a driver's license doesn't mean you have to drive a car. (You do have to follow traffic rules but that is a condition of the grant of license, it's not a contractual obligation.)

    PJ is not a lawyer, but she knows plenty of lawyers, and is meeting more as time goes on. If she says that the General Public License is a LICENSE, not a contract, she has the opinion of experts to back it up with. Those experts include Eben Moglen, the author of the GPL and a professor of law and legal history at Columbia University. What do you have?

    --
    Someone you trust is one of us.
  12. Re:Main GPL Misconceptions by Hrothgar+The+Great · · Score: 4, Interesting

    The GPL is tied up with Stallman's and the FSF's free software philosophy. I'm not saying that there's anything wrong with that; just providing a possible explanation for the irony you mentioned. The GPL is designed around the idea that all software should be open source, and it does seem intended to cause more people to release more source code as time goes on. It also really seems to be effective in accomplishing this goal.

    Though to tell you the truth, I never got the whole "free as in beer" thing. Beer is expensive, damn it, and when I use it up, it's all gone and I get a hangover.

  13. The real problems with the GPL by ikewillis · · Score: 5, Interesting
    1. The language is, in many places, ambigouous and misleading. The concept of a derived work is not explicitly defined, nor has specific attention been paid to dynamic versus static linking.
    2. No definitive interpretation by a court has been made. This article is completely the interpretation of a single individual and its relevancy to a definitive interpretation within a courtroom setting is dubious at best. There exists Linus's interpretation of this matter, which would preclude the possibility of binary only kernel drivers, but shouldn't this carry over to any code which utilizes system calls in Linux? Wouldn't such code be considered a derived work and be forced to be distributed under the terms of the GPL? Consequently, it doesn't seem possible for glibc to legally be LGPL, as it utilizes the Linux system call table and is consequently a derived work of the GPL'd Linux kernel. This opens up a whole nasty can of worms...
    3. The GPL has many bizarre concessions and terms, such as requiring those who distribute GPL software to distribute it by mail at anyone's request, charging only the cost of media.
  14. Re:Go PJ! Go PJ! by warpSpeed · · Score: 4, Funny
    lawyer-esq

    Yeah, I could not resist the pun, but apparently the moderators could...

  15. Re:Linux Kernel Headers Require Programs GPLed? by EvilTwinSkippy · · Score: 4, Interesting
    Headers are considered to be documentation for all sakes and purposes. They are intended to be an outline for external code to communicate with the major subsystems. That is why the headers are available seperately from the kernel sources.

    This same system is used for proprietary binaries. They give you a pre-compiled binary or library with a set of headers for your code.

    That said, the community has always looked unfavorably on binary-only drivers in the Kernel. They only tend to work for the major distros, and they also tend to lack the polish and peer review that goes into the normal bevy of OSS driver.

    I for one don't understand why a vendor would only go halfway in supporting Linux. Release a patch and let the community support your device, or always be a day late and a dollar short trying to keep up with the developments in the system.

    Ok. I do see one case: where the kernel "implements" a major function of the device in software. Even there a better approach exists. Simply provide the minimal communication hooks in the kernel itself, and devise a user-space program to perform the software control functions. The user space program can be as proprietary as you want, and it won't get stomped on as the kernel changes.

    --
    "Learning is not compulsory... neither is survival."
    --Dr.W.Edwards Deming
  16. In brief: by ScottSpeaks! · · Score: 4, Interesting

    A licence grants rights in only one direction; a contract grants rights (and obligations) in both directions. Because the GPL is merely a licence, those using GPL code cannot be required to give up the rights to their own code.

  17. Re:Main GPL Misconceptions by flossie · · Score: 4, Informative
    If somebody wants to sell it, they can't.

    That's another GPL misconception. The GPL does not prevent anyone from selling GPL'd work:

    program is free software if users have all of these freedoms. Thus, you should be free to redistribute copies, either with or without modifications, either gratis or charging a fee for distribution ...

    In other texts, RMS explicitly encourages the sale of GPL'd code. The key point about putting work under the GPL is that those who distribute it (for no fee or for a price) cannot prevent the recipient from also selling or giving away copies.

  18. Re:gcc and other OO development software by zippity8 · · Score: 4, Interesting

    One thing that's made me wonder is, if I want to use gcc or another gpl compiler, would the resultant project automatically be gpl'd?

    http://www.gnu.org/licenses/gpl-faq.html#IfInter pr eterIsGPL
    When the interpreter just interprets a language, the answer is no. The interpreted program, to the interpreter, is just data; a free software license like the GPL, based on copyright law, cannot limit what data you use the interpreter on. You can run it on any data (interpreted program), any way you like, and there are no requirements about licensing that data to anyone.

  19. Re:Slashdot, a groklaw mirror? by Bagels · · Score: 4, Insightful

    Perhaps Slashdot should add a link to Groklaw on the side of the main page, as it has done with certain other popular websites in the past (AnimeFu, Penny Arcade, Everything, etc.). That would make more sense, and it could replace the vacant spot left by the passing on of "The Filthy Critic."

    --
    --- Bwah?
  20. Re:Contradicts Stallman's own statements by Ironica · · Score: 4, Insightful
    The essay referenced in this article directly contradicts Stallman's own statements, which actually advocate the use of the GPL to "pry" intellectual property away from institutions and businesses. In his essay, "What is Copyleft?", Stallman writes:
    People who write free software often work for companies or universities that would do almost anything to get money. A programmer may want to contribute her changes to the community, but her employer may "see green" and insist on turning the changes into a commercial product.

    When we explain to the employer that it is illegal to distribute the improved version except as free software, the employer usually decides to release it as free software rather than throw it away.[emphasis added]
    So, this apologist for the FSF is apparently attempting to sweep its true intentions under the rug.

    The quote you give doesn't in any way contradict what the article says. This quote merely says that, when companies perceive that software subject to the GPL can only be distributed in a certain way, they may choose to distribute it under those terms rather than not distributing it at all.

    What the article says is that, if they (accidentally or on purpose) do distribute GPL code under a proprietary license in violation of the terms of the GPL, they cannot be forced to release their code.

    The important difference is what people (or corporate entities) choose to do, vs. what they must do. The point that MS et. al try to make about the GPL is that you could lose the right to keep your code proprietary. This, Ms. Jones contends, is simply not true. That doesn't mean that the GPL isn't a way to leverage companies into releasing code that they'd rather keep proprietary, however... which is what Stallman advocates in your snippet.
    --
    Don't you wish your girlfriend was a geek like me?
  21. No, you got it half wrong by Royster · · Score: 4, Informative

    Where's the consideration? There isn't one. It's a pure grant of rights with stipulations/conditions.

    A contract only exists if the parties have the legal right to contract. A contract with a minor is voidable by the minor party of the contract. However, the GPL is enforcable against a minor.

    --
    I have discovered a truly marvelous sig, unfortunately the sig limit is too small to contain i
  22. Re:But, what about... by cayenne8 · · Score: 4, Interesting
    What if you put an application together using Open Source tools. Let's say your application uses Linux as the OS, and PostgreSQL as the database.

    Now, would the database schema/design now be GPL or would it be proprietary? It isn't compiled or linked to any 'librarys'. It is just instantiated into a physical instance. So, it should not be GPL'ed should it? What about a bunch of PHP scripts you run on Apache...those aren't GPL'ed are they?

    --
    Light travels faster than sound. This is why some people appear bright until you hear them speak.........