Language Bindings And Application Certification In GNOME 3.0
There has been talk about how to change the GNOME platform to make it easier to introduce changes without alienating developers by breaking API/ABI in short intervals.
- Building an abstraction from IDL for any public API sounds like a cool plan, because
- A thin abstraction decouples from third party libraries that are used in GNOME but can’t be ported to our namespace. Gstreamer or even Cairo are examples that may benefit from such a wrapper. I can’t think of a better way to accomplish a consistent platform (a prime example here is Mono, IMO).
- This could potentially turn the task of generating language bindings into a fully automated process, making it easy to integrate complete platform bindings into GNOME’s regular release cycle. Now if that does not rock, I don’t know what does.
- As for the desktop part of the platform, I still believe that switching to a GNOME certification based solution is a better way to do this. Currently, GNOME is a fixed set of applications, and what is included in this set is decided mostly on the desktop-devel-list. Taking part in some of the discussions sometimes left a sour taste: I do believe that most (if not all) of the current GNOME applications took their place deservedly, but some alternative solutions never got a real chance simply because the author was not well known in the GNOME community. I believe that a certification based desktop would make this a little easier - if more than one tool meets GNOME’s standards (HIG, API/ABI promise, …) and all are equally good, then they all deserve a GNOME certificate, leaving the task of choosing the shipped application to distributors.
Also, the developer base could benefit from integrating the Win32 and Quartz ports of Gtk integrated into the regular release.