The Difference Between EULAs and Open Source Licenses

In France, the GPL has scored yet another major win in court. What makes this infringements case special is that it was filed not by the developers of the infringed-upon code, but by users, demonstrating that they, too, can successfully enforce the GPL. Since I noted on a few threads here on OSAlert that a lot of people still fail to grasp the difference between an open source license and an EULA, I figured I’d take this opportunity to explain the difference one more time – using hand-crafted diagrams!

But first, let’s detail the proceedings regarding the GPL in France. TheAssociation pour la formation professionnelle des adultes (AFPA), an organisation which buys educational software, found out that distance learning software sold by Edu4 was using code from a GPL VNC client without providing source code, and with all the copyright notices stripped out.

In cases like this it usually turns out to be ignorance or a plain misunderstanding; the FSF and the Software Freedom Law Center usually resolve these cases privately without ever going to court. In the case of Edu4, however, this did not prove to be enough. The company did not provide the code despite repeated requests, so a legal case was the only way. It was filed in 2002 by AFPA with the help of the FSF France, and has now come to an end with the judge ruling against Edu4.

This is yet another win for the GPL in a long history of, well, wins. The GPL has consistently been held up in courts in various different countries, so infringing upon it is simply not a wise idea. However, it’s technically not really correct to say that the GPL has been validated here, when actually, copyright has been validated.

And this brings me to the difference between an End User License Agreement and open source licenses like the GPL or the BSD licenses. I will try to explain it as clearly as I can by using a number of simple diagrams to illustrate what, exactly, it is that these documents do.

Let’s look at the first diagram, which portrays the rights developers/distributors and users have when a work falls under default copyright. Of course, copyright differs per jurisdiction, but keep in mind this is an overly simplified view on these matters. As you can see, the diagram makes the distinction between “user” and “developer/distributor”. While these two often overlap, I think we can all agree on the relatively arbitrary distinction between the two. A developer wants to modify code – a user does not. A distributor wants to massively distribute a work to a large group of people, a user does not.


Copyright.

The green bar signifies the rights you have as either a developer/distributor or as a user. A developer/distributor has basically no rights under default copyright, as any form of alteration and distribution is pretty much prohibited without consent from the rightsholder. As a user, however, you have a few more rights; for instance, you may make personal backups. As such, the green bar is longer on the user side.

Now, let’s move to the GPL situation. The blue sections indicate the additional rights that the GPL grants both the user and the developer/distributor. As a user, you can make as many copies of a work as you like, and you may give it to as many friends as you like. As a distributor/developer, you can alter a work, modify it, and massively distribute it – as long as you license your derivative work under the GPL as well.


GPL.

And here you also see why when someone speaks of a “GPL violation”, they actually mean “copyright violation”. If you do not abide by the terms of the GPL (in this case, releasing the source code upon request) you also dismiss the additional rights granted to you by the GPL, and as such, “fall back” upon default copyright – which prohibits unauthorised redistribution. In other words, you violate the copyright of the GPL’d work, and can (and will) be sued.

Before we start talking about EULAs, let’s look at the diagram for the BSD-type licenses. As you can see, the BSD license is very similar to the GPL, but there is an extra blue section on the developer/distributor side. This extra block is the reciprocal nature of the GPL; the copyleft concept of the GPL can only be seen as a restriction when looked upon from the perspective of more permissive licenses such as the BSD license. The BSD license does not ask of you to license it under the same license, and as such, is less restrictive for developers/distributors.


BSD.

Now, moving on to the concept of the EULA, you can see in the diagram that an EULA works in a completely different manner. Whereas open source licenses grant rights you normally would not have under default copyright, an EULA takes rights away you would normally have under default copyright (the red section). For instance, Apple restricts the use of Mac OS X to “Apple labelled computers”. Default copyright doesn’t really care how you use your software, but Apple does, so they have to impose these restrictions.


EULA.

This is the crucial difference between open source licenses and EULAs (or SLAs or whatever other fancy term lawyers come up with). One removes restrictions, the other adds them. While any court case regarding GPL violation can count on the solid foundation of copyright, EULA court cases will have to rely on a whole number of different, wonky factors that may go either way – past-sale restrictions, how to enter into a contract, is it binding, signature, and so on, and so forth.

As a result, GPL court cases have all (as far as I know) been ruled in favour of the GPL, whereas EULA court cases have sometimes been ruled in favour and sometimes against EULAs. GPL: clear-cut. Abide, or lose in court. EULA: muddy. You never really know where you’ll land.

51 Comments

  1. 2009-09-25 2:10 pm
  2. 2009-09-25 2:16 pm
    • 2009-09-26 12:07 pm
  3. 2009-09-25 2:27 pm
    • 2009-09-25 2:31 pm
      • 2009-09-25 3:52 pm
        • 2009-09-25 4:03 pm
          • 2009-09-25 4:08 pm
      • 2009-09-26 1:16 pm
    • 2009-09-25 7:04 pm
  4. 2009-09-25 2:31 pm
  5. 2009-09-25 2:59 pm
  6. 2009-09-25 3:25 pm
    • 2009-09-25 3:39 pm
    • 2009-09-25 3:45 pm
      • 2009-09-27 9:20 am
    • 2009-09-25 11:57 pm
    • 2009-09-26 1:27 pm
      • 2009-09-26 1:34 pm
    • 2009-09-28 4:49 pm
    • 2009-09-30 2:38 am
  7. 2009-09-25 4:57 pm
    • 2009-09-25 7:51 pm
  8. 2009-09-25 5:58 pm
    • 2009-09-25 8:00 pm
      • 2009-09-26 12:00 pm
        • 2009-09-26 9:40 pm
          • 2009-09-27 8:47 am
    • 2009-09-28 5:06 pm
      • 2009-09-28 8:19 pm
        • 2009-09-28 9:01 pm
          • 2009-09-28 9:37 pm
          • 2009-09-29 1:08 am
          • 2009-09-29 3:42 pm
          • 2009-09-29 8:18 pm
        • 2009-09-29 1:16 am
  9. 2009-09-26 3:02 am
  10. 2009-09-26 12:49 pm
  11. 2009-09-28 9:27 am
  12. 2009-09-28 12:05 pm
    • 2009-09-28 12:45 pm
      • 2009-09-28 1:29 pm
        • 2009-09-28 2:04 pm
          • 2009-09-28 2:20 pm
          • 2009-09-28 2:48 pm
          • 2009-09-28 3:06 pm
          • 2009-09-29 1:59 am
          • 2009-09-29 5:48 am
        • 2009-09-28 3:34 pm
          • 2009-09-29 5:32 am