Skip to content

Open source at Apple: Konqueror gets better

Sunday, 27 July 2003  |  unknow


I attended Apple's Worldwide Developers Conference in San Francisco a month ago. Coming from a Linux and KDE background, I was particularly interested in what Apple would say about open source.



If any Konqueror developers are reading, I would like to get their comments on Apple's contributions. I know Apple posted a lot of nice fixes to the mailing list in January, when the initial version of Safari was released. Since then, I've not heard much. How is the cooperation today?



I submitted this little piece to KDE.news a while ago, but it was never posted.




At the recent Worldwide Developers Conference in San Francisco, Apple released Safari 1.0, the browser based on KDE's HTML and JavaScript libraries. Along with Safari comes Web Kit, a public API that any Mac OS X application can use for HTML functionality. Apple has done a lot of work improving the KDE code, and KDE of course benefits from their work.



Apple presents Safari as a fast, standards-compliant and feature-rich browser. Safari will be the default browser in the upcoming 10.3 "Panther" release of Mac OS X. Apple relies heavily on the underlying Web Kit API for many other parts of the operating system, for example Help, Mail, Xcode, and Sherlock. They also encourage other developers to use the Web Kit, instead of inventing their own wheel. Since the Web Kit is becoming such a vital part of Mac OS X, Apple will surely continue their work on the codebase.



Apple and Open Source



The core of Mac OS X is Darwin, a FreeBSD based foundation. Many other components of Mac OS X are open source as well, such as Postfix, Cups, OpenLDAP, XFree86, and GCC. In general, Apple has chosen open source wherever they will benefit from it. A lead developer at Apple stated that open source was like "shopping": You can simply pick the project that best fits your needs.



Apple's commitment to open source doesn't stop with just using the code, they also give something back. If Apple were to take a piece of codem and maintain it totally separated the original project, they couldn't as easily pick up future improvements. Because of this, Apple always tries to keep their branch synchronized by contributing their improvements back to the main project.



Besides using lots of open source software, some of Apple's own projects are open source as well. Some examples are the OpenPlay networking toolkit and Rendezvous, "zero configuration networking". The motivation for open sourcing these is presumably to get wider usage. The parts of Mac OS X that are (still) closed source, for example the graphical user interface, are parts where Apple don't believe open sourcing will be beneficial. Perhaps they are afraid of competition, or perhaps they just don't think the open source community can contribute.



Why Konqueror?



KDE's HTML and JavaScript libraries were chosen for three reasons:

  • Easy to modify
  • Fast, and easy to make faster
  • Small codebase



Using the existing KDE code has given Apple a jump-start on creating their own browser. Contributing back to KDE is important to maintain a good relationship with the open source community, but perhaps the most important reason is that it will save Apple even more work.



The range of standards supported by Safari/KHTML is impressive, but supporting non-standard web sites is (sadly) very important as well. Apple has improved KHTML and KJS in many ways, especially with regards to "real-world" compliance. Being a member of W3C, Apple is strongly focused on web standards, so we will certainly see more improvements coming from Apple.



The Future: Eating their Own Dog Food



To put it in their own words: Apple is "eating their own dog food". They are serious about Safari and the Web Kit, and use the technology throughout Mac OS X. The web community as a whole benefits from anything that reduces Microsoft's browser monopoly, and the KDE project will of course benefit from the improvements made by Apple's developer team. The future is bright!