Open Source Java V : GPL and Patents
[ geir ] 19:28, Thursday, 9 November 2006

Note : All of my ramblings about Sun and GPL for their implementation of Java SE is pure speculation. I have no confirmed information from Sun. As a matter of fact, Sun employees are amazingly tight-lipped about this. I suspect they've been threatened with banishment to "solaris security" if they say anything... Also, I'm not a lawyer or have any legal training, so anything you read here could be wrong...

Sun choosing the GPL for it's implementation of Java SE is interesting for a number of reasons, the most prominent is patents. GPL v2 has no explicit patent license - that means that you can release software under the GPL v2 for which you hold software patents, and there's no requirement that said patents are granted to the recipient of the software. More modern licenses, like the Apache License do have terms like this, which work to prevent patent owners from creating patent traps with source donations to open source.

One of the interesting aspects of the Java ecosystem is that when you create an independent implementation of a spec, you receive all "necessary IP" (whatever that means) from all members of the expert group via the spec lead when you pass the TCK, the test kit that certifies that your implementation is compatible with the spec. This is useful, as it takes away uncertainty about patent risk from the members of the expert group, so you can't use the JCP to create patent traps in the Java ecosystem.

So what happens if Sun uses the GPL for their implementation of Java SE? They have stated that they will use an OSI-approved license, which means GPLv2 rather than a one-off they create themselves. GPLv2 has no language that gives a patent license to recipients. There is language in the preamble that indicate it was the intent of the GPL authors to have patent licensing, but as far as I can tell, it's not there. Therefore, Sun maintains the ability to use patents to enforce compatibility for any implementation based on the GPL-ed source base. This in itself isn't very interesting, other than it's a supporting point to why they'll chose the GPL - they don't lose their patent weapon.

But what happens going forward? The GPL v2 states that unless the applicable version of the GPL is specified, you can choose any version of the GPL as defining the terms under which you receive the license. What happens then when GPL v3 is done? As of draft 2, it has explicit patent grant language in the form of a covenant not to assert :

You receive the Program with a covenant from each author and conveyor of the Program, and of any material, conveyed under this License, on which the Program is based, that the covenanting party will not assert (or cause others to assert) any of the party's essential patent claims in the material that the party conveyed, against you, arising from your exercise of rights under this License.

Will Sun restrict scope to v2?

Comments

I wouldn't be surprised if they went with GPLv2 only, as long as GPLv3 is not done. They can always simply update to v3 later if the license turns out to be useful for them, rather than giving the code away under 'any later version' and then being sorry about it.

For all I know, they are participating the the GPLv3 process, so I'd guess it'll all work out somehow.

--Dalibor Topic, November 9, 2006 08:56 PM

Could be, but I wouldn't read anything into their participation in the process. A rep from Apache is involved too, and we aren't switching any time soon :)

geir

--Geir Magnusson Jr, November 9, 2006 09:19 PM

If you really want it, someone could probably come up with an exception to add to v3 to make it happen. ;)

--Dalibor Topic, November 9, 2006 11:03 PM

All we'll need is restoring the freedom for contributors to license their own additions and changes as they choose. Why don't you run that by Stallman and see what he says? If we don't hear back from you in a few days, we'll send a rescue party :)

--Geir Magnusson Jr, November 10, 2006 08:05 AM

Oh, running that past Stallman is actually very easy these days. That's what the http://gplv3.fsf.org/comments/gplv3-draft-2.html is for.

But I guess

"As a special exception to GPLv2 or any later version, you may license your additions and modifications to this work under terms of your choice."

should work, no?

--Dalibor Topic, November 10, 2006 10:17 AM

Doesn't that undermine the basic premise of the GPL then?

--Geir Magnusson Jr, November 10, 2006 10:35 AM

Not really, any receptient can remove the exceptions.

So if you long for the strong taste of freedom, it's always just a few clicks away.

--Dalibor Topic, November 10, 2006 12:08 PM

I don't understand. "Terms of my choice" could be "under a proprietary license"....

--Geir Magnusson Jr, November 10, 2006 12:23 PM

Right, you got it.

If you write your own code, you can add your exceptions to the GPL, like licensing of derivative works under the terms of your choice (libgcc does that for binaries through the linking exception, for example).

Those terms could be proprietary, for example.

--Dalibor Topic, November 10, 2006 08:23 PM

Dalibor: Sun is an active participant in discussion committee B at the GPL v3 process, and so far it's looking surprisingly usable.

--Simon Phipps, November 11, 2006 10:10 AM
Post a comment









Remember personal info?