Every open source project has some basic ideas that underly the way it does things, and what the project is trying to achieve. Often, these ideas are shared implicitly among the core contributors, but as a project grows, it becomes more important to write down these shared values. For a large project like WebKit, with contribution from many different individuals, corporations, and larger open source projects (including Apple, KDE, TrollTech, Nokia, GNOME and others), this goes double.

In keeping with open source principles, WebKit strives for compatibility LGPL 2.1+, though it is not currently moving towards LGPL 3. Portabilty and "hackability," the latter referring to code that should be "relatively easy to understand," are also important. Beyond that, the list of goals seems intrinsic to the concept of a software system for development of web content.

standards compliance

stability

performance

security

usability

There is also a list of semantically questionable "non-goals" that might better be described as polite responses to annoying e-mails about how WebKit should do X, Y, or Z.

WebKit is an engine, not a browser.

WebKit is an engineering project not a science project.

WebKit is not a bundle of maximally general and reusable code.

WebKit is not the solution to every problem.

Although Mac users may see WebKit as being synonymous with Safari and web browsing, it's really not just about web browsers, as the recent unforking of KDE's KHTML and WebKit shows. Of course, there is also Safari 3 for Windows, an alternative to Firefox and Opera, which are both alternatives to the clunkiness that is Internet Explorer. There is also WebKit in the mobile space, and Nokia is using it for... web browsing.

Okay, so WebKit is mostly about web browsers, but every web browser used that is not Internet Explorer brings us one day closer to universal standards without the overarching influence of Microsoft. Or something.