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

Rob Burns robburns1 at mac.com
Thu Mar 8 12:05:36 PST 2007

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.

The iPhone serves as a nice example (especially if there's agreement  
that the Safari on other OS X devices complies with LGPL). I would  
ask these lawyers what they think are the key differences between  
Safari on iPhone and Safarii on a MacBook, (for example); or Safari  
on a MacBook with a flash drive. Do they assume that Safari on the  
iPhone would not provide a mechanism to read the LGPL license/credits?

I would say that even if one reads section 6 as meaning that the LGPL  
makes the terms more stringent for embedded systems than for non- 
embedded systems (i.e., that if you embed you have to open the source  
to a linking executable and not just provide a dynamic linking  
mechanism), then it strikes me that an embedded system could instead  
comply with section 6 in a different manner (with subsection b). An  
embedded WebCore could  provide a mechanism (through the embedded  
devices syncing mechanism for example) to swap the WebCore library  
with a recompiled WebCore library. In this way you've satisfied  
section 6B. Now, not many users are going to take advantage of such a  
feature. But you probably want to be able to easily do that for your  
own development needs anyway.

Keep in mind that the LGPL applies to WebCore (and users/developers/ 
executables who link to it), but not to WebKit. In other words, LGPL  
does not direct its licensees to limit the behavior of their sub  
licensees. So if you link against WebKit, then your executable is  
subject to the terms of WebKit's BSD license (not to WebCore's LGPL  
license). WebKit already complies with WebCore's LGPL license section  
6 by make the source code available (it offers four of five section  
six mechanisms — a, b, c, d— when it was only required to provide 1).

Whenever you're talking to someone who claims to have THE literal  
reading of something, they're probably not going to be easily  
convinced that there are other readings. However, I think your  
conceived business model sounds like it could definitely work with  
WebKit (provided you don't face the same lawyers at every turn). I  
for one would love to see WebKit embedded on more devices (like my  
dishwasher for example:-). But seriously, how about WebKit on a  
printer so that I can get WYSIWYG printing by sending an URL to my  
printer instead of an entire rendered document. Plus that would  
motivate better paged media features in WebCore/WebKit.

Anyway, I hope that give you some ammunition for the lawyers. I'd  
love to hear what they have to say to these technical issues.

Take care,

On Mar 8, 2007, at 8:34 AM, Noh Taegil wrote:

> This maybe not an exact place to ask this question but, I'm still  
> confused and would be very happy to get any advice at all.
> One of our customer's IP/Legal team informed us that putting LGPL  
> library in a closed system which prohibits any form of reverse- 
> engineering, or which is lack of ability to install library, is a  
> direct violation of LGPL. And they also told us that, they don't  
> understand how Apple would use LGPL library in their (to be) closed- 
> system. (namely , iPhone)
> ----
> I'm working in a small software company that helps a mobile phone  
> vendor (lets call them company S) We developed and shipped DRM,  
> MMS, and OMA(wap) browser for them. We have failed to make a decent  
> web browser, and that's where WebCore came in.
> Recently I could almost convinced my boss and the company S into  
> using WebCore as default web engine for their new mobile platform.  
> We could actually made a working demo on their system, and they  
> agreed to open the modified source code themselves, but they  
> frowned at LGPL section 6 :
> My (possible) business model using WebKit, was something like this ;
> 1) Let's maintain a WebCore Windows Mobile port : On Windows  
> mobile, still you only have NetFront3 or Opera. They cost quite  
> some amount for individual users (something over $20 to register) .  
> Let them use top notch browser freely. Put "notice" clearly that we  
> are quite expert on porting browsers on "things".
> 2) Wait for more embedded device vendors to "aware" us. Made a good  
> abstraction layer, port webcore and a decent UI on any device they  
> want. (IPTV, PMP, portable DVD players, etc)  Get some service fee  
> and customize the browser for them. If they need WAP2.0, terrific.  
> Sell our old browser with it.  Get Maintenance contract with them.
> 3) Drop our own Web Browser development, it's going nowhere.
> ----
> I though this scenario could be quite valid; Nokia N series devices  
> are already a successful example. But it seems that this goes very  
> close to the LGPL violation boundary. Company S told us that, When  
> reading literally, even Nokia isn't satisfying LGPL.
> Nokia N series device do not have any LGPL license text for users.  
> Normal users won't be able to aware about the LGPL library or  
> license. (possible violation 1. selling H/W with LGPL Library is a  
> "distributing"). And there is no way for users to change and run  
> S60 Browser. (although they can run the reference UI) And the  
> reverse engineering is prohibited as usual. (Possible violation 2.  
> No method for modify LGPL'ed library and run the work based on the  
> library)
> ----
> My questions is simple. Is that really LGPL violations? Safari  
> Browser is satisfying all LGPL "duties" (It shows credits, LGPL  
> license, and you can rebuild webcore and run safari with it. Done.)  
> But how safari on iPhone will satisfy LGPL?
> Company S's lawyer read LGPL "literally". But lawyers always do.  
> What is the limit of using webCore(KHTML, or any LGPL library) on  
> embedded devices?
> Any comment from S60 guys? I'm pretty sure that Nokia IP/Legal team  
> gave them "clear" sign, so It is there. That's why I am so confused  
> right now.
> TG Noh
> tailblues at mobilus.co.kr
> _______________________________________________
> webkit-dev mailing list
> webkit-dev at lists.webkit.org
> http://lists.webkit.org/mailman/listinfo/webkit-dev

More information about the webkit-dev mailing list