Friday, February 19, 2010

The Mer Project - just a bunch of redshirts?

Recently, big news arrived: The MeeGo project. But let me start with some history. In May 2009 some key members of the Mer project met up for the first time 'in real life' at the Mozilla Maemo Danish Weekend. At this event, we got some very characteristic t-shirts - very very red ones, which we since have worn proudly when we were meeting up again at various events and countries, as we could recognise each other.

While we were introduced as Maemo 5 community edition for the Nokia N810/N800/770 Internet Tablets we were far more ambitious - we loved the principle of Maemo so much that we wanted to reconstruct it, in order to make it better, more suitable for the future - because we thought the platform would not survive otherwise.

We wanted to get away from the notion that a tablet was an embedded system - Tablets are not under-powered embedded systems, they are powerful, power-efficient, economical handheld computers. We wanted to make Maemo a general platform for tablet devices. We wanted to Make it more developer-friendly. More hackable. Align with standard Linux distributions. This was to be done by separating the device and platform code - have open development of the Maemo platform - the device-specific and vendor-specific differentiation
development can be closed and many other things.

The goal was for the core Mer system is fully open source and cross-platform, open for anyone to adapt to their devices. We got far, we have something that works, but it isn't ready for users yet - Mer was a research project to try and help Maemo towards our goals.

A comment (as I recall it) from Maemo Summit 2009, where we Mer members met up again, performed several presentations - again, wearing our red shirts - "We're just a bunch of redshirts.", ambitious ensigns in red shirts - did this come true?

Some background, as it might be a bit geeky. Quoting wikipedia:

Redshirt is a slang term for a minor stock character of an adventure drama who dies violently soon after being introduced in order to dramatize the dangerous situation experienced by the main characters. The term originated with fans of the science fiction television series Star Trek, from the red shirts worn by Starfleet security officers and engineers, who frequently meet their demise during the episodes.

Fast-forwarding to this week, when the MeeGo announcement broke. Reading the pages, many things seemed familiar:

From Quim Gil: MeeGo is just like you would expect a free Linux OS to be: based on the standard Linux and Free Desktop technologies and developed publicly in a project open to all contributors

From architecture page of MeeGo:

The MeeGo OS Base layer
contains the Linux kernel and core services along with the Hardware Adaptation Software required to adapt MeeGo to support various hardware architectures.

The MeeGo OS Middleware layer
provides a hardware and usage model independent API for building both native applications and web run time applications.

From governance:

There is no admission process or membership fee for MeeGo; just your desire to join the project and contribute.

Any individual or organization can join and get involved in software development. We also welcome other ways of contributing to the success of the project, including writing documentation, testing, and marketing.

And so on - it was like someone had listened to our ideas and wishes..

Basically, MeeGo was what we hoped to achieve with Mer, and it's silly to continue separately instead of collaborating. Now, with the announcement - is the Mer project members then just a bunch of redshirts who helped move the plot along but in the end, is out of the game when the main characters continue with the plot?

No. I don't think so. In Mer, we managed to accomplish many interesting things:

Easy development for mobile devices
We showed it was possible to develop for your mobile device just as easily as developing for your desktop PC. That we didn't need Scratchbox: We began every interesting experiments with OBS (Open Build Service), where our build guy - David Greaves (lbt) made some extremely nice experiments, showing that cross-compilation could work without hassle, even for packages normally requiring native compilation. He's BTW, having a day job working with MeeGo and OBS now - helping to bring the Mer development experience into MeeGo.

Power saving and distribution alignment
Showing that it was possible to retain power saving while making porting easy by having easy access to Debian (or any distro's) huge library collection.

That the community was capable of organising OS development too

That multiple device communities could work together on a common base that would benefit them all.

That we were able to help create policy, identify problems

Some of the things coming out of Mer:

The vendor social contract
- a social contract for vendors to commit to, in order to have community spending time on them and not waste their time and end up with locked devices with a open system.

Token based access restriction - a way to deal with closed sourced binaries in a open system in a way that is liveable both technically and legally.

Why an upstream basis shouldn't be a goal, but a policy alignment on mobile devices

Immediate involvement of contributors interested, that any contribution is valuable and the list goes on..

So, are we out of the plot now that the main characters have stepped in? No. My experience has been that this is a new house for us to paint and move into. A fresh start - it would first have happened in many years at the pace we were going.

The developers I've met from the Moblin side has been very open, willing to discuss - and even spoken with one of the two top guys in MeeGo. Us redshirts fit in the MeeGo project because we have experience enough now to discuss and argue on equal footing and to help to shape the future - and to create it. Like we always wanted.

For those wanting to pursue the dream (and reality now) of a open mobile Maemo platform - MeeGo is the place and that's where I (and hopefully my fellow redshirts) will go to contribute to the future of mobile Linux.

So, what will happen to Mer? We'll still be a subsection of the MeeGo community arguing for our positions, our ideas, our hopes and helping out where we can. Best way to shape the future is by participating.

Mer as a system will live on in Mer^2. A quick summary is it is a Debian 5.0 system building inside OBS with tricks making it feel like a Scratchbox for the packages, which makes most of the Fremantle platform build on it. It will work on X86 and on N8x0. Mer 0.17 will be imaged up soon and published - those who want to continue with that can. The goal is not to make a fully open source system - it will serve purpose to be a foundation on which to build a backport of Fremantle for N8x0. The hope is to be able to build most of closed things for Fremantle for N8x0 using this.

Thanks for reading. This is a bit of post-mortem for the ambitious part of Mer. Which keeps on living in the MeeGo project. This blog will be mostly devoted to Mer^2 discussions and maemo.org distmaster related issues. A role which I am yet to figure out how fits in the MeeGo community - but I'm hopeful.

9 comments:

  1. Well, since the first day I knew MeeGo, I was expecting MeeGo is merging Maemo, Moblin and Mer as well. Actually so far I only see one clear thing from technical perspective is OBS is chosen besides Qt thing.

    However, I'd like to see some debian based MeeGo distributions, which was Mer's target too. But I believe that Ubuntu MeeGo Remix isn't far away (Should I say Kubuntu MeeGo remix?).

    I will continue work, really work on MeeGo as Qt is picked :-)

    ReplyDelete
  2. Im only worried about the status of support for other devices. I was just getting the idea of trying it on my Dell Axim x50V (very simmilar) to the Pocket Loox.
    Ok. Maybe its time to let it go.

    ReplyDelete
  3. The RPM vs DEB part was never part of Mer's strategy - people are welcome to implement MeeGo compatible things like Maemo6 intend to do.

    I think on the other hand, it's a lot of work for a packaging decision difference..

    ReplyDelete
  4. Regarding other devices: It certainly is going to be easier with MeeGo, with OBS and a free base system.

    ReplyDelete
  5. Thanks for a great post from a temporary, yet still dedicated redshirt. I feel both commited to MeeGo and the Mer idea now.

    ReplyDelete
  6. Linux is one of the most beautiful things ever ... thanks to everyone supporting it in anyway :)

    ReplyDelete
  7. RIP Mer and the prospect of an update for my N810 :/

    ReplyDelete