12 May 2005 bolsh   » (Master)

Language, please

Here's my take on GNOME and bindings (for what it's worth).

We have a choice for GNOME - either we aim at shipping a complete desktop environment, or a core people can build on. That works out with us choosing one of the 3 following things:

1. Add Python to official bindings, but fudge the java/mono question

Platform (in C)
Bindings (C++, Perl, Python)
Apps (in C, C++, Perl, Python: official bindings)

In this model, we avoid the question again, and ship an incomplete desktop, without quality tools like Beagle and Fspot (big gaps in our offering right now).

2. Add everything

Platform (in C)
Bindings (C++, Perl, Python, Mono, Java)
Apps (in C and official bindings)

This way, RedHat won't ship GNOME as we ship it (C# apps), and likely others will choose to not ship other pieces.

This looks like a good way to fork the project across different vendors (open question: is that a bad thing, necessarily?)

3. The Permissive GNOME

Platform (in C)
Official bindings (C++, Perl, Python)
Blessed bindings (Java, Mono)
Official Apps (in C, official bindings)
Blessed apps (in blessed bindings)

We would continue to ship the platform, official bindings and official apps, and would add blessed apps (after release team debate, as happens currently) as an add-on. We would not ship blessed bindings, or the tools needed for them (just like we don't shop a python interpreter).

To ship a conformant GNOME desktop, distribs should ship all official pieces, and may choose to ship some or all blessed components.

This approach allows us to ship the best desktop apps around, and leave the politics of what to ship to distros.

I'm sure there are all sorts of reasons why 3 is a bad idea, but I can't for the life of me think of one.

Latest blog entries     Older blog entries

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!