Stuff Yaron Finds Interesting

Technology, Politics, Food, Finance, etc.

Patents, Open Source and GPL

Lots of commercial companies are getting very worried about Open Source. They view Open Source as a direct threat to their success. After all, how do you compete with free? I think these companies are missing the point, Open Source is just another commoditizer and anyone who has succeeded in the technology business long ago learned how to deal with being commoditized. In fact, as commoditizers go Open Source is not a bad way to go. In the old days when a technology became commoditized it would disappear into some dominant platform that no one could access. With Open Source when a technology is commoditized it instantly becomes available to everyone which is to everyone's benefit, except of course to the dominant platform owners.

Regardless, many companies are still afraid and want to stop Open Source. Unlike previous commoditizers who were companies, with lawyers and marketing departments who could step in if unfair things were done there is no similar protector for Open Source. So it is very tempting to create legal barriers to Open Source rather than just competing with it.

One of the easiest ways to create those legal barriers is through patent licensing terms. After all patents are legal monopolies and one is allowed to apply a legal monopoly in any way one wants, including ways that stop or hinder Open Source. A hot area for patents these days are the patent licenses being offered for Web Services protocols. Software companies have made it clear that they won't implement a Web Service protocol if it isn't royalty free, in other words, they won't implement it if they have to pay someone money. However a simple technique allows one to write a royalty free license in such a way that it will not hurt a typical commercial software company but will hurt Open Source. This technique is called 'a non-transferable license'.

Imagine that Company A files for a bunch of patents for its new Web Services Protocol WS-FooBar. Company B files for a WS-FooBar royalty free patent license with Company A which Company A grants. Generally speaking the way non-transferable licenses work is that Company B is free to implement WS-FooBar and sell product to its customers which includes the WS-FooBar code. The customers don't have to get their own WS-FooBar licenses so long as they use Company B's binaries. Where things get interesting is if Company B decides to make its WS-FooBar program Open Source.

Now company C enters the picture. Company C is creating an internal program based on company B's source code. However, because Company C is using Company B's source code and not its binaries it will be necessary for Company C to file for a WS-FooBar royalty free patent license with Company A.

This doesn't sound too bad until you think about what it actually takes to get a license. Let's say that the average piece of non-trivial Open Source software supports 5 "open standards" technologies and that each technology was authored by 5 companies. That means just to use one piece of software Company C will have to file 25 license applications.[1] Imagine some engineer at Company C downloading some Open Source and then having to go to their legal department and saying "um… I need you to approve us filing these 25 licenses". Keep in mind that this process will have to be repeated for each and every Open Source program whose source code is being used since most non-transferable licenses are granted on a per-application basis.

Non-transferable licenses are actually a knock out blow to GPL . Section 6 of GPL requires that anyone who downloads GPL source code is free to change/use it in any way they want without having to ask anyone's permission. Company B's source code can't meet this requirement because of its dependence on the WS-FooBar patent license. In other words, because Company C has to ask Company A's permission to use Company B's source code it isn't possible for Company B's source code to be licensed under the GPL. Therefore any source code that involves a non-transferable patent license cannot be implemented under a GPL license.

Previously I had argued that customers needed to demand Royalty Free/Reciprocal (RFR) licenses. Now apparently the demand has to be extended to Royalty Free, Reciprocal and Transferable (RFRT).

In the end it will be up to customers to decide if they want to benefit from Open Source. If they believe Open Source is in their interest then they have to refuse to use Web Service protocols that are not RFRT.

[1] For example, if SOAP & WSDL had been licensed under non-transferable licenses then anyone using software that including SOAP and WSDL would have to file 26 licenses.

Leave a Reply

Your email address will not be published. Required fields are marked *