Open source at Apple: Konqueror gets better
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!