Gtk+ 3 Roadmap Draft2

Prelude

The suggested plan is to work on this and publicize it in multiple steps:

Feedback on the exact progress is of course welcomed as well.

Introduction

The Gtk+ team is forming a roadmap to structure the development process of the Gtk+-3.0 release and to open up the involved decision making progress. Since development on the project depends to a large extend on community contributions, we cannot provide deadlines, but will use priority based classifications instead. [1] Stormy nicely describes the tension between time, features and contributors here: http://www.stormyscorner.com/2008/09/as-open-source.html

Items are classified according to:

Features planned for 3.0

These features are meant to be completed and integrated with the release of Gtk+ 3.0. The core team will do its best to achieve completion, but contributions are also very welcome.

Contributor features for 3.0

Implementation and/or completion of these features depends on community/third-party contributions to Gtk+. We'd like to see them integrated, but can't implement them with the core team, so it's best understood as a list of suggestions for people who want to contribute to Gtk+ development.

Wishlist items for 3.x

The following features would be nice to have but depend on contributor help and are probably going to arrive only in releases after 3.0.

Progress Tracking

Several things should be done once a roadmap is finalized, it's probably best to form a team to oversee and handle the items:

Much of this can be done in parallel, and is probably best split up between Gtk+ community members.

[1] Stormy nicely describes the tension between time, features and contributors here: http://www.stormyscorner.com/2008/09/as-open-source.html
[2] A wiki page exists, which considers table property changes: http://live.gnome.org/action/edit/GTK+/PropertyDefaults
[3] The Beast project has something resembling this here: http://beast.gtk.org/rdocu-gxk/gxkscrollcanvas.h.html
[4] David Zeuthen already started to work on this: Resolution Independent GTK+. In a corresponding email thread, David explains how the features could be split up according to 2.x and 3.x dependencies: http://mail.gnome.org/archives/gtk-devel-list/2008-August/msg00044.html
[5] Richard Hult already started work on code migration tools: http://people.imendio.com/richard/archives/2008/08/
[6] This approach proves very successful in Rapicorn: Rapicorn Micro Widgets
[7] Existing examples for querying object interfaces are QueryInterface() COM API, Bonobo and Rapicorn::Convertible::interface
[8] For 3.0 preparation, we already have: http://live.gnome.org/GTK+/3.0/Tasks