LWN.net Logo

GPLv2's implicit patent license and Dalvik

GPLv2's implicit patent license and Dalvik

Posted Jun 6, 2011 21:38 UTC (Mon) by FlorianMueller (guest, #32048)
Parent article: Android, forking, and control

I believe the following claim oversimplifies and probably overstates the scope of the GPLv2's implicit patent license:

Had Android been built on Oracle's GPL-licensed Java code base, there would have been no suit; Google would have been protected by the GPL's implied patent license.

I don't doubt that the Android team wants to avoid the GPL wherever it can. I also don't doubt that the GPLv2 does have an implicit patent license, and that it has significant scope. But I don't think one can just assume -- given that there's no case law on the scope of the GPLv2's implicit patent license in any major jurisdiction that I'm aware of -- that Google could have built Dalvik safely on a GPLv2 basis, given that Dalvik is architecturally quite different from Java (executing DEX files, register vs. state machine, etc.).

An implicit patent license undeniably covers those who use code that was published by the patent holder and never modified. In connection with the GPLv2, one can certainly argue (more or less successfully -- unfortunately no case law yet) that some modifications to that codebase are covered. But there must be a limit somewhere. If someone changes a codebase beyond recognition, there will be a point where it's at least risky to rely on the implicit patent license. And if completely new code segments are added, it becomes very difficult to argue that the implicit patent license still applies to any use of the implicitly-licensed patents by such additional code (the European Commission's DG Competition is pretty sure such use of patents is not covered).

Given the aforementioned architectural differences between Dalvik and Java, it's hard to see how Google could have built Dalvik without pretty fundamental modifications to any Oracle/Sun GPL-licensed code as well as major additions.

Even GPLv3's explicit patent license has limitations. If the FSF had believed that the GPLv2's implicit patent license goes beyond the scope of the GPLv3's explicit patent license, GPLv3 would have been counterproductive in connection with the most important issue for which it was created -- patents.


(Log in to post comments)

GPLv2's implicit patent license and Dalvik

Posted Jun 6, 2011 22:36 UTC (Mon) by dodji (subscriber, #49817) [Link]

What I understood from what James said is basically that they could have used Java as is. There would have been no Dalvik.

GPLv2's implicit patent license and Dalvik

Posted Jun 6, 2011 22:39 UTC (Mon) by FlorianMueller (guest, #32048) [Link]

Since there are major architectural differences, I assume that Google made an engineering and not only licensing choice.

GPLv2's implicit patent license and Dalvik

Posted Jun 7, 2011 2:54 UTC (Tue) by rahulsundaram (subscriber, #21946) [Link]

There are good reasons to believe that it was fundamentally a licensing choice as Google and Sun/Oracle were prepared to sign a agreement as per

http://www.groklaw.net/articlebasic.php?story=20110511030...

If it was primarily a technical decision, it would have been possible to make tweaks to OpenJDK without having to rewrite it from scratch c.f. IcedTea.

GPLv2's implicit patent license and Dalvik

Posted Jun 10, 2011 5:32 UTC (Fri) by ldo (subscriber, #40946) [Link]

I think you’re confusing two things: Java code and Dalvik.

Dalvik is a complete byte-code interpreter, which as I understand it has nothing in common with any code from Sunacle; it’s not even compatible with the Sunacle Java VM. It was introduced for reasons to do with performance and power consumption, not because of an licensing issues with Sunacle Java. Google could choose to use Sunacle Java in future, but Dalvik will still be there, and the Sunacle Java VM will not.

GPLv2's implicit patent license and Dalvik

Posted Jun 7, 2011 0:24 UTC (Tue) by aryonoco (subscriber, #55563) [Link]

I think James is making a huge mistake in thinking that Google could have just used the GPL Java. First of all, let's remember that when Android was started in 2004, there was no GPLed Java. Secondly, Sun was clearly making money off Java ME, and did not want to push Java SE into the mobile space as that would have cannibalised its revenue.

The speaker is also glossing over technical reasons for creating Dalvik and Bionic library. Both are much leaner and have a much smaller footprint than Java VM or glibc. These were/are major considerations when Android was created, considering the limited resources available in mobile phones.

GPLv2's implicit patent license and Dalvik

Posted Jun 7, 2011 10:40 UTC (Tue) by eru (subscriber, #2753) [Link]

...Dalvik and Bionic library. Both are much leaner and have a much smaller footprint than Java VM or glibc...

In the case of glibc, there would have been several existing light-weight alternatives already in 2004, some with other than GPL licenses.

GPLv2's implicit patent license and Dalvik

Posted Jun 7, 2011 21:04 UTC (Tue) by danieldk (guest, #27876) [Link]

Aren't portions of Bionic based on BSD libc?

http://codingrelic.geekhold.com/2008/11/six-million-dolla...

Also, it seems the rationale for making Bionic are license, size, and speed:

http://www.zdnet.com/blog/burnette/patrick-brady-dissects...

Libc licenses

Posted Jun 9, 2011 8:52 UTC (Thu) by justincormack (subscriber, #70439) [Link]

I think all the other light weight libcs are in fact LGPL/GPL, eg uclibc, dietlibc. Newlib is partly LGPL too.

Libc licenses

Posted Jun 29, 2011 16:13 UTC (Wed) by JoelSherrill (guest, #43881) [Link]

newlib contains very little code under [L]GPL. No [L]GPL code is supposed to be in any configuration unless it is in the OS specific code. For GNU/Linux, this source is under the libc/sys/linux subdirectory.

If Google had chosen newlib, there would have been less work to get it clean for Android than putting together a new library.

FWIW newlib is used by Cygwin and RTEMS along with bare metal users of GNU tools. It supports a variety of architectures. Newlib is an old project with a community around it.

Copyright © 2013, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds