WebKit release cycle and dependency request
- From: Alp Toker <alp webkit org>
- To: "desktop-devel-list gnome org" <desktop-devel-list gnome org>
- Cc: mobile-devel-list gnome org
- Subject: WebKit release cycle and dependency request
- Date: Wed, 16 Apr 2008 08:10:30 +0100
You may already have heard that the WebKit/GTK+ developers have been
exploring options for a release cycle. Here I'm going to outline our
plans in a little more detail.
WebKit/GTK+ is a community sub-project maintained mostly by GNOME and
GTK+ developers. It's implemented directly on top of GTK+, GLib and
GNOME libraries and provides lightweight web viewing and editing
features as well as being the basis for complete web browser
applications. It supports the latest web standards and offers good
performance and memory usage characteristics on the desktop and in
mobile devices.
As a result of the productive collaboration with the GNOME project and
after consultation with the GNOME board and release team, we've decided
to implement a stable 6-month release cycle that matches the GNOME
schedule, effective immediately, targeting the upcoming 2.24 release.
I'm also taking this opportunity to request an external dependency for
GNOME and to poke Ross about including WebKit in the Mobile Platform
(not much happened since it was proposed in June).
Module versioning
=================
The package name is webkit-1.0. Shared objects and headers are named and
versioned according to GTK+ platform and module guidelines.
API/ABI stability
=================
The API is currently "slushy" so we'll make a few tweaks to the loader
API (as requested by the Epiphany developers) and add more features
before freezing for 2.24. In the past we've taken care to fix
applications directly in GNOME SVN following API changes made in the
development cycle.
Once stabilised, we'll follow a policy of additions only, with old
symbols marked deprecated in gtk-doc.
Documentation
=============
There's a coding guideline requiring all functions, properties and
signals to be documented with gtk-doc so the documentation situation is
pretty good.
Furthermore, public API changes are expected to be accompanied by a
rationale and "cooling off" period allowing the community to study them
before they're reviewed and go in so there's usually a trail describing
why things are the way they are.
GDK targets
===========
WebKit works with all platforms and windowing targets supported by GDK
and provides the same stable GObject API everywhere. (Windows support is
still in development but not far off.)
Language bindings
=================
WebKit bindings are available for Python, C#/CLR, Vala and Perl.
Some of the bindings cover not just the GObject API but also provide
integration with the browser engine. WebKit is designed to be extensible
using any supported language via DOM access and bi-directional runtime
integration -- "extension" or add-in systems aren't limited to JavaScript.
Mobile
======
WebKit/GTK+ is the default browser engine in the OpenMoko and Poky
mobile Linux distributions. There's ongoing work to develop WebKit/GTK+
for the Maemo platform and a couple of other upcoming mobile GTK+
deployments yet to be announced. Ports exist to over a dozen devices
including phones, e-paper readers and set top boxes.
Accessibility
=============
In the last few weeks we've started to look at formal accessibility
support for document navigation and manipulation. The first WebCore
patches have landed and we intend to provide AT-SPI accessibility for
the 2.24 release. This is partly in response to requests from the
community and Yelp developers.
Informally, WebKit is already quite accessible -- content can be
navigated and manipulated using only the keyboard and can be scaled for
easy viewing.
Security
========
We're fairly open about fixing and publicising security issues and
there's now a process for confidentially reporting issues and
disseminating alerts. We're establishing channels with Linux
distributions planning to ship WebKit/GTK+ soon. (If your organisation
needs to be on this list, you can reply in private to this mail or use
the security list.)
Applications
============
Epiphany recently switched to WebKit and requires the dependency. I
believe other applications in the platform and desktop set have WebKit
on the roadmap. Some other (GNOME and ISV) users are listed at
<http://trac.webkit.org/projects/webkit/wiki/ApplicationsGtk>
A note on project maintenance
=============================
While we work closely with the Apple and Trolltech WebKit teams it's
worth keeping in mind that the WebKit/GTK+ team is autonomous -- we
decide what features we ship and we set our own goals. In making this
announcement we'd like to invite the GNOME community to get more
involved in that process.
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]