----------- Another threat to free software is from software patents. GPL2's section 7, which is now section 12, deals with one of these threats: the threat of a distributor signing a contract that gives it the patent licence for the software but in a limited way.
A few years ago, I realised that there were other ways software patents might be used to make software non-free, so we're designing GPL version 3 to block them too. For instance, one issue is, what if the developer of the software has a patent on it, or rather, has a patent on some particular computational technique used in the program. I made a terrible mistake when I said "has a patent on the program", that's not how patents work. I know better, and yet I still made this mistake. There's no such thing as a patent on a program, software patents don't work that way. Every software patent is a monopoly on a certain kind of technical funcationality or method. A program violates the patent if anywhere inside the program it implements that method or that functionality. The result is that one program can infringe any number of patents at the same time. Two years ago, a thorough study found that the kernel Linux infringed 283 different software patents, and that's just in the US. Of course, by now the number is probably different and might be higher. That is the only example of this kind of study, as far as I know. But probably any large program infringes hundreds of different patents at once. What if a distributor of the program has a patent on some computation inside the program and distributes the program to others, and when they try to redistribute, the patent holder says "We're going to sue you for patent infringement if you try". We didn't think this was an issue because in the US, when that company distributes the software under the GPL, they're telling people "We have no objections if you do what the GPL says you can do" and so if they tried to sue those same people for patent infringement later, they would lose. However, we found out that this is not true all around the World. So GPL version 3 carries an explicit patent licence which is following the lead of the Mozilla Public License. I think that was the first one which contained an explicit patent licence. Basically, all this says is that none of the people who distributed the program on it's path to reaching you can turn around and sue you for patent infringement on the patents that covered the code that passed through their hands. This is not as broad as it could possibly be, but it seems right because it's pretty much the same as the implicit patent licence that US law gives people. However, there's another way of using software patents to threaten the users which we have just seen an example. That is, the Novell-Microsoft deal. What has happened is, Microsoft has not given Novell a patent licence, and thus, section 7 of GPL version 2 does not come into play. Instead, Microsoft offered a patent licence that is rather limited to Novell's customers alone. It turns out that perhaps it's a good thing that Microsoft did this now, because we discovered that the text we had written for GPL version 3 would not have blocked this, but it's not too late and we're going to make sure that when GPL version 3 really comes out it will block such deals. We were already concerned about possibilities like this, namely, the possibility that a distributor might receive a patent licence which did not explicitly impose limits on downstream recipients but simply failed to protect them. What if one company pays Microsoft for a patent licence where Microsoft says "Alright, we won't sue you, but we're just not making any promises about your customers if they redistribute it". We had already written a downstream shielding provision into GPL version 3 saying that if you convey the program, and you are benefitting from a patent licence that is not available, that does not extend to the downstream users, then you have to do something to shield them. This is, it turns out, inadequate in two ways. First of all, "shielding them" is vague. We're replacing that with a specific list of methods, and second, once again it assumes that the distributor has received a patent licence, so the Microsoft/Novell deal cunningly does not give Novell the patent licence, only Novell's customers. Well, now that we have seen this possibility, we're not going to have trouble drafting the language that will block it off. We're going to say not just that if you receive the patent licence, but if you have arranged any sort of patent licensing that is prejudicial among the downstream recipients, that that's not allowed. That you have to make sure that the downstream recipients fully get the freedoms that they're supposed to have. The precise words, we haven't figured out yet. That's what Eben Moglen is working on now. ----------- Thanks god "the GPL is not a contract". :-) regards, alexander. _______________________________________________ gnu-misc-discuss mailing list gnu-misc-discuss@gnu.org http://lists.gnu.org/mailman/listinfo/gnu-misc-discuss