Slashdot Mirror


A Case Study In GPLv2 / GPLv3 Compatibility

An anonymous reader writes "A project called OpenChange is working to develop an open source client library for Microsoft Exchange. They are heavily dependent on Samba code for the underlying protocol support and have been forced to move to GPLv3 once Samba moved. This has gotten in the way of legally adding support to other software such as KDE, which is unwilling or unable to go GPLv3." It sounds like all the developers involved expect the GPLv2/GPLv3 issues to be resolved in time.

Update: 10/01 12:26 GMT by KD : Dan Shearer, of OpenChange and the Samba Team, wrote in to correct the anonymous submitter's mistaken implication that OpenChange moved reluctantly to GPLv3. Read on for his actual position.

I'm Dan Shearer of both the OpenChange project and the Samba Team, and I wrote the message on bacula-devel linked by anonymous' original post. I would like to correct the unfortunate impression given by anonymous that OpenChange has been reluctantly forced to change licenses because Samba has moved to the GPLv3. In fact, OpenChange see that the GPLv3 is entirely appropriate for Samba, and OpenChange plans to use the GPLv3 even when not necessarily required to do so by upstream licenses. The move to GPLv3 was one of two license changes we plan to announce on openchange.org in the next few days.

The specific issue highlighted in the post is not a general GPLv3/v2 incompatibility. Code which is licensed under the GPLv2 but no later version is incompatible with the GPLv3. There are a few significant examples of GPLv2-only code, including KDE as mentioned and also the Linux kernel, which cannot be linked to GPLv3 code. That is a matter of policy for those few projects. We would of course be delighted to be able to use their code as appropriate if they change their policy at some point, but we have no complaint if they do not choose to do so. The GPL offers many choices and this is one of them.

Most GPLv2 code includes the words "or any later version", which is a statement of trust by the licensor in the people who create those later versions. The GPLv3 was created as a community effort, a very large and representative community effort, and in that sense many people think that this trust has been maintained. Including the Samba Team and the OpenChange project. If you are unsure about this, go to archive.org and search for "Eben Moglen 2007", which will give you a choice of media and plain text for the summary talk in Edinburgh a day or two before the GPLv3 was released. We respect that there are different opinions on licensing including some who do not like the GPLv3, however it is indisputable that the GPLv3 is very much a community production rather than a statement from the FSF. That fact of community evolution supports the idea that the trust implied by "or any later version" has been maintained.

It might also be helpful to reflect on the history of OpenChange. OpenChange is an independent work from a team led by Julien Kerihuel built on the research and tools produced by the Samba Team. OpenChange has been the direct beneficiary of a lot of effort contributed by the Samba Team over the last four years. We strongly support Samba's use of the GPLv3 as being an appropriate response to the current legal environment.

The thread the anonymous poster linked to was in response to Kern Sibbald of the excellent Bacula project. Kern has his particular views, and we respect those views, but they are by no means general. (Readers may also like to read the entire thread on bacula-devel.) When we look at the numbers at Palamida we find many thousands of projects that OpenChange can link against, besides all the others with compatible licenses such as the Apache license. We don't feel very lonely :-)

5 of 239 comments (clear)

  1. Re:Non-issue by stevenvi · · Score: 5, Insightful

    The "or any future version" is optional for the developers. I have removed it from all of my software, as I do not want to license my code under rules which have not yet been written.

    That said, I have no clue if KDE includes that line or not.

  2. Re:Non-issue by Raul654 · · Score: 4, Insightful

    So the dependency tree looks like this:
    Samba --OpenChange -- KDE

    KDE operates on top of OpenChange, which operates on top of KDE. From the write up, OpenChange is "heavily dependent on Samba code for the underlying protocol support". So they mix in outside (Samba) code which changed license, and thus are forced to change the license. Fair enough - they want the free lunch, they have to use the license specified by the guy who wrote the code.

    What doesn't make any sense is that OpenChange cannot support KDE now. Of course they can. As long as they don't share any code, they can be licensed independently.

    --


    To make laws that man cannot, and will not obey, serves to bring all law into contempt.
    --E.C. Stanton
  3. Re:Linus is right by EzInKy · · Score: 4, Insightful


    Linus himself does not think GPLv3 is a good thing. So why do people keep adopting it.


    People are adopting gpl3 for some of the same reasons they adopted gpl2, which is to ensure that users are free to modify their software to suit their needs.

    --
    Time is what keeps everything from happening all at once.
  4. Re:Linus is right by PSargent · · Score: 4, Insightful

    But what if my need is to modify the software, and not redistribute the modified source code? Whoops, there goes the GPLv3, restricting my freedoms. ...and that is exactly what is intended. The same intention as GPLv2. Write it yourself if that's your intention.

    I'm amazed there are people out there thinking this kind of behaviour is fair game. Just because somebody makes their source available, doesn't mean they want you to pass off their work as your own.

    It really is very simple:

    BSD says "Do what you want. I don't care."
    GPLv2 says "You got the source, so should your customers."
    GPLv3 says "Stop jumping through loopholes! You got the source, so should your customers."
    Commercial licenses say "You want the source?!?! Go f*%$ yourself."

    Personally I would never BSD license any of my code. There are too many people in the world that will happily rip it off.
  5. Re:This is why I use FreeBSD. by stony3k · · Score: 4, Insightful

    The "second" person has made some changes which make the software better and it is now the de facto standard. if the "second" person now closes the source, this leaves the "third" person stranded. Having access to the original source code does not give him much, since he would now have to reinvent the second person's changes.

    I have always considered the BSD a libertarian license, in that it depends on individual goodness and doesn't try to impose any restrictions. The GPL on the other hand is more of a socialistic license in that it tries to impose the "greater good of the society" condition on downstream contributors. Which license you prefer very much depends on which philosophy you prefer.

    --
    Freedom is not worth having if it does not include the freedom to make mistakes. - Mahatma Gandhi