On Tue, Sep 7, 2010 at 1:20 PM, Marius Vollmer <marius.voll...@nokia.com>wrote:

> The thing that the MeeGo platform can contribute here is to require that
> all compliant MeeGo devices must have the standard repositories
> configured.  I am not sure whether that will be required.  Is it?  A
> related question is OS updates: Is a compliant MeeGo device required to
> have the OS update repositories configured?
>
> > In other words, if I buy an app from the Ovi Store, I don't want to
> > find out after buying it that it won't install because I needed to buy
> > some emoticons too.
>
> Yes, very true.  It's a problem of how the Store works and how it
> interacts with the on-device package management, but forbidding all 3rd
> party packages to require other 3rd party packages to solve it would be
> going too far, I'd say.
>
>
> Think of two games that share a common engine: when buying any one of
> the games, you will implicitly buy the engine, too, and the store will
> give you permission to download both the game package as well as the
> engine package.  Then when the game is installed, the engine is
> installed at the same time (invisibly to you).  When you buy the second
> game later, you already gave the engine.
>
> If we also figure out how to present updates to the engine package to
> the user, then this should work, no?
>

There are several points that need to be addressed if you are sharing
components/engines/etc

QA - a package can be tested with one version of the engine but that does
not necessarily mean it will work just as well with others, so an innocent
update to one can break the other (who said libsdl-ttf2.0 ?). In Maemo this
worked most of the time mostly because we were reusing libraries from
desktop distro's where they usually already underwent some checks.

Security - to avoid leaking of user data (config, passwords) from one
package to the other - the fact that app A depends on Qt and app B depends
on Qt should not mean that B can read A's config/data automatically.

That's why most of the time these big, reusable runtimes and libraries are
part of the system - so that they can undergo serious testing, integration
checks and controlled updates. Now, before someone misunderstands this as an
argument NOT to allow dependencies on 3rd party packages - the whole point
is IF you have a shared repository, you must have a procedure/agreement of
how you update/modify/publish stuff there in order to prevent it from
becoming a jungle/huge pile of unsolvable intertwined dependencies.


Best regards,
Attila
_______________________________________________
MeeGo-dev mailing list
MeeGo-dev@meego.com
http://lists.meego.com/listinfo/meego-dev

Reply via email to