Let a Thousand Open App Stores Flourish – MeeGo Smart HAM
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.