Safari is based on KHTML, an open-source rendering engine used in the Konqueror browser and other projects. However, Apple Computer Inc. has previously come under criticism from some programmers working on KHTML for contributing little to the project, despite using the code.
However, in a posting on his Weblog, Dave Hyatt, one of Apples leading Safari programmers, announced that the company was launching a new Web site dedicated to WebKit, as well as a mailing list and IRC (Internet Relay Chat) channel for discussion of the code. WebKit has been released under a BSD license.
Significantly, the CVS system used for the project has been opened, allowing users to directly contribute to the project without having to contact Apple first. Users will also be able to pull code from the repository and build their own version of WebKit.
Hyatt also claimed that "going forward, we will be engaging actively with the community," and allocating more time to communicating with open-source programmers.
The move by Apple is likely to end a public spat between the computer maker and some members of the KHTML team over the lack of contribution back into KHTML from Safari.
In April, Zack Rusin, one of the leading developers of KHTML, published a posting on his blog complaining that the lack of access to Apples changed code made incorporating changes back into KHTML very difficult.
"Do you have any idea how hard it is to be merging between two totally different trees when one of them doesnt have any history? Thats the situation KDE [K Desktop Environment] 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," Rusin said.
He added, "Many of us wanted to even sign NDAs [nondisclosure agreements#93; with Apple to at least get access to the history of their internal [version control system#93; 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."