Stories
Slash Boxes
Comments

News for nerds, stuff that matters

Slashdot Log In

Log In

Create Account  |  Retrieve Password

A Case Study In GPLv2 / GPLv3 Compatibility

Posted by kdawson on Sun Sep 30, 2007 03:25 PM
from the growing-pains dept.
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 :-)
+ -
story

Related Stories

[+] Samba Adopts GPLv3 For Future Releases 219 comments
Jeremy Allison - Sam writes with news that the Samba Team has decided to adopt the GPLv3 and LGPLv3 licenses for all future releases of Samba. Follow the link for a FAQ addressed to Samba developers and contributors. "To allow people to distinguish which Samba version is released with the new GPLv3 license, we are updating our next version release number. The next planned version release was to be 3.0.26, this will now be renumbered so the GPLv3 version release will be 3.2.0. To be clear, all versions of Samba numbered 3.2 and later will be under the GPLv3, all versions of Samba numbered 3.0.x and before remain under the GPLv2."
This discussion has been archived. No new comments can be posted.
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
 Full
 Abbreviated
 Hidden
More
Loading... please wait.
  • Non-issue (Score:5, Interesting)

    by Raul654 (453029) on Sunday September 30 2007, @03:30PM (#20803633) Homepage
    How is this an issue? If KDE2 uses the GPL2, it clearly says "or any future version", which makes it forward compatible with the GPL3, which means it can be mixed with other GPL3 software. I see nothing in the linked article that contradicts this.
    • It can be, however any version with GPLv3 code is no longer GPLv2 compliant- the moment you mix you become GPLv3 only until it's removed. The problem is KDE doesn't want to move to GPLv3 only.
      • Re:Non-issue (Score:5, Insightful)

        by Raul654 (453029) on Sunday September 30 2007, @03:39PM (#20803705) Homepage
        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.
          • by grcumb (781340) on Sunday September 30 2007, @05:32PM (#20804353) Homepage Journal

            Most open source developers work a full-time job elsewhere, and have a very limited amount of time to contribute to their open source projects of choice.

            Where did you get that datum? I think if you read any decent analysis, you'll find that the vast majority of code in active FOSS projects is written by programmers paid to do so. This means that project leaders, i.e. the ones who invest the most in the project have every incentive to think long and carefully about the future of their project, because it affects their professional future, too.

            The one solution I see is to just avoid the GPL family of licenses.

            You only see that one solution because you haven't done your analysis properly.

            There are very good reasons why more FOSS developers choose the GPL than all the other licenses combined [dwheeler.com]. Perhaps you should investigate those reasons before discarding it as a nuisance.

            • Re: (Score:3, Insightful)

              by Anonymous Coward
              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 abou
              • Re: (Score:3, Informative)

                FWIW, I don;t know if the LedgerSMB project is typical or not, but....
                Every individual on our core team except one does paid work on the project. We also do unpaid work as well. Most of our contributions also come from people create the work in the course of either employment or consulting contracts. I know that two of our core members (out of six) are employed in positions where development of LedgerSMB is not a duty.

                So at least in my experience with one project, I would say that between 80 and 90 perce
                • (I am not keeping anything secret.)

                  However, there are two basic premises:

                  1) In today's market, one cannot compete with Free. Hence closed source versions are only viable if they are competing with your competitors' closed source products primarily. Note that every proprietary PostgreSQL spinoff has died if its primary goal was to compete with the Free version. The only 2 that have survived are primarily targetting specific markets held by Oracle and DB2. (Arguably, even SunOS wasn;t really aimed at co
                  • 3) The worst punishment to any project (open source or not) which uses your code is to have an incompatible and adequate replacement for their value added features. This drastically increases the cost of maintenance and usually forces them to either contribute or forego future enhancements.

                    Thats not always legally possible though. For a hypothetical example, lets say you wrote some special music managing software that did plenty of neat and innovative tricks, and released it bsd.

                    Now Apple comes along and re

      • Re: (Score:3, Informative)

        Nope, the problem is Qt being GPL2 only, so KDE is unable to use GPL3 OpenChange code, because any resulting binary won't be legally redistributable.
        • Re:Non-issue (Score:5, Interesting)

          by kripkenstein (913150) on Monday October 01 2007, @12:59AM (#20807079) Homepage

          Nope, the problem is Qt being GPL2 only, so KDE is unable to use GPL3 OpenChange code, because any resulting binary won't be legally redistributable.
          Exactly. Qt is GPL2 only, so KDE needs to be GPL2 as well (even if it were 'GPL2 or above', the effective license would be GPL2). This is a serious problem for Qt-based projects like KDE.

          It is precisely for this reason that a GUI platform should not be GPLed; it should be LGPLed (which GTK/GNOME is, in the relevant portions). And also precisely for this reason that the Linux kernel, while GPL, is effectively LGPL for code in userspace according to their interpretation. Otherwise, the kernel would have this exact same problem - you wouldn't be able to run Samba on it.
    • Re:Non-issue (Score:5, Insightful)

      by stevenvi (779021) <stevenvi@y[ ]o.com ['aho' in gap]> on Sunday September 30 2007, @03:36PM (#20803663) Homepage
      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.
      • Re:Non-issue (Score:4, Informative)

        by the_brobdingnagian (917699) on Sunday September 30 2007, @04:18PM (#20803935) Homepage
        Every line in the GPL is optional for developers. You can release your code with any license you want, including one you made up yourself. I can not understand why anyone would want to release their code with a "or any future version" clause. With this clause, you give away all control of the content of the license. If RMS suddenly decides the BSD license is great and writes a GPL4 with the contents of the BSD license, your code is BSD licensed too.
          • Re:Non-issue (Score:5, Informative)

            by the_brobdingnagian (917699) on Sunday September 30 2007, @05:03PM (#20804215) Homepage
            The GPL is copyrighted, but you CAN modify it. You just don't have the right to call it the GPL if you modify the licence.

            Can I modify the GPL and make a modified license?
            You can use the GPL terms (possibly modified) in another license provided that you call your license by another name and do not include the GPL preamble, and provided you modify the instructions-for-use at the end enough to make it clearly different in wording and not mention GNU (though the actual procedure you describe may be similar).
            ......
            From: http://www.gnu.org/licenses/gpl-faq.html#ModifyGPL [gnu.org]
      • 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

        • Re: (Score:3, Interesting)

          This is silly. The GPLv3 is very different from the GPLv2 "in spirit", but no one is calling foul on it, nor would it be easy to defend in court. The GPLv3, for the first time, departs from the "share and share alike" nature of the source code and attempts to dictate what hardware it should be allowed to run on and what hardware makers are allowed to do. This is not in the same spirit as GPLv2, which is about software freedom. RMS changed his mind, then managed to sell it to people as "closing loopholes
          • Re: (Score:3, Informative)

            "The GPLv3, for the first time, departs from the "share and share alike" nature of the source code and attempts to dictate what hardware it should be allowed to run on and what hardware makers are allowed to do with the code they don't own"

            Fixed it for you, but I uess that GPLv2 did the same.

    • 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
      • If there is an issue that keeps KDE from going into GPLv3, then there is an issue that would keep anyone from moving it there. The GPLv3 also says that you need to certify the patents are usable by everyone and to some extent you take on the liability of doing to. So when you take something that cannot legally be moved to GPLv3 by the original authors, it would be much the same with anyone else wanting to do so. Unless they are willing to ignore the terms of the GPLv3, but that would just create a bunch of
      • I doubt you will be running into real trouble, In the example given:

        KDE seems to have the (or a later version) in 3 header files I looked up. They still have the option to use a gplv2 version of samba.

        And even then if you think your software is that important you can still contact the author of the gplv2 file you want to link/include in your gplv3 code and ask for special permission to include it in your project.
        • Re:Non-issue (Score:5, Informative)

          by phantomlord (38815) <phantoml@@@rochester...rr...com> on Sunday September 30 2007, @04:24PM (#20803969) Journal
          On Gentoo

          grep "version 2" /usr/kde/3.5/include/* | wc
          393 4848 40829
          grep "version 2" /usr/kde/3.5/include/* | grep "later version" | wc
          217 2878 22629
          So, it would seem that 217 files are GPL2+ and and 176 GPL2(only) as far as KDE is concerned. However, KDE is built on QT which is licensed as

          grep "version 2" /usr/include/qt4/Qt*/* | wc
          994 10962 104446
          grep "version 2" /usr/include/qt4/Qt*/* | grep "later version" | wc
          0 0 0
          So it would seem that QT is GPL2 only. A quick scan of a couple header files notes that

          ** This file may be used under the terms of the GNU General Public
          ** License version 2.0 as published by the Free Software Foundation
          ** and appearing in the file LICENSE.GPL included in the packaging of
          ** this file. Please review the following information to ensure GNU
          ** General Public Licensing requirements will be met:
          ** http://trolltech.com/products/qt/licenses/licensing/opensource/ [trolltech.com]
          So... if you can somehow mix the KDE parts that are GPL2+ without using the QT library at all and without using the KDE parts that are GPL2(only), you're safe to mix GPL3 code with KDE. Good luck with that, though.
      • Re: (Score:3, Interesting)

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

        Almost right. In legal English, "or" means exclusive or. So, when it says "or any future version" it means you get to pick a single version. Thus, if GPLv2 allows X an
    • Re: (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.
      • Having to maintain and update a separate version of a library, especially one as large as samba, is hardly what I would call a "non-issue."
    • Re: (Score:2, Informative)

      No.
      "Or any future version" clause means the code can be forked and "the later version" license assigned. Existing code is never automatically license-upgraded ( I know it is not a word)

      I do not think anybody will be interested in forking big projects unless they have the backing of a large group/any company.

      That said, I think it is a non issue in this case as long as they do not intend to change Samba or KDE code in anyway.
    • Re: (Score:3, Informative)

      Actually, the problem lies not with KDE. The core KDE Libraries are actually LGPL (parts even use some BSD license), which should be pretty compatible with the GPLv3. Just like many KDE programs are actually GPLv2+. The 'problem' is that as of yet, Qt has been licensed under GPLv2 only (and slightly more, they allow linking with a selection of other free software licenses as well, as far as I know). Which in turn makes all KDE applications linking with Qt GPLv2 at run-time. The obvious reason would be that
  • by Anonymous Coward
    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 softw
    • by Xenographic (557057) on Sunday September 30 2007, @04:36PM (#20804051) Homepage Journal
      > 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 [gnu.org] 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?
      • Re: (Score:3, 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
    • by vertinox (846076) on Sunday September 30 2007, @04:53PM (#20804159)
      I'm not going to burden them with the many questions the GPLv2 and GPLv3 raise.

      GPL is designed to give Freedom to the 3rd person in the chain of development. BSD only gives freedom to the second person in the chain, but he can restrict the 3rd person's freedom if they so choose. The 1st person is of course the original developer and he can do whatever he pleases regardless of license.

      Hence, with BSD your code is only free to the first two persons and even though the 2nd person can be generous and release his changes in BSD to the 3rd... The 3rd is still free to restrict the freedoms of the fourth and so on.

      GPLv3 makes sure you can't take away freedom at any point in the chain of development of anyone else that comes after you.
        • Re: (Score:3, 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.
          • Re: (Score:3, 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
            • by stony3k (709718) <stony3k.gmail@com> on Sunday September 30 2007, @08:46PM (#20805603) Homepage
              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.
              • 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...
              • Re: (Score:3, 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
          • Re: (Score:3, Informative)

            That's a separate issue though. You can put a warranty disclaimer, independent of whether you put conditions on distribution, or release it into the public domain.

            Without a condition that says not to remove the warranty, you would be setting yourself up for legal disaster. I wish it weren't the case, but that's the reality we live in.

            One could also have a licence saying you can do what you like (e.g., WTFPL as the other commenter pointed out).

            That is essentially what the BSD, MIT and similar licenses do. On
  • GPL X Confusion (Score:3, Insightful)

    by WED Fan (911325) <`ten.liamhsart' `ta' `egihaka'> on Sunday September 30 2007, @03:39PM (#20803713) Homepage Journal
    It is this kind of confusion that could lead to many great ideas to be stillborn. But, maybe that is the point.
  • by Dlugar (124619) on Sunday September 30 2007, @03:40PM (#20803721) Homepage
    I dislike the GPLv3, [indessed.com] 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
    • As I understand it, the GPLv3 is actually much more compatible with other Open Source licenses than the GPLv2 was. I honestly don't know of anything I would consider a downside to the GPLv3. I think it's all around a better license than the GPLv2.

      • As I understand it, the GPLv3 is actually much more compatible with other Open Source licenses than the GPLv2 was.

        Are there any it's compatible with that the GPLv2 isn't, that v3 doesn't have a special exception for? That would be news to me.

        I honestly don't know of anything I would consider a downside to the GPLv3. I think it's all around a better license than the GPLv2.

        I think the biggest downside to the GPLv3 is for those who simply want to protect the four freedoms [gnu.org], and don't feel like a general-purpose

          • by Dlugar (124619) on Sunday September 30 2007, @05:11PM (#20804255) Homepage

            Er... how does this fall in line with your previous "I'm much more in the BSD camp" sentence? The "GPL is Evil!" is not something that has been uttered only since the GPLv3 but at least since the early 90's when BSD appeared in it's free form. Since you talked about patent protection being something that should be out of scope of a licence I don't think the GPL (v2 or v3) is really the ideal licence for you, but then again you are the one who own your code and I'm sure you know what licence you prefer (perhaps there are probably other reasons for your choosing the GPLv2 that you didn't mention).
            Sorry, I was being unclear. I meant that I felt that patent retaliation [gnu.org] clauses should be out of scope for a general-purpose software license.

            My requirements for a software license center around Stallman's original Four Freedoms [gnu.org]. Any software I write I want to have those four freedoms protected, both for what I distribute as well as derivative works, but have no other restrictions, either for developers or users.

            The GPLv3, I feel, unnecessarily limits Freedom 0, as well as containing additional clauses that do more than protect the four freedoms. The BSD license doesn't preserve these freedoms for derivative works, so it's not my ideal license either. The patent clauses of GPLv2 simply say, "any patent must be licensed for everyone's free use or not licensed at all", which adequately protects the four freedoms, but doesn't make any further restrictions. It's not what I would call an "anti-patent" provision in the same sense as the GPLv3.

            Regarding DRM: it is impossible, in my opinion, for DRM to infringe upon the Four Freedoms in a software sense. Software-based DRM cannot prevent users from exercising any of their Four Freedoms, because since they have access to the source code, they can simply remove the DRM portions of the software. For DRM to work at all with open-source software, the DRM must be entirely hardware-based, and, in every case, that exact software will run on modified or alternate hardware. Thus, I believe anti-DRM provisions are out of scope for a software license, because it attempts to dictate what sort of hardware you are allowed to distribute with your software.

            What it really comes down to for me is the four freedoms: anything the license does that is above and beyond those four freedoms is something I don't want. Any of the four freedoms it fails to protect is a deficiency. And that's why I've chosen the GPLv2 for my software.

            Dlugar
              • by Dlugar (124619) on Sunday September 30 2007, @07:17PM (#20804951) Homepage

                Tivoization clearly infringes on the first freedom as it prevents you from running the program for certain purposes.
                I disagree. Tivoization is a modification to hardware that makes the hardware incapable of running certain code. But it doesn't really have anything to do with the software at all.

                I could construct a piece of hardware that will only run an unmodified RHEL3 image, but never actually distribute that image myself. By building and selling that piece of hardware, have I somehow removed any freedoms of all the people running RHEL3? Not at all. They still have access to the source code, they can modify it and distribute their modifications, they can run the code for whatever purposes they want, etc. The only restriction is to the hardware, not the software. Furthermore, there may be very legitimate reasons why somebody might want to ship a piece of crippled hardware that can only run a single image. Even the FSF has recognized that in their DRM exceptions in the GPLv3.

                I could agree that some people might interpret Tivoization as an infringement of the first freedom, but a statement so strong as "clearly infringes" I have to disagree with.

                Dlugar
          • by Dlugar (124619) on Sunday September 30 2007, @05:17PM (#20804293) Homepage

            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 [gnu.org] clauses, or other restrictions that aren't present in v2.

            Dlugar
      • The GPL v2 required that dependencies have their source available. Because there was no requirement to release the entire corresponding source as a single work, dependencies could have arbitrary licenses provided that the source was redistributed.

        The GPL v3 requires that the corresponding source is distributed as a single work, under the GPL v3, which means that all dependencies part of that work (defined in section 1) must be GPL v3 compatible.

        Now, the real killer is Section 7, Paragraph 2, which states t
  • by EvilRyry (1025309) on Sunday September 30 2007, @03:47PM (#20803757) Journal
    The poster missed out on half of the introduction to OpenChange. Since most people won't visit the website, I'll fill in the blank.

    OpenChange is basically the Samba of Exchange. It aims to provide both a library to be used in clients (as mentioned), and also provide a drop in replacement for Microsoft Exchange server.

    Personally, I'm a bit weary of the project. Although it would be nice to have an open source server thats natively compatible with Outlook, and provides an easy transition off of Microsoft products, I'd much rather see a real Open standard take hold rather than turning MAPI into a pseudo standard like Samba has done to CIFS and is doing with Active Directory. Perhaps this is the best that can be done considering how entrenched Microsoft Exchange/Outlook has become in many companies.
    • What you really need, is a modular server which supports both a standard protocol and one (or more) proprietary ones...
      That way people can wean themselves off the proprietary protocols gradually, while moving to a standard one.
  • by DanShearer (7067) * on Monday October 01 2007, @03:58AM (#20807849) Homepage
    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 understand 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 (http://gpl3.palamida.com:8080/index.jsp) 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 :-)
    • Re:Linus is right (Score:5, Insightful)

      by EzInKy (115248) on Sunday September 30 2007, @05:10PM (#20804249)

      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.
       
      • Re: (Score:3, Informative)

        Personally I suspect that those who do adopt it don't understand the license.

        Heck, I don;t think anyone understands the license. The large, nasty surprise is that Paragraph 2 of section 7 pretty much makes the license incompatible with every other license which doesn't have a clause authorizing sublicensing under the exact terms of the GPL v3. It *might* even be the case that GPL v3 + linking exceptions might be incompatible with generic GPL v3...
        • Re:Linus is right (Score:4, Insightful)

          by PSargent (188923) on Sunday September 30 2007, @07:24PM (#20804991)

          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.
        • Re: (Score:3, Interesting)

          I think one of the arguments that it comes down to is that when you create a binary you end up including code that is in the includes and that code goes into the final binaries. So any binary that uses a GPL header file gets contaminated with GPL code. Of course that arguments kind of falls apart as soon as you might have a include without macros or inline function or a language that doesn't have includes in the first place. So the GPL kind of only works fully with C-like languages and even then not always.