Are there any plans to create a standard based on libunity?

In the last few month and maybe even years, Ubuntu and Canonical often were criticised for developing software and desktop components without talking to other groups in the free software community. I don't want to comment on this topic, but I see problems arising with creating a "proprietary" solution for displaying indicators and progressbars with a launcher like Unity.

In the world of free and open Desktop Environments we often try to standardize parts and libraries or write specifications to increase collaboration between different desktops. We have the instrument of http://freedesktop.org and a lot of specifications are getting implemented by the major Desktop Environments.

In this context, proposing a standard for those indicators would be a great step towards better interoperability between desktops.

These indicators represent a great feature on the Linux Desktop and I'm sure that other projects like AWN, Docky, etc. would pick them up.

With the great market share of Ubuntu, Canonical is in a position to propose it as a standard and encourage projects to implement it.

Thank you in advance, Sebastian Billaudelle


Solution 1:

I'm the evil mastermind behind libunity where many of these things will be implemented :-)

There is an inherent problems with standards - namely that they are standards :-) If you set them in stone you gotta stick to them if they should be worth the paper they are written on. If they turn out to have unforeseen drawbacks or design problems you're in trouble. You can either extend-and-embrace it or do something completely different. No matter what you'll get flamed somewhere for your choice.

That said, I don't think you can find many that will object to fact that a well written, thought through, and proven standard is a good thing. The problem is getting to that point.

For Ubuntu we have some very rapid cycles for feature development and if we would first negotiate a standard on FDO and after that implement it we would simply have no way of delivering features at the pace we're doing right now.

The approach we're taking now is mostly to try stuff out in practice and then when if we feel really good about something we can draft them up as standards. But if we see our selves changing the specs every cycle it might just be wasting everyone's time if we pull people in to standardization discussions, don't you think?

So in principle I'm pretty sure we agree :-) The problem is how to get there without jeopardizing the user experience.

Another way to look at this is to not necessarily mandate that a "standard" is DBus API or written spec. An API+ABI stable library is just as good in my book. Then the standard is not human readable words, but machine readable binary instructions.

Sorry for the long response, but it's a complicated matter :-)