What the GPL means

What the GPL means

Summary: For now, I'd say take the GPL at its word and change only if a court says so.

SHARE:
TOPICS: Open Source
63

philosophical gnuUntil a contract is changed by a court it means what it says. And that's all the GPL is, a contract.

As George Ou writes today, TinyPEAP used GPL software, from FreeRADIUS, and the program had to be rewritten before it was released as commercial code.

This sort of thing happens a lot. GPL code gets into projects designed to be released under different licenses. The amount of GPL code involved may or may not be material, but the GPL's FAQs are pretty explicit. When GPL and non-GPL code are combined, the result is always GPL. In logical terms it's an and/or statement.

Lawyers rely on legal cases and precedents to interpret meaning, and for a 14-year old contract the GPL has a very clean record in court. The only case that is "on point" (as they say on Law & Order) is Progress Software (now NuSphere) vs. MySQL. Progress used MySQL libraries in a commercial work, and settled on terms favorable to MySQL after a judge ruled that the underlying contract was valid, but no irreperable harm had been done.

Haroun-costumeHow much GPL code is needed to pollute a project under another license? What should the resulting damages be? These are questions no court has fully answered. I don't expect GPL 3.0 to answer them all either, and I also don't expect its interpretation to be accepted without a fight. Already, speculation abounds and those writing the new license are keeping deliberately mum. The questions, and answers, all lie above my pay grade.

For now, I'd say take the GPL at its word and change only if a court says so. That may not seem fair, in a world where GPL, BSD, and closed source code all run around like streams in the sea of story, as in Rushdie's book Haroun and the Sea of Stories.  All I'd say is there are plentimaw fish in the sea, and there's more to the GPL than meets the blinking eye. (That's a costume from the Charles Wuorinen opera of Salman Rushdie's book.)

Am I copping out here with a cheap literally allusion? Yes. But I'm not a lawyer, nor do I play one on TV. Legal disputes can quickly make your money disappear, and in my opinion are thus best avoided.

Topic: Open Source

Kick off your day with ZDNet's daily email newsletter. It's the freshest tech news and opinion, served hot. Get it.

Talkback

