WebKit release cycle and dependency request



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]