The Maemo Community, that is, the community of people using devices like the Nokia N900 and its predecessors is holding elections for its community council. Instead of looking at this like a beauty contest of geeks, I thought, as an old political organizer and blogger, I would look at it from a political standpoint. For my regular readers who are not interested in geek politics, feel free to skip this. However, if you are interested, read more below.
One of the first questions I came up against when I started working with the Nokia N900 was, “Can it run Java?” According to the Java page on the Maemo Wiki, the answer was, “It’s not supported, but here are a few things you can try.” So, I poked around and made a little progress.
When Nokia and Intel announced plans to merge Maemo and Moblin into Meego, one of the great issues was what format of packages should be used, DEB or RPM. It prompted me to see if I could tweak my N900 to install RPM packages. I also loaded a memory stick with Moblin to boot up one of the laptops around the house to use Moblin. Since then, there has been a meeting of MeeGo community to discuss the infrastructure for the MeeGo community and some interesting discussions on different mailing lists.
As I explored DEB and RPM package formats, I came to the conclusion that the format does not matter as much as the distribution system. Since I run several Ubuntu based machines, I’ve gotten used to using APT which does a nice job of installing DEB formatted packages and tracking dependencies. Others have said that YUM is really nice for RPM based packages. Others have spoken about APT-RPM to install RPM packages using APT. Apparently, this is being discontinued as people move to the Smart package manager. I even installed Smart on my N900 to kick it around, and I really like it.
One of the things that I really like about Smart, besides its ability to use both DEB and RPM formats is its ability to support multiple repositories with different priorities given to each repository. While different groups want their repositories to be the highest priority, this may get more complicated as we move into a MeeGo world. Do I want to get MeeGo packages? Based on discussions within the MeeGo community, it currently looks like the MeeGo repositories might not have any packages that depend on other packages that are not open source. So, I may need to search MeeGo repositories as well as Nokia specific repositories. Then, I have to decide which ‘extra’ repositories I might want to search. On top of this, it may be that people will want to opt out of the MeeGo repositories, the Maemo repositories, or any future vendor specific repositories to create their own apps stores.
Personally, I think this is a good idea. At one end of the spectrum, you will find people that want to get applications only from official application stores. These sort of people probably like Apple’s App store. On the other end, you have people that want to be able to get applications from just about anywhere. There are risks to this. You need to make sure that what you are getting from one source does not conflict with what you get from another source. You need to be sure of the reliability of your alternative sources and be sure that you are not downloading viruses or trojans.
One tool that might help with this would be a new Hildon Application Manager (HAM), based on Smart that could use both DEB and RPM formatted packages. It could initially come pointing to the repositories preferred by the vendors, but could easily be modified by users that want to use some other application store.
Meanwhile, the discussions will continue about why people might want an external repository and what those running more official repositories can learn from that. Related discussions will continue about what sort of infrastructure will be necessary to support application development, testing and deployment in the MeeGo world, whether it is officially part of the MeeGo community, or is set up by others to meet their specific needs. We can all learn a lot from these discussions.
Yesterday, members of the #meego community gathered in an IRC channel to discuss what sort of services the community needed. It was a well attended covering topics from build services and repositories to forums and mailing lists. Every once in a while the discussion would drift off into religious views about one system or another but the meeting was well run and rapidly brought back to the topic at hand.
According to the logs, forty-five different people spoke at the meeting, which hopefully brings a broad representation of the community as a whole. However, since it was on IRC and talking about the details of the services provided, it may well have been a self selecting crowd that left out the largest and most important group, the end users. Many of the decisions being made are likely to affect end user experience, and I believe many of the end users really don’t care a lot about whether or not a given application is completely open source, or if it depends on components that are not open source. I suspect that many of them, likewise, aren’t especially concerned with whether or not the people doing quality assurance are third party people that have access to read the source code or not. However, these seemed to be the issues that many in the meeting were most interested in.
The importance of the distinction between the developers perspective and that of end users was brought home to me by an article in Rethink Wireless today about a TNS report that found users are now swayed by apps as much as carrier brands.
Every day, I receive emails from various organizations launching new applications for the iPhone asking me to review and blog about the applications. I always respond with a question about their plans to be made available on other platforms. Typically the response is that maybe they’ve considered porting the application to Android at some point, but they’ve either never heard of, or not seriously considered porting to the N900, Maemo or MeeGo.
I remember years ago the difficulty of getting corporations to consider Linux and even now the difficulty of getting home users to consider using Linux. Given what I’ve seen of the MeeGo community so far, I have doubts about MeeGo ever getting beyond being a toy for hobbyists. This is unfortunate, because MeeGo has the potential to become a great platform and a chance to illustrate the advantages of open source development.
Can Intel, Nokia and LG step in and help developers focus on the bigger picture? I don’t know. However, until something like that happens, I’ll keep playing with my N900 as a great cell phone for hobbyists. I’ll kick around Moblin and eventually MeeGo on a netbook or two, but I’m unlikely to spend a lot of time taking what I’ve written and packaging them for wider distribution and I’m probably even less likely to recommend Maemo, Moblin, or Meego to anyone except my geekiest friends.
Ever since the announcement that Moblin and Maemo would be merging into MeeGo, there has been a raging discussion about whether rpm or deb packages should be used. At times, this has led to some good discussions about the technical merits of different packaging and distribution systems and the package formats they support. However, more often, it seems to be a heated exchange of religious viewpoints. Initially, I thought this was simply a traditional open source religious feud, but I’m beginning to think that it is much more than that. I now believe it is a battle for the third estate of mobile devices.
It seems as if the mindshare battles over mobile operating systems have settled down to iPhone versus Android. Yes, there are lot smartphones out there with their proprietary operating systems, and new ones coming every day. But it seems like iPhone and Android have captured the attention of most. They are, in the mobile world, the new Mac and PC. Sorry, Microsoft, I just don’t see the Windows Mobile stuff lasting. Like the desktop and laptop world where people argue about Mac or Windows, and there is a third estate of various forms of Linux, it seems like the same is happening in the mobile world. Two of the most credible Linux efforts in the mobile world seem to be Moblin and Maemo. The merger of the two seems like a good thing for the future of the Linux third estate in mobile devices.
Yet when any two communities merge, there are interesting dynamics. Over on the Nokia side, people seem to believe that Maemo Harmattan will be the first version of MeeGo. People argue whether or not this will run on the N900. These are the two topics in what is now called the MeeGo / Harmattan thread in the OS /Platform section of the Maemo Talk system.
Meanwhile, LG is trying to position their Intel Moorestown powered LG GW 990 as one of the first Meego based mobile devices. This is be based on the Intel Moblin platform. One Moblin developer has written How to build Meego images (a.k.a moblin 2.2) and another has information on updating the Broadcom drivers for running Moblin on a Dell Mini.
In a related post, he writes,
Nokia, in my opinion, have decided to abandon the Maemo platform and move their application stack over to Moblin. This was obviously bound to cause uproar in the maemo community. So in my opinion the MeeGo project and the portrayal as a merger is a PR stunt to try and save Nokia some face.
Based on the discussions on the Nokia based forums, this does not seem to be the case, but it does, perhaps illustrate the real reason for all the heat in the deb versus rpm debates. The MeeGo community will be made up of people paid by Intel and Nokia as well as enthusiasts for both the Moblin and MeeGo platforms. People are fighting for turf. They are fighting to feel not abandoned.
I would also suggest that they are fighting based on a narrow view of MeeGo. MeeGo’s website tries to position it as the platform for Netbooks, Pocketables, In-Vehicle, Connected TVs as well as ‘media phones’. As people fight for their little bit of mobile Linux turf, they are missing the bigger picture.
What might it be like to have the same operating system on the screen in the back of the minivan, on the navigation display on the dashboard, on the cable set top box, on the Blu Ray DVD player, on the Digital TV, on a netbook, an eReader, and a smartphone? Each of these devices have different user interface requirements, different connectivity requirements, different location requirements and other differences affecting what the operating system presents to the user. As an example, I don’t need GPS on my Blu Ray player, but I would really like to be able to download videos off the Internet that I could record to Blu Ray, play on my TV, my smartphone or the screen in the back of the minivan.
Likewise, different devices might want Bluetooth connectivity, wired internet connectivity, WiFi internet connectivity, 3G data connectivity, or different types of cable data (DOCSIS) connectivity. Some may provide for lots of data storage, some for much less.
Can MeeGo deliver an Operating System that will nicely meet all these needs? An open source Operating System that will get other smartphone manufacturers to use MeeGo instead of Android? Get in-vehicle manufacturers and various television manufacturers to use MeeGo? If so, MeeGo has a very interesting future. On the other hand, it might just get derailed by people more concerned about whether MeeGo looks similar enough to their current Moblin or Maemo operating system. I hope this won’t be the case.