Slashdot Mirror


GPLv2 and GPLv3 Coexisting In the Same Project?

cyclop writes "I am coding a data analysis application in my laboratory that I would like to release as free (as in freedom) software. Moreover I am going to begin a small OSS game that will be based, in part, on GPLv2 libraries. Problem is: in both cases, I'd like to be able to exchange code both with GPLv2 and (future) GPLv3 projects. I have no particular passions about either license — only thing is I don't want BSD-style 'do anything you want' licensing but a copyleft license. I know that GPLv2 and GPLv3 are not compatible. What can I do? Double licensing? Is there a compatible-with-both license? Adding exceptions? What do you think is the best way to address the GPLv2-to-GPLv3 transition without ending up on one or the other side of the barricade?"

5 of 116 comments (clear)

  1. How many binaries involved? by Penguinisto · · Score: 3, Insightful
    If there's more than one, you can license each binary under whatever license you want, with the libs under LGPL if it floats your boat.

    OR... you can use Trolltech's licensing scheme (OSS projects get to use it free, commercial ones have to pay up licensing fees).

    I like either GPL version, but if you're not too hung-up on using GPL, http://www.opensource.org/ has a whole array of open-source offically-sanctioned licensing - one of those may fit your needs better. (cue RMS fans w/ mod points stampeding in protest, but seriously; if it does the job, use it).

    The beauty of this is, it's all up to you how you want to handle it.

    /P

    --
    Quo usque tandem abutere, Nimbus, patientia nostra?
  2. Re:Fork the libraries by Anonymous Coward · · Score: 1, Insightful

    GPLv2 allows you to do what you want with the code as long as you allow access to the source. Those items under LGPLv2 and GPLv2 you care to use, just fork them and maintain separate branches of development. For your own developed code, put it under whatever license you want. You want to allow folks to feed back changes to you, fine, add the license terms to the project in whole (maybe editorial copyright is implied here) that allows you and your group et. al. to restrict changes folded back into the main line. The downside is you'll be responsible for future maintenance of the forked code, and you risk someone forking your code. But you can reduce the risk of redistribution by restriction of the work you do, causing the folks who want the source to pull it from you based on your license terms. For a good example of dealing with multiple licenses for the same code take a look at MySQL...

    *bzzt* If you link against GPLv2 code, then you are required to distribute the whole under the GPLv2. And if you link against GPLv3 code, then you are required to distribute the whole under the GPLv3. Simply keeping the source open and available isn't sufficient. You can fork the libraries all you like, but you still can't combine your fork with code written under another license and then legally distribute the end product.

    MySQL is a special situation, because they own the copyright on all the code, giving them the legal right to relicense it under whatever terms they feel like. If you want to incorporate third-party code into your project, you don't have that luxury.

    The original question is a little vague, but it sounds like (s)he wants to link against third-party GPLv2 code today, and later incorporate other third-party GPLv3 into the project. If you do that, you can't distribute the end result under any circumstances, since there's no way to simultaneously satisfy the requirements of both the GPLv2 and GPLv3. (Unless, of course, the GPLv2 code includes the "or ... any future version" clause, in which case you can legally distribute the whole codebase under the GPLv3.)

  3. What misinformation? by Mostly+a+lurker · · Score: 2, Insightful

    It is a fact that you will not be able to mix code distributed under GPLv2 without the "or later version" option and code licensed under GPLv3 in the same program. How much of a problem this turns out to be in practice is as yet unknown. However, it is not misinformation to point out that a real issue may exist.

  4. Simply ignore it. by IGnatius+T+Foobar · · Score: 3, Insightful

    Seriously, who's going to sue who over this? Ignore the differences between v2 and v3 and mix it up at will. In the extremely unlikely event that someone complains, call it a "bundle" and let the licenses exist on their own.

    Pedantry has no place in this kind of thing.

    --
    Tired of FB/Google censorship? Visit UNCENSORED!
  5. Re:Can you do both at the same time?? by DrJimbo · · Score: 3, Insightful

    The patents in question for example may be third party ones I can't freely license even if I wanted to.
    Third party patents are not affected by the GPL. It is not magical.

    And Linus wants to keep his keys private so he can differentiate between code provided by a trusted party and an untrusted one.
    Torvalds would be able to keep his private signing keys private even with the GPLv3. This FUD was debunked over a year ago. As long as he isn't trying to use his private key to control what GPLv3 software other people can run on their own hardware, he's fine.

    It seems that you're arguing for the essentially elitist and undemocratic idea that a small group of experts should be responsible for deciding what improvements to make, and anyone that disagrees is either dumb or worse dishonest.
    Are you sure you are in the right thread? It seems you are implying that the extremely open process of crafting and refining the lastest version of the GPL was somehow elitist. It was, in fact, one of the most open processes in the history of mankind. The FSF went on a world tour telling anybody and everybody who would listen about their ideas for the new license. The had an interactive version of the license online where anybody could post comments linked directly to any word or phrase in the license and everybody could see all the posted comments. They also encouraged people to email comments. All comments were read and considered by a bunch of committees that were composed of basically everyone who was at all interested in participating.

    My calling people who disagree with the GPLv3 "dumb or dishonest" seems to be a figment of your imagination. I've always insisted that people are free to use whatever license they want for their own code. I haven't called them dumb or dishonest for making that choice.

    Lots of big companies would work with GPL2 but can't accept GPL3.
    SUN and IBM seem happy with the GPLv3. TiVo is not happy because they won't be able to use GPLv3 code without passing on the four freedoms and Microsoft seems horrified by the GPLv3. The GPLv3 does a better job at enforcing freedom. People or corporations who are against freedom will be against the GPLv3. That's fine. But even if a lot of corporations (besides TiVo and Microsoft) were against the GPLv3 I don't think it would be wise to amend it just to cater to them. Most of our world now seems to cater to the large corporations: the mass media is corporate controlled; and even the Congress and the president (both parties) seem to be controlled by the corporations. Would it be such a sin to have one tiny little corner of the world that does not kowtow to the corporations? Free software should not be neutered in order to cater to the whims of people who don't want software to be free.

    And it's absurd for deveopers to leave in the "version X or later" clause when GPL4 or GPL5 may allow end users of the software to make demands on them which they may not legally be able to meet.
    No license or contract can force someone to break the law. If you distrust the FSF so much then you shouldn't use the "any later version" clause in your licenses. That's fine. That's your choice. If you are part of a massive project involving many developers then license upgrades will be difficult, perhaps even impossible. I chose to trust the FSF so I kept the "any later version" clause when I licensed my software. That is my choice. I gave up some control in exchange for an easier upgrade path especially for other people who might want to use some of my code in a new project.

    --
    We don't see the world as it is, we see it as we are.
    -- Anais Nin