Meego Wiki
Views

ARM/N900/CE Factsheet

From MeeGo wiki
< ARM | N900
Revision as of 05:44, 20 June 2011 by Stskeeps (Talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

There has been some confusion on the N900 Community Edition work in relation to the MeeGo project. This page helps to answer some of the questions that occasionally does pop up in order to clear the air.

Contents

What is the Community Edition work about?

From ARM/N900:

The Community Edition (CE) is an 'overlay' constructed above the current core MeeGo 1.2. The Community Edition project is working as a draft of a MeeGo handset image, to make possible the MeeGo development on your N900 hardware. Being a draft it will not take into account all features commonly present in a handset OS. Flashed with this edition N900 will be usable as a primary phone device for a developer/hacker person.

What does the overlay mean in practice?

Think of the CE effort as a vendor that wants to take MeeGo 1.2 and productize this and put this on a device. How will they do this?

  • They'll take the MeeGo 1.2 release (and subsequent update releases) binary packages
  • They will add hardware adaptation packages for their device
  • They will add patches to MeeGo 1.2 source packages, as they can without risking compliance problems (if not breaking ABI/API, etc), according to section 2.2 of MeeGo compliance document, Platform Source Code Modification Policy.

This will typically be stored in a repository and images made by the usage of MeeGo 1.2 repositories + the CE repositories.

When images are made, the vendor's modifications should take priority over the original.

A typical vendor will not and should not have to rebuild entire MeeGo distribution and we do exactly the same as a vendor would, in CE.

Why don't you just submit the modifications back to MeeGo? Does this mean N900 Community Edition is a MeeGo fork?

We'd love to submit changes back, but there are many factors making this difficult:

  • For MeeGo 1.3, many of the components we've been applying bug fixes to (MeeGo Touch Framework), are no longer part/will not be part of MeeGo 1.3
  • For MeeGo 1.2, only bug fixes go in according to Software update process and after approval of a update release bug, a
  • Because of 2.2 of MeeGo compliance document, Platform Source Code Modification Policy, we cannot submit to 1.3 and just reuse the packages from there in our repository as these packages will typically have updated versions (and due to compliance, we can't use those)

When those factors aren't blocking, we submit modifications/improvements and usually get them accepted.

CE is not a MeeGo fork beyond what a typical vendor does to make a MeeGo project. We're an active effort to improve MeeGo and we actively try to submit back our modifications. For those submissions that are not successful, we have to maintain a modified package.

But your work isn't MeeGo compliant!

Believe it or not, but we actively try to be compliant. We haven't yet submitted test results, but in our daily work when integrating components or patches, we look to MeeGo compliance. The MeeGo 1.2 compliance document is not yet closed either.

Compliance brings along the benefit that applications made with MeeGo 1.2 SDK will work on N900 Community Edition and applications made in relation to CE work, will work on MeeGo 1.2 devices, so of course we'd like to be part of that.

Why does the Community Edition use the Community OBS?

We wanted to start out the project in a place where:

  • It was easy to ramp up people in and involve everyone
  • Where there was no NDAs or company affilation needed to access the service

In addition to that, we wanted to encourage people to develop for MeeGo and develop MeeGo and the community OBS was a logical place as anyone with a meego.com account can get access to it.

Why don't you just use MeeGo 1.3 directly and contribute directly?

MeeGo 1.3 is in a invasive changes phase and difficult for any newcomers to get into - it is hard to develop when your underlying system isn't stable.

Personal tools