[webkit-dev] Using WebKit (or KHTML/KJS) and LGPL violation

Brian Campbell lambda at mac.com
Thu Mar 8 13:20:48 PST 2007

On Mar 8, 2007, at 3:05 PM, Rob Burns wrote:

> Dear TG Noh:
> My sense is that lawyers would have trouble reading the LGPL  
> license literally: mostly because they do not understand the  
> technical issues behind this stuff. If the lawyers you spoke to  
> think that Safari fully complies with the LGPL then in what way  
> does Safari running on an iPhone not satisfy the LGPL? Is it  
> because it is running on an OS loaded from a flash drive rather  
> than a hard drive? Is it because users would not be able to easily  
> load a different browser in its place. It's hard to imagine what  
> these lawyers could be thinking, but my guess is that they just  
> don't fully understand the technology.

I think the issue at hand (which is fueled in large part by  
speculation at this point) is that the iPhone has been described as a  
"closed" system; as in, people will not be able to transfer their own  
binaries to it and run them. I would assume that would mean that they  
aren't able to transfer their own dynamic libraries and/or recompiled  
versions of Safari, either. This sounds to me like it would mean that  
no LGPL'd code could run on it, because such restrictions violate  
section 6 of the LGPL. On the Mac, there is no issue, because WebKit  
is a dynamically linked library that you can change at will; this is  
how the WebKit nightlies work, and how you can run your own modified  
version of WebKit under Safari.

As I said, this is mostly speculative at this point because we have  
no specific information on what sorts of code Apple will allow you to  
run on the iPhone, what kinds of modifications will be allowed, and  
so on. However, from what I've heard, there are some very concerning  
issues about LGPL violation. Everything I've heard says that the  
platform will be closed, which implies to me that you will not be  
able to run any of your own binaries on it, including replacing  
LGPL'd libraries.

It's possible that a Tivo style loophole will apply here (sure, you  
can run your modified version of the program with the library  
replaced, but not on our hardware), but I think this would come down  
to what "modification of the work for the customer's own use" means.  
I would argue that the only meaningful "use" of the version of Safari  
(and other WebKit based apps) for the iPhone is running it on the  
iPhone, which would mean that being a completely closed system would  
violate the LGPL, but this is only my opinion, not legal advice.

I haven't been able to find references to issues like this in the  
past, but I'm sure it must have come up. On the Tivo, all of the  
discussion has centered around their use of DRM to prevent unsigned  
kernels from being run, which the GPL doesn't prevent because it  
doesn't specify that you must be able to use your modified kernel on  
the same hardware. In this case, however, the LGPL section 6  
specifically does mention use (as well as reverse engineering), and  
it's the LGPL section 6 that is the operative portion that allows  
these libraries & their derivative works to be distributed. Can  
anyone point out any previous discussion of this sort of issue;  
running programs that depend on LGPL'd libraries on closed platforms?

More information about the webkit-dev mailing list