The GNU GPL Is An Enforceable Contract At Last

It would be difficult to imagine the technological enhancements to the world we live in today without open-source software. You will find it somewhere in most of your consumer electronics, in the unseen data centres of the cloud, in machines, gadgets, and tools, in fact almost anywhere a microcomputer is used in a product. The willingness of software developers to share their work freely under licences that guarantee its continued free propagation has been as large a contributor to the success of our tech economy as any hardware innovation.

Though open-source licences have been with us for decades now, there have been relatively few moments in which they have been truly tested in a court. There have been frequent licence violations in which closed-source products have been found to contain open-source software, but they have more often resulted in out-of-court settlement than lengthy public legal fights. Sometimes the open-source community has gained previously closed-source projects, as their licence violations have involved software whose licence terms included a requirement for a whole project in which it is included to have the same licence. These terms are sometimes referred to as viral clauses by open-source detractors, and the most famous such licence is the GNU GPL, or General Public Licence. If you have ever installed OpenWRT on a router you will have been a beneficiary of this: the project has its roots in the closed-source firmware for a Linksys router that was found to contain GPL code.

Now we have news of an interesting milestone for the legal enforceability of open-source licences, a judge in California has ruled that the GPL is an enforceable contract. Previous case-law had only gone as far as treating GPL violations as a copyright matter, while this case extends its protection to another level.

The case in question involves a Korean developer of productivity software, Hancom Office, who were found to have incorporated the open-source Postscript and PDF encoder Ghostscript into their products without paying its developer a licence fee. Thus their use of Ghostscript falls under the GPL licencing of its open-source public version, and it was  on this basis that Artifex, the developer of Ghostscript, brought the action.

It’s important to understand that this is not a win for Artifex, it is merely a decision on how the game can be played. They must now go forth and fight the case, but that they can do so on the basis of a contract breach rather than a copyright violation should help them as well as all future GPL-licenced developers who find themselves in the same position.

We’re not lawyers here at Hackaday, but if we were to venture an opinion based on gut feeling it would be that we’d expect this case to end in the same way as so many others, with a quiet out-of-court settlement and a lucrative commercial licencing deal for Artifex. But whichever way it ends the important precedent will have been set, the GNU GPL is now an enforceable contract in the eyes of the law. And that can only be a good thing.

Via Hacker News.

GNU logo, CC-BY-SA 2.0.

