[maemo-developers] Community widgets for Fremantle

From: Marius Vollmer marius.vollmer at nokia.com
Date: Tue Sep 29 16:54:05 EEST 2009
ext Graham Cobb <g+770 at cobb.uk.net> writes:

> Due to the signing stuff the community cannot replace 
> Hildon even if we wanted to.

You can: create a package called libhildon-community (or similar) and
have it Conflict, Replace, and Provide libhildon1.  Then the Application
manager should allow it to be installed and will remove libhildon1 to
make room for it.  (Haven' really tested this yet.)

This is not a nice thing to do, of course, and should be avoided.

>> Ok, can't be done in any sane way.  So my best proposal now is to create
>> a separate library for the community widgets, without any hope of ever
>> moving the widgets into libhildon.
>
> I am missing something.  Why do you (and Claudio) believe that if we start off 
> by implementing the widgets in a community library it will be hard to later 
> move them into Hildon?  I realise why it will be hard to get people to stop 
> using the community versions but is there some reason it will be hard to add 
> the community-developed widgets to Hildon?

No, you are right, it should not be hard to accept contributions to
libhildon.

I was probably exaggerating too much: If by "moving" we mean to just
copy the source code from one library into another, then the friction
caused by this is probably too high to be worth the trouble.  If by
"move" we mean to offer the same kind of widget in two libraries, with
different names and in a non-conflicting way, then "moving" the
community widgets into libhildon is realistic and should be part of the
plan from the beginning.

> If there really is a problem then there is only one other alternative I see: 
> work in Hildon (or a fork) and allow the community to release an alternative 
> to the standard hildon libraries (under a different library name but 
> containing the whole hildon library) on our own schedule.  Any apps which 
> wanted to use the new features would have to link against the community 
> library names instead of the standard library names but the Nokia apps would 
> be unchanged.

This is tricky, of course, since the two libraries will contain
overlapping symbols.  They must never ever be linked into the same
process, which will probably be a source of all kinds of stupid and
unnecessary hair pulling and teeth gnashing.  Just think of plugins and
libraries using libraries.


Whatever we do, will be a testimony to how Nokia is not part of the
community, and how Maemo isn't really Open Source enough.  So, having
all these practical problems in view here, how would the ideal world
look like that wouldn't have these problems?

Nokia would have to be able to release new versions of platform
components very quickly, at a speed that matters for application
development.  These platform packages should follow the Maemo Extras
promotion process.

Also, Nokia would probably have to allow partial OS updates: if a
application needs a new libhildon, then it should be possible to install
only that new libhildon and not a whole new OS version.
More information about the maemo-developers mailing list