http://www.physorg.com/news95078593.html
Review the relevant law:
I publish something. Say it happens to be the source code of a program. Publishing it does extend to the readers certain fair use rights, but those rights do not include either the right to re-publish (ergo, distribute) any substantial part.
And fair use does _not_ include the right to claim dibs on it, make back room deals concerning it, or even patent some technological invention embodied by (parts of) the program the source describes.
If you want to patent something in it, you"d better be able to prove you had invented it before I published it, and probably before the earliest date my source code control system and/or notes show I invented it. Once it"s published, it"s prior art to anything not (provably) invented before.
And what if it turns out you have a patent on something in my source code? Well, you can tell me so, and then I don"t even have the right to use my source code any more, and I maybe the court tells me I have to tell everyone so. Maybe you can even take me to court, prove bad faith on my part and get damages. But if I am barred from using my source code, so are you. Your invention is still yours, and my program is still mine, barring some explicit agreement to the contrary.
What changes if I declare it licensed under the GPL? Not much. Still no back room deals, no claiming dibs, no patenting after-the-fact. The only additional privileges or rights are (1) your rights to use the program without publishing it are made explicit, and (2) you now have the right to publish it yourself, provided you don"t try to claim it as your own or otherwise interfere with anyone else"s rights under the same license.
But what if I publish it under the GPL and you have a patent on something in it? I have to go tell everybody the GPL license was not valid. And nobody at all has any right to use it, not even you, not even me. You can still use your patent, but you cannot use my source code under the GPL.
Unless, of course, you decide to let _everyone_ use your patent with my source code under the GPL. You don"t have to extend any broader right to use your patent, but if you allow everyone the right to use it with my source code, then everyone can use my source code after that.
Or I could perhaps tell you that you and you alone can use my source code, but why would I do that?
Oh, and there is one more possibility, and that is, if I remove the code that implements your patented technology, you have no more claim, and everyone can use my program sans your patented stuff.
GPL v. 2 (the one currently in common use) has a clause that prevents you from even _indirectly_ attempting to refuse to let other people pass it in under the GPL. Essentially, there is a gentlemen"s agreement between those who use my program not to attempt to steal it, even indirectly. Except that the gentlemen"s agreement is a contract in this case.
This is where Novell screwed up.
Sure, Microsoft can _unilaterally_ declare that any user of SuSE has some protection from suits relative to their patents, but only as long as they don"t use my source code _at_ _all_. None. Never. Well, okay, they might still be allowed fair use, but I might even be able to get an injunction. Because, by promising only a subset of users such protection, they are barring themselves from meeting the conditions of the GPL.
The only thing Microsoft can legally do is disclose their patent claims and then everybody is prevented from using the patented technology parts until the technology is written out of the programs. Anything else is quite probably tortious interference on their part.
And if Novell makes any claim about such a unilateral assurance other than disclaimer, they lose their rights to use or publish (distribute) under the GPL, because the GPL v. 2 precludes indirect methods of trying such things.
I don"t like GPL v. 3 because I am aware than anytime someone tries to close loopholes, more holes tend to open up. Also, because the indirection clause is there, it seems unnecessary to me to try to close it be rewriting the contract. Just take Novell to court. And maybe Microsoft, for trying to alter, indirectly, a contract they have made themselves a non-party to.
Speaking of which, if I see my code in Novell"s distributions, I _will_ take them to court. I"m thinking of going after them for attempting spoliation of the GPL, anyway.
joudanzuki