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?"
the issue does not seem as simple to most the developers that I know. Anyone coming from the world of proprietary code is used to a very simple system of cooperation: pay for rights.
Numerous developers see the GPL licensing issues as a lot more complex than they actually are... but that does not change the fact that there are issues to consider.
Easy example: I wanted to use some custom GUI components to enhance the look of an app, but have no experience in that realm, and no time or inclination to get experienced. It took me a week of sampling packages from proprietary vendors to choose one. Then another week to decide whether to pay the low price for the right to redistribute, or the high price to actually have the code & rights to modify. Easy. What do I want? how important is access to the code? Pay. Done.
Doing the same thing with GPL code would have required me to review licenses already involved in my project, and my future plans for the project (would I have to excise large portions of code if my business model needs to change to be successful... or if someone wants to purchase my already successful company and change the business model?).
Anyhow, the GPL is very good at what it does, protecting code. But your simple statement that sums up the issues actually becomes complex in practice.
Regards.
Holy cow, I flipped out for a minute when I saw this. My dander went up and I felt the urge to fight for freedom everywhere and punish the blasphemer. Ignore the license? What the heck? How evil! How horrid! Breaking the license is a capital offense!
In my zeal to fight for the common good I had to consider for a moment who might be hurt and then my dander wilted. I have never personally known anyone who would be offended if their GPL2 code was used in a project by someone trying to use a slightly different license. Not one. I can't rule out the possibility but in the absolute worse case scenario you get a nasty letter that says "stop misusing my code" and you pull it and ask someone else to fill in the blank.
Back to the bat cave Robin, there is no evil here.
B) Eliminate all the stupid users. This is frowned upon by society.
Thanks for advice. Just a thing is obscure:
You can dual license, or multi-license specific files in your project so that they are compatible with other licenses you want them to be usable with, just don't forget to remove the other licenses from any files that you include someone else's GPL code in.
For what reason should I remove the other licenses from files where I include other GPL code? If it's N-licensed, and one of these licenses is GPL, technically I'm merging GPL code with GPL code, so where's the problem (assuming it's the same GPL version, of course)?
-- Patent no.123456: A way to personalize
I highly doubt that logic will hold up in court. In fact, the "or later" clause of the GPL itself has never been tested in court. In addition, I would be surprised if a huge number of free software projects don't fork over the GPLv2/v3 debacle, meaning you'll have two potentially incompatible versions of every library you use.
Incidentally, TiVo's use is NOT a "loophole". Back when GPLv2 was written, Stallman only seemed to care about how software was used. Now GPLv3 is trying to restrict people's use of HARDWARE as well. You can take TiVo's code, go build your own hardware, and use TiVo's code on it. But you can't use your own code on TiVo's hardware. I'm afraid I'm in the camp that thinks GPL has no business telling people what they can and can't do on their hardware.
E pluribus unum
And i dont know if its the "right" way, but i was confused enought with gplv2 without throwing gplv3 into the mix. So i did is remove all external code (unless it was things like libc) and stopped depending on libraries (as such). Where i couldnt get away with this i simple deleted anything i'd used from my project that was in my code tree and made the install notes say things like "download version 2.1.15 of open=excelent=app, and place it here".
;)
As i said, i have no idea if thats fair or just but im beginning to get the feeling that i need a lawyer for coding oss