Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

  Apple forked Webkit from KHTML. Google contributes to Webkit.
So? I don't get, why this "forked form KHTML" comes up so often, and how is it relevant. Did Apple ever claim to invent Webkit? Not to my knowledge. What I do know, that a few years ago when Google had no Android and no Chrome Apple was already making Webkit the best rendering engine out there.

But that's completely besides the point. I just cannot imagine someone working on the same project and ready to sue fellow developer's company just because they did not release the source on the same day.

  Then they can relicense the code whenever they want.
If other comments are right, LGPL does not say they must release the source together with a product.


What I'm saying is that the people who wrote KHTML have copyright over Webkit. They released their code under the LGPL, and its Apple's obligation to honor this license until they remove all the original code or get contributers to sign a copyright assignment form. That's how open source projects work: either all the code is owned by some central entity, or the code is owned by the various contributers. When the code is owned by the contributers, your patch is considered a derivative work (for the purpose of copyright) of the other copyright holders' work, so you have to follow the license. On the flip side, if every patch has documentation saying that the central authority (the FSF, the Apache Foundation, etc.) has copyright, then that central authority can relicense however they want. For example, Emacs is now GPLv3, even though most of the code was written well before the GPLv3 existed.

In the case of Webkit, Apple does not require copyright assignment. The code was not originally theirs - their version of Webkit is a fork of KHTML, and so the copyright from KHTML is in force. They have to follow the LGPL, because otherwise they have no legal right to use the code in their products.

That's all I'm saying: the question was "who has a legal claim over Webkit", and my answer was "everyone who's contributed".

The LGPL allows Apple to keep the rest of their stack that links against Webkit proprietary. However, they have to release their changes to Webkit.

Here is the exact wording from the LGPL v2:

These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Library, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Library, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it.


The LGPL allows Apple to keep the rest of their stack that links against Webkit proprietary. However, they have to release their changes to Webkit.

Quite right, but for this point of pedantry: Apple's fork of KHTML is known as WebCore. That part is LGPL. WebKit (the encompassing project) is BSD and always has been. Safari (the browser) is proprietary.

As far as I can tell, Apple's changes to WebCore are in the public repo. e.g.

http://trac.webkit.org/browser/trunk/Source/WebCore/renderin... Revision 85964, 48.1 KB (checked in by hyatt@apple.com, 63 minutes ago)


>That's how open source projects work

Just to clarify, that is how GPL licensed software works. There are a lot of different open source licenses that do not require anything.


This is not specific to the GPL. You can't change the license unless the copyright owners agree. That applies for any software license or really anything copyrighted.

Some things are easy because the license specifically permits it: you can GPL a BSD-licensed project, for example. In that case, the agreement from the copyright holders comes in the form of the terms of the license.


But you cannot relicense a BSD-licensed project as GPL because only the original rights-holder can do that. You can apply the GPL on top of the BSD license because the GPL is more specific than the BSD license (ie GPL is a restricted subset of the BSD license, kinda). You must still make the original BSD-licensed code available under the BSD license.


Exactly. BSD/MIT/Apache != Public Domain.


It comes up because Apple is violating the license they agreed to when they started distributing the KHTML sourcecode under the name webkit. And yes, the LGPL requires you to release the code, not wait weeks or months.


They have to be made available. You can ship a binary with a link to the code for example. But I do believe it's supposed to be available from the day the binaries are out.


  But I do believe it's supposed to be available from the day
  the binaries are out.
So, does anyone knows for sure?


"4. You may copy and distribute the Library (or a portion or derivative of it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange."

"Accompany it" is the key phrase. The source needs to be released at the same time as the binaries.


Apparently you stopped reading to soon.

Section 6 states: " As an exception to the Sections above, you may also compile or link a "work that uses the Library" with the Library to produce a work containing portions of the Library, and distribute that work under terms of your choice, provided that the terms permit modification of the work for the customer's own use and reverse engineering for debugging such modifications.

You must give prominent notice with each copy of the work that the Library is used in it and that the Library and its use are covered by this License. You must supply a copy of this License. If the work during execution displays copyright notices, you must include the copyright notice for the Library among them, as well as a reference directing the user to the copy of this License. Also, you must do one of these things:"

And 6B specifically says: "b) Accompany the work with a written offer, valid for at least three years, to give the same user the materials specified in Subsection 6a, above, for a charge no more than the cost of performing this distribution."

So, since Apple is not distributing just the library binary on its own, but rather as part of Safari, Section 6 excepts Section 4. And all they must do, according to 6B, is accompany the work with a written offer (which it does, see Settings/General/Legal) to provide the source. Since no one has specified that they've written to Apple and been denied, they are not in violation of the license.


I think you are misinterpreting section 6. Section 6 is about the requirements for software that use the library. Specifically section 6 is about software that statically links to the library (section 5 is about dynamic linking). If you statically link to the library, the resulting binary contains the library and you are required to provide object files so that a user can relink with a different (and hopefully compatible) version of the library.

In the case of Apple, they have made modifications to the library itself. They are then using the library, with modification, in Safari. Safari can be released under any license as outlined in section 5/6 but not the modifications. Those need to be released.



And this helps how exactly? I know what GPL and LGPL is, I was asking, why few there "believe" and "think" instead of quoting.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: