Meego Wiki
Views

ARM/N900/CE Factsheet

From MeeGo wiki
< ARM | N900(Difference between revisions)
Jump to: navigation, search
(Training)
(Training: Slightly improved English)
 
(3 intermediate revisions not shown)
Line 28: Line 28:
* 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.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 [http://wiki.meego.com/Release_Engineering/Software_update_process#Work_Flow Software update process] and after approval of a update release bug, fixes can go in.
* For MeeGo 1.2, only bug fixes go in according to [http://wiki.meego.com/Release_Engineering/Software_update_process#Work_Flow Software update process] and after approval of a update release bug, fixes can go in.
-
* Because of 1.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 rules, we can't use those)
+
* Because of section 2.2 of the 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 rules, we can't use those)
When those factors aren't blocking, we submit modifications/improvements and usually get them accepted.
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.
+
CE is not a MeeGo fork beyond what a typical vendor does to make a MeeGo product. 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! =
= 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.
+
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 finalised 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.
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.
Line 77: Line 77:
Community Edition lowers the bar of entry for contribution and allows people to come in from the street and start experimenting with the platform and learn how to contribute to MeeGo in a reasonable pace on top of a stable MeeGo release. People can learn everything from release engineering, image creation, packaging to bug triaging, etc. and then go on to use those skills straight in the MeeGo project. They can use the device day to day and see the impact of their changes.
Community Edition lowers the bar of entry for contribution and allows people to come in from the street and start experimenting with the platform and learn how to contribute to MeeGo in a reasonable pace on top of a stable MeeGo release. People can learn everything from release engineering, image creation, packaging to bug triaging, etc. and then go on to use those skills straight in the MeeGo project. They can use the device day to day and see the impact of their changes.
-
People who are trained within Community Edition can then show their merit when applying for build.meego.com account and be an immediate skilled contributor to MeeGo.
+
People who are trained within Community Edition can then show their merit when applying for a build.meego.com account and be an immediate skilled contributor to MeeGo.
== Future ==
== Future ==

Latest revision as of 09:55, 20 June 2011

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.
  • They'll add their own applications/packages/differentation

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

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, fixes can go in.
  • Because of section 2.2 of the 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 rules, 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 product. 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 finalised 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 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.

What does CE bring to MeeGo? What is the benefit for MeeGo?

A reference vendor

Community Edition acts like a vendor would in the MeeGo ecosystem. We share same mission as a vendor - we want to productize MeeGo for a device.

The difference is just that we don't have any secret devices to do this for, compared to ordinary vendors. This means that:

  • We can feed back any problems with what is being released from the MeeGo project instantly back to the project, without having to consider some information secret.
  • We can help show problems with process and difficulties with making a MeeGo product.
  • We can show a public example of how to make a MeeGo product and train people how to make a MeeGo product.

Training

MeeGo has a contribution problem. It is often difficult to contribute as:

  • You need a build.meego.com account if you want to submit anything more than mere software patches (which should go upstream anyway)
  • You can only get a build.meego.com account if you have a distinct purpose to do so (and most people don't at first, except 'contribute to meego')
  • Review process/feature/bug process has a very steep learning curve.

MeeGo is also a platform and not a end-user product - this means that often, you do not see the immediate result of your contributions in what you use daily. People take the MeeGo platform and build a product using it.

Community Edition lowers the bar of entry for contribution and allows people to come in from the street and start experimenting with the platform and learn how to contribute to MeeGo in a reasonable pace on top of a stable MeeGo release. People can learn everything from release engineering, image creation, packaging to bug triaging, etc. and then go on to use those skills straight in the MeeGo project. They can use the device day to day and see the impact of their changes.

People who are trained within Community Edition can then show their merit when applying for a build.meego.com account and be an immediate skilled contributor to MeeGo.

Future

The future remains to be seen for Community Edition. An idea could be to expand the CE work for multiple devices, even beyond Handset/ARM, think Netbook, Tablet - to encourage MeeGo contributions for all these areas. And to continue with the reference vendor work.

Your thoughts? Please discuss on meego-dev@meego.com

Personal tools