When open source is combined with commercial gain, Apple first announced
that they were adopting the KHTML rendering engine, there was much buzz
about the potential for improvements that would flow back to the community.
The trickle of information that began just as quickly dried up.

Do you have any idea how hard it is to be merging between two totally
different trees when one of them doesn?t have any history? That?s the
situation KDE is in. We created the khtml-cvs list for Apple, they got CVS
accounts for KDE CVS. What did we get? We get periodical code bombs in the
form of them releasing WebCore. Many of us wanted to even sign NDA?s with
Apple to at least get access to the history of their internal vcs and be
able to be merging the changes incrementally, the way they can right now.
Nothing came out of it. They do the very, very minimum required by LGPL.

The frustration is quite understandable. What Apple is doing is not strictly
violating the letter of the LGPL but is arguably violating the spirit of
it. Apple benefits from building upon an already existing codebase; Apple's
users benefit by way of Safari using a mature rendering engine; KHTML
doesn't benefit from improvements in the codebase. KHTML will have to
suffer the comparisons to Safari with no manageable way short of
reimplementing Safari's improvements from scratch.

In a perfect world information would flow freely in both directions. This
comment about Safari and KHTML describes some of the difficulties that
Apple engineers have in issuing patches upstream to the KHTML developers.
Differences in version control systems and major forking and integration
with proprietary code can make this difficult. Apple's work on Darwin and
the recently released Launchd show that they are serious about open source
development. So, is Apple making a good faith effort? Probably. Is it fair
that the KHTML developers feel frustrated? Sure.

Is this a fundamental flaw of the LGPL? Under the terms of the license,
Apple is obligated to release the code to their customers but nothing
states that they need to release version history or anything else that
would ease the integration of their code back into the KHTML codebase. This
makes one wonder if commercial developers woud be less likely to embrace
open source if they were required to provide the information the community
requires to adopt their modifications? As unlikely as it is, what's to
prevent someone to obfuscating their code before releasing it back to the
community, thereby fulfilling the letter of the law?
Quality linux books and CDs
Linux/Unix Quick Command Reference
Available at: www.amazon.com