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 :-)

22 of 239 comments (clear)

  1. This is why I use FreeBSD. by Anonymous Coward · · Score: 2, Insightful

    This is the sort of reason why I use FreeBSD, and try my best to use BSD-, MIT-, or zlib-licensed software as much as possible. Even just as a user, I prefer the freedom and certainty that those licenses bring. Frankly, I don't need the hassle of unintentionally running afoul of the GPL.

    When it comes to the open source software that I develop and release, I always use the MIT license. That's just the safest thing for me to do, and the safest thing for those who want to use, modify and redistribute the software I've created. I'm not going to burden them with the many questions the GPLv2 and GPLv3 raise. I don't want them to have to read through pages and pages of legalese. I just want them to be able to use my software, modify it if they wish, and contribute back those changes (if they want to). The MIT license allows for that, and does so superbly.

    1. Re:This is why I use FreeBSD. by EzInKy · · Score: 2, Insightful


      I really don't want to tell the 2nd and 3rd person what to do.


      The problem is by not telling the 2nd person what to do you are not even giving the 3rd person a chance.

      --
      Time is what keeps everything from happening all at once.
    2. Re:This is why I use FreeBSD. by JohnBailey · · Score: 2, Insightful

      Because freedom has to be incomplete. Total freedom as a concept does not work. If I have the freedom to be alive, and I have the freedom to be dead, then how can I have the freedom to be both at the same time? And if I had the freedom to be in more than one state, It would conflict with the freedom to be in only one state.

      Mixing reality and semantics is counter productive.

      --
      It is difficult to get a man to understand something when his job depends on not understanding it.
    3. Re:This is why I use FreeBSD. by styrotech · · Score: 2, Insightful

      If the "3rd person" cared about their freedom to modify and redistribute the source, why would they get their software from a "2nd person" who was denying them that freedom?

      Surely a freedom loving "3rd person" would get the code from either the "1st person" or a freedom loving "2nd person" instead?

      This is why I find the FSF a bit patronising - trying to enforce freedoms on those that don't want them just seems a little too much to me.

      I would prefer that the ongoing freedom aspects were handled by education and that licenses for allowing modification and redistribution were kept simple and straight forward with as few side effects as possible. While the spirit of the GPL is relatively straight forward, the reality of how it works isn't and it shouldn't need endless debates and law professors constantly trying to clarify it.

      Being selfish and not sharing is a social problem not a legal or technical problem IMO. As geeks we appreciate simplicity, reusability and elegance in our code, so why don't we all appreciate it in our licenses as well?

    4. 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
    5. Re:This is why I use FreeBSD. by Goth+Biker+Babe · · Score: 2, Insightful

      Libertarian verse socialist is a good analogy and the reason why I publish using BSD licence. If the code is to be truly free then someone must have the right to modify it and close source it. Anything else is not free. I don't mind and I'm the author so why should anyone else? I am a libertarian in my politics too and currently can't stand the socialist nanny state the UK is turning in to...

    6. Re:This is why I use FreeBSD. by Kjella · · Score: 2, Insightful

      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.

      With the huge difference that socialism as a political system is compulsory, as a license it's voluntary. If you ask what's wrong with socialism, the usual answer is that you're paying for everyone else. You don't ever have to contribute any code, money, effort, taxes, fees or levys to use GPL'd software. The only restriction is that it's a community asset - you can't lock it up and if you wnat to improve it you must do so in a way that keeps it either a personal modification or a community asset.

      --
      Live today, because you never know what tomorrow brings
  2. 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.

  3. Re:Non-issue by fosterNutrition · · Score: 2, Insightful

    The issue is that the "future version" clause means that you can use the code under one version OR another, not that the newer versions supersede the old. In other words, if GPLv2 says doing X is okay but Y is not, and GPLv3 says X is bad, but Y is good, then you can use code licensed in that manner by doing X or Y (or both, or neither).

    The effect of this is that if a project is GPLv3 licensed (like Samba), you can't use it to do X just because GPLv2 says you can. What this means for the project is that they can't build in GPLv2 code, because it allows things that GPLv3 forbids - they would have to break the terms of the 3 version to properly support version 2.

  4. Re:Non-issue by modir · · Score: 3, Insightful

    I see another reason why this is a non issue. They can use an older version of samba which was released under GPLv2. They don't even need to switch to other libraries. If they want the can even fork samba.

  5. 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
  6. GPL X Confusion by WED+Fan · · Score: 2, Insightful

    It is this kind of confusion that could lead to many great ideas to be stillborn. But, maybe that is the point.

    --
    Politics is the art of looking for trouble, finding it everywhere, diagnosing it incorrectly and applying the wrong fix.
  7. Unwilling to move to GPLv3? by Dlugar · · Score: 2, Insightful

    I dislike the GPLv3, but I use GPLv2 for everything I write myself. I know there aren't many out there like me, but if there are enough, I think it might cause yet another regrettable split. Are the benefits of the GPLv3 over v2 (which seem very minimal if existant at all) worth the downsides? Only time will tell.

    Dlugar

    --
    Computer Go: Writing Software to Play the Ancient Game of Go
    1. Re:Unwilling to move to GPLv3? by Dlugar · · Score: 3, Insightful

      So why don't you use the usual trick of specifying GPLv2 or later? That way you don't force anybody into agreeing with the further restrictions of GPLv3 that they don't agree with, but you aren't needlessly incompatible with those people who do choose to use GPLv3.
      This is an intriguing idea, but I'll repeat my goals regarding software licenses: "Any software I write I want to have [Stallman's] four freedoms protected, both for what I distribute as well as derivative works, but have no other restrictions, either for developers or users."

      If someone were to take my code, and extend it with GPLv3-only code, then the derivative works would have more restrictions than Stallman's four freedoms, which is something I don't want to have happen. I would be unable to take their changes back, for example, and use them at a company who was worried about the patent retaliation clauses, or other restrictions that aren't present in v2.

      Dlugar
      --
      Computer Go: Writing Software to Play the Ancient Game of Go
  8. Why should they have to? by Anonymous Coward · · Score: 1, Insightful

    Sure, they could. But then we ask, why should they have to? And the answer is: solely because of legal shenanigans.

    It'd be one thing if there was a technological issue at play here. But it's not. The main problem here is completely a human-created problem. Here we have massive incompatibility between one version of a license and the next. And this is supposedly a license whose creators and advocates say is meant to encourage source code to be modified, used freely, and readily shared with the rest of the community.

    I sure hope that corporate CTOs and CIOs don't hear of this. This is the very thing that brings doubt into their minds, harms the adoption of OSS, and thus limits the contribution of changes back to the community. It makes me want to start licensing all of my software under the MIT license, where I know the terms are sensible.

  9. What does that have to do with USE? by Xenographic · · Score: 3, Insightful
    > Even just as a user, I prefer the freedom and certainty that those licenses bring. Frankly, I don't need the hassle of unintentionally running afoul of the GPL.

    Did you totally miss the part of the GPL that says it doesn't cover use? You can't run afoul of the GPL merely by using software.

    As the GPL puts it:

    9. Acceptance Not Required for Having Copies.

    You are not required to accept this License in order to receive or run a copy of the Program. Ancillary propagation of a covered work occurring solely as a consequence of using peer-to-peer transmission to receive a copy likewise does not require acceptance.

    > When it comes to the open source software that I develop and release, I always use the MIT license.

    And I thank you for that. I don't care what your motives, I appreciate those who share code.

    But please don't spread FUD about the GPL. Is that too much to ask?
    1. Re:What does that have to do with USE? by aminorex · · Score: 2, Insightful

      I don't see his concern as "FUD about the GPL". The presence of GPL software on my hard drive means that my hard drive is legally encumbered with complex social structures of highly unpredictable consequences. I can't freely use useful software components that I find on my system without performing an unconscionably time-consuming degree of research on the licensing strictures and the state-of-the-art in their legal interpretation -- at least not if I give a rat's sphincter about copyright law. And it's largely because of this that I've concluded life is far too short to be doling out rodent recta, and have abandoned all hope and intention of conforming with copyright law.

      --
      -I like my women like I like my tea: green-
  10. 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.
  11. Re:Why are developers wasting their time with this by Anonymous Coward · · Score: 3, Insightful

    You are arguing something different than the GP - you are saying that for any given line of code, the probability of it being written by a paid programmer is high, what he is saying is that the probability that a given FOSS programmer is paid is low. For example, if 5% of the people did 95% of the work, and those 5% were paid, then both of your claims are correct. I suspect it is probably something more like 10-25%, though not all paid, and 75-90%, but I no data to back that up. What he is concerned about is that for those who are only able to contribute a couple hours a week, spending even 15 minutes trying to figure out what license to release under, he will have lost 1/8th of his time. The ability to change the license away from original intent is quite troubling, as nice as it is to be able to maintain compatibility in licensing. This is similar to donors to foundations/universities wanting control of where their donations are used versus where the foundation/universities would like to spend their money. The catch here is that the university can replace general funds with donated and effectively remove the restrictions for most small and medium donations, whereas in the licenses, the restrictions and wishes of the creator are not removable.

  12. True, but irrelevant... by Xenographic · · Score: 2, Insightful

    Perhaps, but exactly what relevance does that have to this discussion?

    I mean, you know it's not at all the type of use I was talking about, and like you point out, even the FSF makes sure that it's not an actual problem in practice by using the LGPL for libraries.

    It's only natural for people to want to protect what's important to them. But why must we begrudge each other for protecting those rights most important to them? The GPL protects the end users, the BSD license protects the people using the code itself. There's no need to attribute evil motives to either side or to avoid running code simply because it's under the "wrong" license.

    Frankly, I find that just a bit silly.

  13. 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.
  14. Re:Non-issue by Black+Copter+Control · · Score: 2, 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. from the GPL:

    9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns.
    (emphasis mine)

    In other words, if RMS decides to make the GPL7 with a copy of the Microsoft Vista EULA (or even the BSDL) -- Not only could you renounce it as 'not GPL' as envisioned in the license, but you could conceivably sue him for breach of trust/contract.

    --
    OS Software is like love: The best way to make it grow is to give it away.