58 thoughts on “The GNU GPL Is An Enforceable Contract At Last

  1. I consider the GPL clauses to be viral but I am not an open source detractor. Many people don’t like GPL and are not detractor. On the contrary. I prefer other licenses because I want my code to be trully open. “Do whatever you want with it, just dont sue me”

    1. I’m the same way. My ideal contract would be little more than “by using this software you agree to accept the responsibility if you use my dumbshit code for anything important and it gets people hurt. You agree to give me credit unless you’re doing something icky or illegal in which you will scour my name from all released materials.”

    2. Sorry, but I do not understand what’s the problem with GPL. Saying that GPL is “viral” in a bad sense is the same as saying that asking money for non-free commercial software is not right. Every developer has the option not to use software if he does not want to accept the price/license terms. Nobody forces them to steal the (paid) software or break the (GPL) license terms.

      1. I think it’s bad because I’d bet a lot of people grab a GPL licence without realising what it is, and they’d have been happy with MIT.
        I can buy rights to use a commercial library, include it in my software, and give it away for free. It doesn’t infect my cosebase and products. I can’t use GPL code without altering my entire business model into “hope people make donations” or “make it a pain to use and charge people for support” or “tie it to a cloud system so the distributed code is useless”

      2. I agree with this, just because I give something away to people that follow the rules I set doesn’t mean they can do whatever they want with it. There is a cost to everything. If it has value to another developer, they need to pay by following the rules. Seems to me that GPL is far less restrictive than most closed-source licenses.

  2. Not replying to a single comment: GPL fan here.

    I think calling it “viral” is just repeating the FUD spread by companies (Microsoft, among others) without really thinking about it. After all, if you don’t like Oracle’s license, you don’t use Oracle’s product. If you don’t like the GPL, there are enough alternatives these days. For nearly every and each “product”.

    I like to focus it from another view point: GPL is about the end user, MIT/BSD/Apache are about the developer/distributor (note that the same person usually plays several roles).

    That said, there are as many valid reasons for choosing a copyleft license as for chosing a non-copyleft license, and I have highest regard for anyone licensing his/her work under *any* free license, be it GPL, BSD, Apache or whatever. Actually I think that some diversity is beneficial here (no, not a boundless proliferation, mind you).

    But please, don’t repeat Ballmer’s FUD (“GPL is a cancer”) or similar without first *thinking* about it. GPL was a “cancer” because it wasn’t giving Microsoft a free ride. But whom was Microsoft giving a free ride, in exchange, may I ask? Whom are they giving a free ride nowadays? Why should they expect to be treated differently?

    1. Its not completely wrong calling it viral since it has a viral effect. Any code + GPLv3 code = GPLv3 for the whole code

      For the focus I would add that each license gives or takes freedoms. BSD gives freedom to the next person to “see” the code while GPL goes through multiple layers until the customer.

      Depending on your project and its use there may be a better license than GPLv3.
      E.g. for ownCloud the AGPLv3 is a great license. But for let’s say a encoding library thats nested somewhere inside a product even the LGPL may be too much.

      1. There is absolutely nothing that prevents you from offering a piece of code under multiple available licenses. It’s not “Any code + GPLv3 code = GPL v3 for the whole code.” It’s “if you want to use this code under the GPLv3 license, you have to follow its terms, otherwise, get it under another license.”

        And in fact, that’s what’s going on here. They didn’t obtain a commercial license – which they clearly offer – and didn’t follow the GPLv3’s terms.

      2. The purpose of GPL is not to give the user of the source code any freedom. It’s a contract: “You can use my source code for free in your project only if you do the same for the community with your resulting source code”. That is not any unfortunate side effect. It is the purpose of GPL. Anyone not willing to give back has the freedom not to use the GPL software.

        1. “Anyone not willing to give back has the freedom not to use the GPL software.”

          This sounds way, way, too arrogant. It’s “has the freedom not to use the software under the GPL. They can contact the authors to license the software some other way.” The code itself isn’t somehow contagious. It’s the license.

    2. I think if you read the article again you’ll see that I describe the clauses as sometimes referred to as viral by their detractors. Which I think is a fair description. I remember the FUD, and read through the SCO/Caldera case as it unfolded.

      1. Yes, Jenny, you are correct. My comment wasn’t targetting your text specifically — rather the general anti-GPL sentiment in the comments. The point I was trying to make is that the GPL is part of a healthy free software/open source environment (I have the impression that you can sympathize with that position :)

    3. Kind of depends upon what one is propagating, code or an idea? Let’s say one wanted a standard to be spread far and wide, and quickly, closed and open source users alike (TCP/IP) ? Something like the BSD (or the LGPL for some) would be appropriate. If one wanted their code to continue for the long haul, something like the GPL would work.

    4. GPL doesn’t benefit the customer. It benefits other developers who can use the code. 99% of customers can’t. And – whilst there’s some notable exceptions – the UI quality of most GPL projects shows there’s little care for end-users.

      1. Wrong. It’s the end user who all this fuss is about. All those routers you can slap OpenWRT on? Thanks, GPL. All those Android devices you can put an alternative kernel on? Thanks, GPL. And if compliance were just a tad better…

        With BSD this doesn’t happen.

        Don’t take this as BSD bashing. I have a huge respect of people doing free software, whatever the license. I have my clear preferences, but I know a lot of people much smarter than me who have other clear preferences.

        Whatever floats your boat. But I’ll keep talking about how beautiful mine is :-)

    1. Anything US-based will probably have company policies updated to abide by that ruling, otherwise they risk lawsuit in US, which tends to get expensive very quickly…
      There’s a lot of US-based software producers that operate worldwide.

      1. more and more companies are electing to work anywhere but the US though, the same goes for american based software, external large companies dont want to be subject to american influence if they can help it, fred olsen is a prime example over the last decade.

      1. The court is in California, but it’s a federal circuit. It applies to the entire circuit. If another circuit ends up with a conflicting ruling, that’s called a “circuit split” and is the fastest way to get to the US Supreme Court.

  3. A small observation (I’m surprised someone hasn’t ranted about “GPL” and “licensing fee” yet):

    As Artifex holds the original copyright to all components of Ghostscript, and (I believe) requires all contributions to the GPL codebase they maintain to have copyright assigned to them, Ghostscript happens to be an example of software obtained under multiple licenses.

    As a result – you can negotiate to receive Ghostscript from Artifex under a license OTHER than GPL if you don’t want to abide by the other restrictions GPL imposes. It appears in this case – the Korean company chose both:
    1) Not paying Artifex
    2) Not abiding by the restrictions the GPL imposes if you don’t pay Artifex to deliver the software under a non-GPL license

  4. I think the judge got it slightly wrong, although the final decision is correct. As the FSF themselves state, the GPS is not a “contract,” because as the defense maintained, there was no assent. It is a *license*, and as such assent is not required. As the GPL states, “nothing requires you to accept this license, but copyright law does not permit you to redistribute the code otherwise.”

    1. That’s the beauty of the GPL. Even if it was found unenforceable, copyright law (which closed and open depend upon) would have been the fallback position. A unique way of turning a sword into a plowshare as it were.

  5. I would need to know more about the end product, but the case may be a bit dubious. If my understanding is correct the GPL is more about re-using pieces of the code or expending on their product than dealing with the output of the product. That is things you compile with GCC are not covered by the GCC license, nor are documents that you create with open office. If you go into the guts of GCC and make changes or go into the guts of open office and make changes, the resulting code is covered.

    So, the question in my head is how integrated was Ghostscript? Was it modified, or was it included intact and unmodified as a viewer? And would it make a big difference if it were not bundled. That is if the product came and they said, you need a postscript viewer. A free one can be found here..

    1. As I understand it… At compile time, if any of the code compiled contains source that is GPL, your end product will need to be GPL. And you will need to make the source available.

      LGPL however, is for common used libraries, like for example a crc calculation routine. You can’t go make new crc routine from the original and sell it to developers as a product you developed, but you can use it in a new product as a subcomponent unmodified. If you improve the crc code, and want to use it in a commercial product, you are oblidges to make only the new improved CRC code available. But that only applies to the crc code. As for the end product, do as you wish.

      1. What if your code doesn’t compile? What if the rest of the code is in python and just interfacing with the C code?
        “At compile time” is a bit of an odd definition these days. Just like dynamic and static linking.

        1. “Compile time” is not mentioned in the license, only the concept of a “modified work”.

          If you don’t modify anything, you’re allowed to interact with an existing GPL piece of software.

          For example, a program that calls GCC is not required to be GPL itself. Even a program that operates on the source code of a GPL program is not required to be GPL itself… (I’m having a hard time coming up with a use-case)

        2. Basically: if you are linking GPL code with your code (both static or dynamic link), your code must be GPL. If your code interacts with the GPL code using IPC, your code doesn’t need to be GPL.

          In python, if you use ctypes you are doing a dynamic linking, so your code must be GPL.

          1. > if you are linking GPL code with your code (both static or dynamic link), your code must be GPL.

            No. Subtle, but different:

            if you are linking GPL code with your code *and if you distribute the result*, you have to distribute it under GPL; otherwise you are breaking the license under which you got the library in the first place. That means:

            – whatever you do “at home” is allowed (one prominent example: PostgreSQL’s libpq, which is BSD and readline, which is GPL. They aren’t distributed together, but you are free to link them for your personal use)

            – when you distribute the linked result, and only then, the additional conditions of the GPL come into play.

            – “your code’s” license isn’t affected by that linking (no, the GPL isn’t a “license eating monster”. That’s what the FUD wants us to believe, though. For Microsoft, in their early Windows days, it was pretty comfy to just steal BSD’s networking stack; GPL would have been somewhat more painful).

  6. As a software developer, I want complete freedom for the code I produce and the code I am using. Whether the end result is a closed source product or not should not matter. The good news is that I am not alone. Copyleft licenses is going down and permissive ones are going up: 59% / 41% for copyleft vs permissive in 2012, 45% / 55% in 2016 (a drop of 14 points in 4 years!). I hope this trend will continue…

    1. “code I am using” – do you know that if somebody takes your permissive licensed code and uses it in his proprietary licensed software, then you are not allowed to use the resulting enhanced/improved code?

  7. Some time ago I was involved in a mailing list discussion with an independent developer who was asking for our LGPL project to be relicensed so he could use it in a (yet to be written) application that he wanted to sell. He didn’t even want to give credit as he feared that exposing the use of an open source back end would reveal too much about the inner workings of his application. I’m glad that he didn’t notice that most of our code was already under BSD license…

  8. Sadly, in Korea, Lots of companies (especially ones who targets local market) *ignore* GPL. They treat GPL something like CC-0.

    Lots of Korean Home WRT companies doesn’t notice users they used GPL even they used Linux and other GPL userland binaries and lots of them doesn’t provide source code to user. Even some company(tablet PC company) says “no company do like that” when I requested source code of Linux kernel which runs on my tablet PC.

    I hope they change attitude toward GPL.

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.