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

35 of 527 comments (clear)

  1. Go PJ! Go PJ! by warpSpeed · · Score: 1, Informative
    I read Groklaw every day and it is always very informative! Everything lawyer-esq, explained in human readable form.

  2. 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 saforrest · · Score: 3, Informative

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

      No. Assuming you discovered that GPL'ed code was included after the fact, you would have a choice:

      1) Starting selling your project under the GPL licence,
      2) Stop selling the product until the GPLed code was replaced with proprietary code, and re-release it,
      3) Stop selling your product entirely.

      You are never required to release your proprietary code. It is always an option, and is obviously the least-effort option once your discover the GPL'ed code has been included, but it is by no means mandatory.

    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 JoeBuck · · Score: 2, Informative

      What is much more frequent, in a big company, is that some rookie programmer who doesn't understand copyright law grabs some piece of code off the net, or out of a textbook, and copies it into a proprietary application, not realizing that there is anything wrong with this. I think that more people have run into problems by using code from, say, "Numerical Recipes in C" than by using GPLed code, though.

      The point of the Groklaw article is that such mistakes don't instantly force the company to GPL the whole product, though they could force other consequences, like ending the product's distribution until the infringing code can be removed.

  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 Ralph+Yarro · · Score: 3, Informative

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

    I've never heard Eben Moglen called a hippy before, interesting perspective you have there, but I'm afraid he's definitely a lawyer.

    --

    The real Ralph Yarro posts as Anonymous Coward. Anyone else is an impostor.
  5. 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.

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

  8. 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.
  9. Re:Not so fast... by leonscape · · Score: 2, Informative

    The judge can only order you not to relase your code, they cannot order you to relicense your code.

    Thats up to you.

    Monatery damamges can vary depending on the case.

    The fact that whenever this has come up the company usually decides the easiest thing is too release the source code under the GPL. But that is not the only solution.

    --


    If a first you don't succeed, your a programmer...
  10. Re:Hmmm.... by jdhutchins · · Score: 2, Informative

    A paralegal does legal research, but in order to really give people legal advice, you need to pass the bar exam. He hasn't done that, so he can't legally give you advice. His name IS on the line, in that if they turn out to be wrong, we won't trust him.

    His job is legal research, which is what this article is. If he called it legal advice, he'd be in trouble. That's why he has the disclamer on top of the page.

  11. Slashdot promoted misconceptions by linux11 · · Score: 3, Informative

    How ironic--in a Slashdot story about GPL misconceptions, the biggest misconception is promoted: what the G in GPL stands for.

    Only works that specifically state they are covered by the *GENERAL* Public License recieve the protections of that work. A reference to "GNU" Public License could be a reference to ANYTHING.

  12. Re:"The GPL is a License, Not a Contract" by Cuthalion · · Score: 2, Informative

    Directly from the GPL: 5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it.

    --
    Trees can't go dancing
    So do them a big favor
    Pretend dancing stinks!
  13. Re:Hmmm.... by Anonymous Coward · · Score: 1, Informative

    *cough*her*cough*

  14. Re:gcc and other OO development software by leonscape · · Score: 3, Informative

    No, The resultant software does not have to be GPL'd. For one thing the libs are under the LGPL, and secondly what you develop with the compiler is not restricted.

    --


    If a first you don't succeed, your a programmer...
  15. 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.

  16. Re:Not so fast... by greed · · Score: 2, Informative

    No, you do not have permission to release the GPLed work under your proprietary license. The GPL only allows you to release a derivative work under the GPL.

    You would have to get permission from those copyright holders as well, which you may very well get by offering them something like a portion of your revenue... which would then plunk you down into contract territory for the proprietary version.

    It's all basic copyright: the only thing giving you permission to use the work you created a derivative of is the GPL. You don't have to use that code, you can always implement your own. Or, if the origins are well-enough known, negotiate a different license with the copyright holder. (This should be possible with most FSF-owned works, as they require copyright assignment of patches. It is probably impossible with the Linux kernel....)

  17. Re:Not so fast... by cduffy · · Score: 2, Informative

    This element of SCO's argument, as I understand it, is that they didn't really release that proprietary code because they didn't know that it was there. If they'd known chosen to release that code while knowing what it was, then they'd certainly have no right to revoke the license; their argument is that they didn't, which makes it more of a grey area.

    So, roughly: SCO is a special case, they argue, because they didn't know what they were releasing. In most cases, however, folks unarguably do know what they're releasing, and so don't have the ability to pull it back.

  18. Re:Silly GPL question by rakaz · · Score: 3, Informative

    No, you can't do that. You either have to ask the original copyright holder of the contributions permission or re-create the contributed code. Otherwise you would be violating the copyrights of the creator of the contributions. What you do with your own code is of course your own business.

    If you look at MySQL for example, they ask every contributor to sign the copyright of the contributions over to MySQL AB. That way they can offer commercial non-GPL licenses and a GPLed version.

  19. Re:Not so fast... by cduffy · · Score: 2, Informative

    There are "commercial-with-source" licenses out there. In fact, there's quite a lot of software so licensed.

  20. Re:The real problems with the GPL by Anonymous Coward · · Score: 2, Informative

    The concept of a derived work is not explicitly defined.... because national and international law already offer definitions. For the same reason, "distribute" isn't defined in the GPL.

    No definitive interpretation by a court has been made.

    This is true of most licenses and contracts under which we live our daily lives. I certainly don't look up court cases before I sign a contract for cell phone or cable TV service. Your bizarre misinterpretations of Linus's interpretations aside, the GPL is quite clear. One can willfully misunderstand anything (as you seem determined to do) -- but the GPL is so clear that nobody has yet taken it to court.

    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.

    That's not actually accurate -- it's only one of the options for source distribution under section 3 of the license.

  21. Re:Main GPL Misconceptions by Anonymous Coward · · Score: 3, Informative

    Moglen didn't write the GPL. Stallman did, but had it reviewed by lawyers (this was before Moglen joined FSF).

  22. 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
  23. Re:But, what about... by stwrtpj · · Score: 3, Informative
    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.

    You don't need to go any further. The answer is no, the software you develop by merely using the tools does not make your software GPL. Mere use of the GPL'ed program does not make your software GPL.

    For example, if I decide to develop, say, a game to run under Linux, using gcc to compile it, XFree libraries to render graphics, and the GIMP to create the graphical images, I can still choose to release that game under any license I choose.

    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?

    In all of these cases, you are simply using the program or library in question. That does not make it a derivative work. In my example above, there are several libraries that I may link to that are GPL. Linking does not constitute a derivative work, it constitutes merely using the library. Now, if I purposely built an extension to that library, actually recompiled the library with my new code, then in that case, yes, my code would have to be GPL as well.

    --
    Karma: Frotzed (mostly due to the Frobozz Magic Karma Company)
  24. Re:Main GPL Misconceptions by bnenning · · Score: 2, Informative
    If a piece of code wasn't licensed in any way you wouldn't be able to use it unless you wrote it.


    Not true. You have the right to run software without a license from the copyright holder. ("Copying" the software to RAM is pretty clearly an "essential step").

    --
    How to solve most of our problems: 1.Lots of nuclear plants. 2.Cure aging.
  25. Re:The real problems with the GPL by AJWM · · Score: 3, Informative

    The concept of a derived work is not explicitly defined

    Copyright law appies. The term "derived work" is pretty well defined both by legislation and case law.

    shouldn't this carry over to any code which utilizes system calls in Linux?

    There's a clear (and written) exception in the Linux license that permits user programs to make system calls without being affected by the GPL. That is, after all, the function of an OS. Binary modules go beyond normal system calls, however. (Furthermore, glibc exists for plenty of other kernels besides Linux, including BSD and proprietary.)

    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.

    Lots of licenses have what seem to be bizarre terms. In this example, though, that offer need only be made if you don't distribute the source along with the binary -- and the term is not specifically the cost of the media, but "for a charge no more than your cost of physically performing source distribution,". I.e. it's okay to charge for shipping and handling too, just don't make it a profit center.

    --
    -- Alastair
  26. Re:"The GPL is a License, Not a Contract" by Anonymous Coward · · Score: 1, Informative
    I think GPL does not allow relicensing code under any other non-compatible license. So even if you allow other parties to redistribute your code with any other license, they should comply with GPL anyway.

    No. They should comply with the license they got your code under. Which can be another, if you dual license it. E.g., Trolltech is dual licensing QT, or MySQL AB is dual licensing MySQL, under both the GPL and other licenses of their choice.

    If you put your code under GPL it means you given up on it, you still have you name on it, but you do not have any more rights then anybody else.

    Yes you do. Being the author, you can put it out under as many licenses as you like.

  27. Re:Main GPL Misconceptions by AJWM · · Score: 2, Informative

    You are required to keep the copyright notice on subsequent copies of BSD-licensed works, not the original license. Even if that copyright notice includes the license terms, it only applies to the original content, not to your own additions nor to the combined work as a whole. (In fact, it doesn't. The license paragraph just requires you to retain "the above copyright notice" and "the following two paragraphs" (which are disclaimers of liability or warranty) -- not the license paragraph itself. That'd be viral ;-).

    Sure, if some subsequent recipient of the combined code can carefully separate out the original BSD'd code from the GPL'd combination and GPL'd additions, he may use that under the original BSD license. Good luck.

    (For an expanded explanation, read the copyright page on any of the O'Reilly X Windows books, which contain text released under the X license, but also text and revisions copyright by O'Reilly, the net result of which "is that copying of this document is not allowed".)

    --
    -- Alastair
  28. Re:Serious question: So does this scenario fit? by Todd+Knarr · · Score: 2, Informative
    If it's a GPL'd library, it's a violation. GPL prohibits you from distributing a GPL'd library linked to your program when your program is not GPL'd.

    If it's an LGPL library, then as long as you link to the shared-object form of the library (not physically included in your executable) then you're in the clear.

  29. Re:Main GPL Misconceptions by unitron · · Score: 2, Informative

    Your example supposes that one is copying into RAM software which one has a legal right to use. (You can't say "Your Honor, Title 17 says it's legal for me to load my pirated copy of Microsoft Office into RAM". When the law says "owner of a copy of a computer program" it means someone who possesses that copy legally). You can only use the software legally under the provisions of the license under which it is offered for sale or rent or whatever. You can only do that if there is a license.

    --

    I see even classic Slashdot is now pretty much unusable on dial up anymore.

  30. Re:Serious question: So does this scenario fit? by Todd+Knarr · · Score: 2, Informative

    Right. When you distribute someone else's code, you have to abide by their license terms. The GPL's as viral as any other software license in that way. For example, you can't distribute software containing Microsoft's redistributable modules in any way you like, you have to distribute it in ways that don't break the license for MS's redistributables. And as with any other license, if you don't wish to pay the royalty fee you don't distribute the licensed code. The only difference with the GPL is that you're paying in code instead of dollars. The desire you describe was, in fact, why the LGPL was created: to provide a way for libraries to be created that would themselves be and remain under the GPL without requiring that all derivative works also be under the GPL.

    As for the last, the GPL prevents that. One of the rights explicitly not granted you by the GPL is the right to change the license terms. To release it under the LGPL would be changing the terms. Do that, you lose your license to distribute the code.