Thursday, March 04, 2010

bitter epiphany about gpl

This week I had a bitter epiphany about GPL - it is not what I have believed it to be for 12 years and it doesn't protect my work from company M. that can take it, change it a little and sell it without distributing to everybody the changes.

It would have been ok if GPL forced company M. to distribute those changes to everybody.

Unfortunately, GPL doesn't do this. On the contrary:
  • if company M. chooses to distribute the modified code as source, nothing from section 5 of GPLv3 forces it to distribute the code to anybody else but those who pay for the code. 
  • if company M. chooses to distribute the modified code as binary, they can do so under the terms of 6a from GPLv3. Company M. doesn't have to give the changes to anybody else, because article 6 allows company M. to choose any of the available options.
An example of such a company is Montavista Linux. They have taken the Linux kernel and the GCC and modified it. They distribute the changed binaries only to those that buy Montavista Linux from them. Of course, they also distribute the modified sources to their customers.

When a friend of mine, a third-party, requested the modified sources, their reply was "show me your Montavista license and how did you obtain it".
    Some might say that all this is a false problem. That anybody that buys the sources from Montavista can distribute later the modified sources, without breaking any license agreement or law. That is true, but impractical because:
    • it would require somebody to buy a Montavista product every time they make a new release
    • Montavista could decide that, because you've posted the code in the past, your next license should be much more expencive
    • they might simply decide they don't want to sell to you once you've posted their changes
    I would be more than happy to be in the wrong regarding GPLv3 or Montavista.

    But until somebody can convince me of this, I will stop using GPLv3 and look for something else.

    My software is neither the Linux kernel, nor the GCC. They are small programs that I do in my spare time and that I want to share with other people. And I don't want to have some shameless company profit of my work.

    For the moment, the closest thing to what I want is Creative Commons Attribution Non-Commercial Share Alike. I have seen in many places, including on CC and FSF sites, that the above license should not be used for licensing software.

    But what other choice do I have?


    1. Mocanu Cristian3/05/2010 4:11 PM

      Daca eu iau programul tau si il modific de ce sa nu am voie sa il vand ? Asta inseamna free software. Altfel limitezi utilitatea programelor. Oricum chiar daca iti modifica cineva codul, tot va ramane sub licenta GPL.

      Eu sunt de acord cu ce zic astia:
      "you should be free to redistribute copies, either with or without modifications, either gratis or charging a fee for distribution, to anyone anywhere."

    2. Mocanu Cristian3/05/2010 4:26 PM

      De fapt am impresia ca tu interpretezi gresit "free software" adica software gratis. Inseamna de fapt software care ofera anumite libertati. Cum zic astia super bine: Think of ‘free speech,’ not ‘free beer’.

    3. Nu ai inteles nemultumirea mea: nu am nici o problema cu faptul ca tu vrei sa vinzi ce fac eu.

      Nemultumirea mea este ca tu poti sa vinzi ce fac eu, fara sa imi dai si mie modificarile pe care le-ai facut. GPL asta face.

      Daca tu decizi sa folosesti clauza 5 sau 6a din GPLv3, eu nu pot obtine modificarile tale decat daca:
      1. cumpar de la tine modificarile
      2. un cumparator de-al tau se indura de mine si imi da si mie modificarile primite de el de la tine

      Eu, creatorul original, nu am cum sa te fortez sa-mi dai modificarile tale daca tu decizi sa folosesti clauzele 5 sau 6a.