Apple opens WebKit
Tuesday, 7 June 2005
Over the last couple of months Apple has been getting a lot of flack from open-source enthusiasts about the way they are handling the development of Safari and WebCore, the HTML rendering engine based on KHTML.
The whole debate was started by a story on the weblog of one of the authors of KHTML. It basically said that while Apple did everything required by the license under which they use KHTML, they did nothing to actually help the development of KHTML. This wasn’t a problem in itself, but perhaps a bit of a disappointment for the developers of KHTML. The general public did believe that by using KHTML as the basis of WebCore, Apple was helping the development of KHTML itself. Something that was partially true, because the changes that Apple made to KHTML were available, but only as a single large patch. A large patch without a thorough explanation about the reasons behind every single change. Sure, the Apple developers did help out with explaining some of the changes, it is a less than ideal solution for the KHTML team.
In a way, the KHTML team did not really have a problem with Apple. The weblog entry that started this whole debate did not actually attack Apple, but instead was more the result of the wrong expectations of the general public. Users of KHTML were not understanding why WebCore as moving so fast, while KHTML was essentially left behind.
It’s not all gloom and doom for the KHTML team. While the relationship with Apple was not ideal, it was a beneficial one to KHTML. Take for example the Acid2 test, which his designed to test the compliance of browsers. Not a single browser passed the test initially, but David Hyatt of the WebCore team managed to make WebCore compatible with the Acid2 test in a record breaking time. And more importantly he made the individual patches of the changes public. According to Carewolf, not every single one of these patches were usable by the KHTML team, but they did help a lot. About 50% could be used right away, the rest had to be reimplementation. Still, it made the KHTML the third rendering engine to pass the Acid2 test, just behind iCab.
The whole discussion also resulted in a call for suggestions on how to improve the relationship between the open-source community and Apple. On David Hyatt’s weblog several developers responded. The main theme was to allow the KHTML access to the development CVS repository and bug database used by Apple. Little over a month later it is now clear that Apple indeed listened and took the comments seriously.