63 comments
Log in or register to join the discussion
  • How much GPL needed to 'pollute'?

    Interesting choice of wording there. The GPL's purpose is not to pollute, but to free and make clean. Any source code released under the GPL must be freely available and usable by everybody. If you alter a GPL'ed project, you must release your changes under the GPL. If you use GPL'ed code in your project, you must specify the code used and release that code. This is so that the entire community benefits from your work the same way that you benefitted from the community's. It's also there so that no one person can grab the code, change one piece and call it theirs (think Kerberos).

    Share or don't play at the table.

    The GPL is a license, just like all other licenses. Agree to it or don't use the code. Simple as that.
    Sabz5150
    • GPL meant to infect, not polute

      [i]"The GPL's purpose is not to pollute, but to free and make clean."[/i]

      I disagree. The GPL license is very long and ambiguous, and the vast majority of GPL violations involve either ignorance or misunderstanding by the offenders. Programmers aren't lawyers, so many times they don't fully comprehend the consequences of playing with GPL'd software.

      Businesses who understand the implications of the GPL see the license as the plaugue, and spend vast amount of resources maiking sure they don't get "infected" by it.

      Given the author of the GPL's stated goals, the ambigutiy of the license, I find it hard to beleive the the GPL was not designed to polute.

      RMS was quite clever in his method. Through the GPL he has found a a way to make the system work against the very system he want's to destroy.

      [i]"It's also there so that no one person can grab the code, change one piece and call it theirs (think Kerberos)."[/i]

      A classic free software argument, littered with [url=http://www.zdnet.com/5208-11048-0.html?forumID=1&threadID=11224&messageID=223935&start=-39]possesive themes[/url].
      toadlife
      • Long and ambiguous

        So is every other license. Ever sat and read an entire EULA? You'd be really suprised what tricks they can pull. We don't shove the GPL down your throat.

        Businesses see the GPL as a way they lose what means most to them... profit. That's all they care about. No doubt they see it as the End of Days, they don't get billions from consumers for sub-par software.

        RMS just might want to use the GPL as a means to take down the corporations, more power to him. That's now how *I* use the GPL. I want the code. I want to see how it works. I want to make improvements. I want to give back to the community what they have given to me.

        Kerberos is also a classic closed source argument too. "Oh look! Those big bad free software guys want OUR code (even though we changed very little and effectively lifted someone else's work). Please help us from these evil people!"

        Once again... profit, profit, profit.

        "referring to Microsoft, who has used very small amounts BSD code in their software."

        *WHO HAS USED... BSD CODE IN THEIR SOFTWARE* There it is, all naked and pink!
        Sabz5150
        • You illustrate my point my so vividly!

          [I]"*WHO HAS USED... BSD CODE IN THEIR SOFTWARE* There it is, all naked and pink!"[/I]

          You see Microsoft using kerberos as a bad thing. I don't. The common good is something that can't exist if you leave certain people out.
          toadlife
          • The problems isn't using Kerberos

            The problem is adding incompatible, undocumented tweaks.
            rpmyers1
          • I see that point

            But the "common good" I refer to has nothing to do with source code.

            It has to do with more people using good crypto. As a result of Microsoft using Kerberos, their OS has much better security. People being more secure is a good thing to me, no matter what software they use.

            You can moan about undocumented tweaks all day, but the fact is the people who wrote kerberos licensed it under the BSD license, not the GPL.

            Another note, this is something I wasn't even aware of until now...Kerberos is a protocal, and it seems Microsoft did was impliment the protocal, and even though they could have, they didn't use a scrap of MIT code to do it.

            https://jameshoward.us/Kerberos_and_the_GPL
            toadlife
          • BSD and GPL

            "You can moan about undocumented tweaks all day, but the fact is the people who wrote kerberos licensed it under the BSD license, not the GPL."

            And lookie what happened!

            Yes, Kerberos is a BSD licensed protocol. That allowed Microsoft to add their undocumented mess to it and call it their own. The beauty of the GPL is that cannot happen. Sure, use it all you want, crypto for everybody! However if you DO use it, you've gotta make it known and any changes MUST be released back into the public as GPL'ed code.

            A freely available program/protocol where every part and change is documented and given back to the community you got it from... THAT is the common good.
            Sabz5150
          • Common *good*

            We do not leave anybody out. All we ask is you abide by the license that the code is under. Those who think the GPL is an infection and should be avoided like the plague leave themselves out.

            Someone who takes GPL code and uses it as their own product isn't exactly thinking about the common good either.

            Microsoft using Kerberos isn't a bad thing. Microsoft grabbing Kerberos and screaming "MINE!" is.
            Sabz5150
      • All code infects ...

        If I use proprietary code in my product, I will have to pay royalties forever. Thus my code has been just as infected as if I had used GPL code. The only difference is the requirements placed on my. In one instance, I have to pay and pay and pay. In the other I have to disclose and disclose and disclose. But those requirements apply ONLY to the binary in question and not to the product as a whole. That is the point. Where people get in trouble is that they end up combining binaries in code rewrites. And that will get you in just as much trouble with proprietary code as with GPL code. The difference is that due to the open source nature of GPL code, people just assume that they can do anything they want with it and that is not the case.
        George Mitchell
      • very long and ambiguous

        [i]The GPL license is very long and ambiguous[/i]

        How does it compare in length and clarity to other licenses, such as Sun's or Microsoft's?

        Keep in mind that unlike the more common "EULAs," the GPL is a pure license. It imposes no restrictions on you outside of the bounds of copyright law. In other words, if you aren't distributing copies of a GPL work or works derived from [1] a GPL work, you aren't constrained at all.

        If you could in any conceivable way get into trouble using a GPL work, you'd be in worse trouble with any equivalent proprietary licensed work.

        [i]Businesses who understand the implications of the GPL see the license as the plaugue, and spend vast amount of resources maiking sure they don't get "infected" by it.[/i]

        How do they make sure that they aren't "infected" by other copyrighted works? I'll use as an example Microsoft's, but they're not remarkable in that regard.

        [1] "Derived from" has a precise meaning in copyright law. The GPL refers to that meaning without modification.
        Yagotta B. Kidding
      • Nope, apparently infect is no better

        Pollute's out, infect's out...impact?

        I'm trying to be fair to both sides here, but English is at times a very nasty language. I used the word "pollute" because that was the word used by Rushdie in the "Haroun" story.
        DanaBlankenhorn
        • None are close

          Both "pollute" and "infect" imply that the GPL work somehow alters the non-GPL work, which just isn't true.

          [i]How much GPL code is needed to pollute a project under another license?[/i]

          Perhaps you're looking for something equivalent to "restrict?"

          The answer is pretty simple: enough to be a copyright violation in the absence of the GPL. If it's not a copyright violation, it's not an issue.

          In any case, no matter what you do with the GPL work you won't change the non-GPL work, as exemplified by a simple thought experiment:

          I take a copy of Red Hat (100% GPL) and a copy of Adobe Acrobat Reader and <insert operation here>.

          Can you think of an operation that I could perform that would alter the legal status of Adobe Acrobat Reader? Why should any other pair of works be different?
          Yagotta B. Kidding
    • No disagreement

      Probably a lazy choice of word there, pollute. What might be better? Infect? Nope, that's judgemental as well.
      DanaBlankenhorn
      • Just semantics

        I just thought infect was a better word choice. Polution brings up images of something being mixed in with something else, but little else. Infections have the potential to replicate and spread. GPL'd code has the potential (if used in ignorance) to instantly transform everything it touches into GPL'd code.

        Both sound inflamatory to avid supporters of the GPL, so you can't win either way.
        toadlife
        • If infect is the word for GPL

          Then the word for closed source is 'assimilate'

          Microsoft sees crypto program.
          Microsoft takes crypto program and alters it.
          Microsoft released MS-kerberos and calls it their own.

          Assimilation!

          I do not understand why you view the GPL as destructive while ranting on about the "common good". Wanna know something that IS destructive? Software patents. We know who has a lot of those, don't we?
          Sabz5150
          • Kerberos is a protocal

            [i]"Microsoft sees crypto program.
            Microsoft takes crypto program and alters it.
            Microsoft released MS-kerberos and calls it their own."[/i]

            Wrong.

            Microsoft did not use anyone elses code when they implimeted Kerberos. The implimented the Kerberos protocal themselves. Not even the GPL license could have "saved" Kerberos from Microsoft.

            [i]"I do not understand why you view the GPL as destructive while ranting on about the "common good". Wanna know something that IS destructive? Software patents. We know who has a lot of those, don't we?"[/i]

            IBM? Sun? Microsoft? Oracle? A hundred other software companies?

            Hatered of Microsoft is a very common theme amongst you "Free" software advocates.
            toadlife
          • Microsoft DID use the MIT Kerberos source code

            Microsoft did use the MIT Kerberos source code

            http://www.microsoft.com/windows2000/techinfo/planning/security/kerbsteps.asp
            [i]The Windows? 2000 operating system implementation of the Kerberos version 5 protocol is designed for interoperability with other security services [b]based on the MIT Kerberos version 5 reference implementation.[/b][/i]

            Read Microsoft "embraces and extends" Kerberos V5
            by Theodore Ts'o
            http://www.usenix.org/publications/login/1997-11/embraces.html

            Kerberos, PACs And Microsoft's Dirty Tricks
            http://slashdot.org/article.pl?sid=00/05/02/158204

            Michael Chaney asks Microsoft to Open Kerberos
            http://slashdot.org/features/00/05/16/1321225.shtml
            David Mohring
          • Just because they implimented the protocal

            ...does not mean they used any of the code. A protocol is simply a set of rules for communicating. You can read the code that implimentes those rules, or just the specification, understand the protocal and then write your own code from scratch that follows those same rules.

            "based on the MIT Kerberos version 5 reference implementation." does not mean anything special, and the other links (excluding the article by Ts'o) are little more than rants from people that hate Microsoft.

            Theodore Ts'o article commends Microsoft for adding Kerberos support, but questions their use of proprietary extensions only because it might have alienated early adopters of Kerberos.
            toadlife
          • They *ALTERED* it

            Key word there... ALTERED.

            They didn't just implement it, they altered it! Big difference there. The two do not like each other.

            Microsoft took an open standard and bastardized it into a proprietary one and slapped their own EULA on it. Just like Microsoft always does. Talk about infecting.

            They didn't use anyone else's code? Hard to prove when the source is closed. Code or not, they altered an OPEN STANDARD and made it proprietary!

            Once again, this benefits the "common good" how?
            Sabz5150
        • Busted transformer

          [i]GPL'd code has the potential (if used in ignorance) to instantly transform everything it touches into GPL'd code.[/i]

          The only thing that can transform a work into "GPL'd code" is the conscious action of the copyright holder to license that work under the GPL.

          It's not magic, you know.
          Yagotta B. Kidding