LWN.net Logo

Advertisement

GStreamer, Embedded Linux, Android, VoD, Smooth Streaming, DRM, RTSP, HEVC, PulseAudio, OpenGL. Register now to attend.

Advertise here

Apple and KHTML

May 18, 2005

This article was contributed by Joe 'Zonker' Brockmeier.

Apple's use of KHTML and KJS in WebCore, (part of Safari) was widely hailed at the time as a success story between open source and a commercial software company. That was two years ago. Recently, Apple announced that it had passed the Acid2 Test, which prompted users to start wondering when Konqueror would start being Acid2-compliant.

This, in turn, sparked a few developers to clarify that Apple's changes to KHTML and KJS were not necessarily in a form that was easily digestible by the KHTML and KJS teams -- in fact, Apple's changes in some parts, using OS X API, make the code more or less incompatible with KHTML and KJS. While Apple is complying with the license (LGPL), it would seem that Apple was not going much further than required by the LGPL.

After it became public that the relationship between KHTML and WebCore was not a symbiotic success story between open source and Apple, it quickly turned into a "vs." story in the mainstream IT media, like CNET's "Open-source divorce for Apple's Safari."

While the headline may be catchy, it seriously overstates the situation and misses some of the finer points in the relationship. In order to sort through some of the mess to present a more realistic picture, we tried to get folks from both sides to comment. Apple did not respond to a request for comment, but KDE developer Harri Porten was kind enough to respond to questions from LWN.

The first question we posed to Porten was what Apple could do in order to make collaboration more possible. Porten told us that it would be a big help if Apple could provide "an open JavaScript/WebCore CVS" to make it easier to track changes. At this point, there is no CVS provided. Apple does provide source tarballs, but nothing to make it easier to merge the code into KHTML or KJS.

Porten also pointed us to Zack Rusin's blog and his response to Safari developer Dave Hyatt. Hyatt asked what Apple could do better, and Rusin had plenty of suggestions. Rusin noted that, at this point, Apple and KDE developers had gone in two different directions:

At some point the Open Source ideals which we apply to KHTML and commercial setup in which you emerge yourself went in two different directions. At this point we have two completely separate groups developing two different versions of KHTML. We have absolutely no saying in the way you develop your version of KHTML and you don't participate at all in the way we develop KHTML.

Whatever solution we can come up will probably revolve around the following two: either we'll have some say in the way you develop WebCore's KHTML or you will start participating in the way we develop KDE's KHTML. It's basically doing whatever we can to somehow build a bridge between both teams.

Rusin suggested sharing a bugs database, having Apple hire someone to merge patches between the KDE and Apple source trees in sync, having Apple more involved in KHTML head development, and several other suggestions. Rusin also suggested that the two teams organize a phone conference.

While it's not clear if there's been a phone conference between the two groups, KDE developer Allan Sandfeld reports that there has been an IRC discussion and says that "Apple is being a nice guy for the time being, I will let them announce how things will improve once we have a solution," and asks for "no more 'vs.' stories for the time being."

Porten has also said that collaboration between Apple and KDE is "still very well possible at this time."

It's just that the patch merging effort became non-trivial. Nothing that couldn't be overcome by a more frequent patch exchange, though. The issue of platform dependent API should be solved by appropriate abstractions. This approach would help both parties as a cleaner design is usually easier to maintain and more portable to newer versions of the underlying system in the future.

Both parties are working hard on finding ways to cooperate more closely in the future. We have to respect each other's needs in terms of release cycles and policies but I'm sure we'll find a way. After all cooperation within KDE works as well although the project is made up of hundreds small but separate entities that all have their different background and motivation.

We also asked Porten whether Apple, or any other company, had an ethical responsibility to go beyond the terms of the license and actually cooperate with development. Porten said he didn't want to get into a discussion of ethics, but said that it "often simply makes sense to get engaged further than what the license requires."

At this point, it seems that the attention and negative publicity have helped to open the channels of communication between Apple and KDE once again. With any luck, the two groups will be able to find a way to collaborate on KHTML/WebCore in a way that makes sense for Apple and KDE.


(Log in to post comments)

ACID2 test

Posted May 20, 2005 11:25 UTC (Fri) by wilck (subscriber, #29844) [Link]

This ridiculous example of "standards compliance" makes me think that CSS2 has turned the original ideas of HTML - markup language, separation of form and content - right into the opposite.

Today it is all about pixel-wise placements and alignments of <div>s and <span>s. I am missing the times when the web was all about content, not about "design".

Perhaps it's time to think it all over again, and go back to pages that can be rendered with lynx (if it could only do tables!).

ACID2 test

Posted May 20, 2005 18:35 UTC (Fri) by dw (subscriber, #12017) [Link]

Can't it do tables yet? ;)

I never liked the interface in Lynx. As soon as w3m came along, I jumped to that. On a 1280x1024 fullscreen terminal, it is still the most beautiful and useable browser IMHO. :)

ACID2 test

Posted May 27, 2005 6:46 UTC (Fri) by rqosa (subscriber, #24136) [Link]

> w3m [...] is still the most beautiful and useable browser

Except for w3mmee. ;-)

ACID2 test

Posted May 21, 2005 3:32 UTC (Sat) by rjamestaylor (guest, #339) [Link]

I started spelling lynx "links" and it works much better now. Try it!

(Kidding, of course. Point is, Lynx has been superceded for ncurses browsing for some time.)

Apple and KHTML

Posted May 23, 2005 0:16 UTC (Mon) by miallen (guest, #10195) [Link]

I don't really see how anyone can fault Apple here. Of course they're going to call Quartz libraries wherever they can. If the KHTML people do not approve then they should have picked a different license. Actually isn't KHTML a spinoff of Mozilla's rendering engine? If so, how much cross pollination is there between the KHTML and Mozilla codebases?

Besides, how many Linux users also have a Mac at this point? My mini complements Linux very nicely. Linux will always be #1 when it comes to development and customization but when I just want to do regular mom-on-the-pee-cee stuff Mac rulz.

KHTML and Mozilla

Posted May 24, 2005 13:16 UTC (Tue) by rfunk (subscriber, #4054) [Link]

No, KHTML is not derived from Gecko (Mozilla's rendering engine).

Apple and KHTML

Posted May 27, 2005 2:52 UTC (Fri) by chowells (guest, #30173) [Link]

You have completely missed the point.

As is stated in http://www.kdedevelopers.org/node/view/1001 (which was linked to in the main story, khtml developes do _not_ have a problem with what Apple is currently doing, e.g. they are ful-filling the licence requirements of the LGPL. What they _do_ have a problem is with users who under estimate the amount of effort it is to take patches out of WebCore and merge them into khtml and complain when this isn't done quickly enough.

And no, khtml pre-dated Gecko.

Apple and KHTML

Posted May 27, 2005 6:57 UTC (Fri) by rqosa (subscriber, #24136) [Link]

I don't it would be reasonable to expect Apple to keep WebCore synchronized with KHTML, but it would be reasonable for them to make the full revision history available.

BTW, there is a port of WebCore to GTK, and also a port to GNUstep (although this project seems to have been abandoned).

Apple and KHTML

Posted May 27, 2005 20:35 UTC (Fri) by rqosa (subscriber, #24136) [Link]

s/I don't it/I don't think it/

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