2009-11-08

Closed Source Components in Maemo 5

Several outdated pages may cause confusion about which components are closed on the N900, and I am hoping to write a more informative summary based on prerelease documentation. The parts vary from the worrying to the humorous - for some reason they even include a pulseaudio plugin that polices the volume.

The way I see it, there are three levels of closed source:

  1. Safe to Ignore
  2. Annoying
  3. Problematic


Safe to Ignore

These components aren't available under a free license, but are harmless to the future viability of the platform.

First, there's the obvious: trademark-related items. Themes, fonts, icons and sounds are not released to the community by Nokia. This is entirely understandable, and the free software community has no shortage of any of them.

Second, there's the cellular service daemon (not so obvious). Why should we not care about this crucial binary that's required for accessing radios? Because Nokia is doing so for us. They've started writing a GPL-licensed replacement in cooperation with Intel. Unfortunately, if you need a Free solution right now, you'll have to move this into category 3.

Finally, there's "startup wizard", "restore factory settings" and "clear user data framework". None of these are relevant to any modified OS.



Annoying

These are proprietary apps and libraries that ship with the device, but don't affect the availability of alternatives. It would be nice if they were Free, but we're not forced to use them.

A big one here is the whole location framework, plus the libcityinfo database. There are Free alternatives like Maemo Mapper, but that still means losing Ovi integration for other kinds of location services, which may become a compelling feature in the future. It would be nice if there were Free software that could interface with Ovi. Even from Nokia's viewpoint, that shouldn't prevent us from paying for the data itself. (2009-11-13: Gypsy daemon in location framework is in free.)

Strangely enough I can't conclusively determine whether the Mozilla-based browser will have a proprietary UI or not. On two separate pages from 2008, it is promised that it will be converted to FOSS by Maemo 5, but installing it in the latest SDK still pulls in several packages from the repository nokia-binaries, including tablet-browser-ui. On the other hand, this document categorizes the package tablet-browser-interface as "OSS Nokia", and this diagram agrees. I suspect we'll have to wait until the device ships to see what's actually on it (but don't worry, there's also Tear if you want to be sure).

The browser isn't the only component that used to be closed, but is moving towards FOSS at an uncertain pace. The page from above also says the following about the Device State Management Entity: "The component has been redesigned and the sensitive functionality has moved to mce, allowing to distribute dsme (soon) with an open license together with related tools and plugins" (2009-11-13: DSME is in free).

Outside of Maemo, there's the Nokia Loader (NoLo) and flash utility. If you can live with a motherboard that doesn't use Coreboot (LinuxBIOS), you can presumably live with these. Additionally, there's a closed binary for flashing the device from inside the OS (softupd).

Other apps that seem to be closed include calendar (2009-11-13: calendar-backend is LGPL), messaging, address book, backup and the UI of the media player (2009-11-13). The sharing library and bundled plugins (for posting things on Flickr etc.) are also closed, but you can still write your own plugins.

There are also closed libraries for:
  • single sign on
  • device information (sysinfod)
  • synchronization (iphbd)
  • profile handling (profiled)
  • media app playback state synchronization (libplayback)
  • pulseaudio plugins for audio processing etc. (PEP, EAP and AEP)
  • certificate management (certman)
  • interface for monitoring network time notifications (clockd and libtime)
  • event logging for real time communications (2009-11-13: rtcom-eventlogger is in free)
  • Funambol support (2009-11-13: feature diagram may be outdated. Can't find more info.)
  • wbxml converter (xml2wbxml)
  • some proprietary addition to Telepathy's Mission Control.


Problematic

You've already guessed what's first on this list: 3D graphics acceleration. The N900 uses the PowerVR SGX GPU, so don't expect official Free drivers any time soon. There does seem to be 2D support, though.

This is disappointing, but expected, as the situation isn't much better on the desktop side. Users of Intel's integrated graphics have long been the exception, but I'm not sure x86 hardware can help Linux from a marketing viewpoint, since that would also bring Windows binary compatibility to phones.

Can we hope that Nokia could/would pressure an ARM SoC manufacturer to release a chip with Free 3D drivers? I don't know, but developers should at least try to pressure Nokia.

Nokia wants to guard its energy saving methods and prevent battery explosions (or so they say), so the Mode Control Entity and Battery Management Entity will probably remain closed. There's also a closed app that provides user interfaces such as battery indicators (System UI). Personally, I'd be happier if things like these were restricted to the device firmware, since they're useless on non-Nokia devices anyway. Hopefully Nokia will at least allow redistribution for the N900, but in any case a replacement project already exists.

One component that turned out to be more benign than it sounded, but still not nice, is the Internet Connectivity Daemon. Applications are supposed to ask it to start the most appropriate interface based on availability and preferences. This can easily be handled by a mobile-optimized version of something like NetworkManager, but the reason it's a problem is that the API will be different. Fortunately applications are supposed to access ICD through an LGPL library called libconic. If you're wondering how replacements will work in practice, you should probably ask the Mer project, a fork of Maemo.

Other hardware that is known to require proprietary binaries: FM Transmitter (FMTX middleware)

Surprisingly, Wifi appears to NOT require a proprietary driver. This is better than many laptops!


Updates to this Page

I am fully expecting to have made mistakes and omissions due to the simple fact that the N900 hasn't shipped at the time of writing. If you notice errors, please make a comment and I'll post updates here.

2009-11-13: Turns out even this diagram was partially outdated, so some components were mislabeled as closed. Also noted media player UI is closed. Thanks, talk.maemo.org.

36 comments:

  1. Fantastic articles! I really look forward to reading your insights into how I can get the most out of my N900. Articles like yours allow the non-programmer, but still interested in tech, people like me to better understand why the N900 and Maemo 5 are so great. Keep up the good work, and know that there are many of us looking forward to the next post.

    ReplyDelete
  2. How about Funambol support? This blog is a first spot where I have found any information concerning this excellent SyncML service. Are you sure that Funambol is supported?

    ReplyDelete
  3. Thanks, Russell!

    LaruX, I'm not so sure anymore. I thought the diagram I got that from was up to date, but it turns out that it wasn't, since several components that are open were labeled as closed. Unfortunately I can't find any other page where Funambol is discussed. I've made a note in my original post.

    ReplyDelete
  4. I am thoroughly convinced in this said post. I am currently searching for ways in which I could enhance my knowledge in this said topic you have posted here. It does help me a lot knowing that you have shared this information here freely. I love the way the people here interact and shared their opinions too. I would love to track your future posts pertaining to the said topic we are able to read.

    ReplyDelete
  5. Thanks for taking the time to discuss this, I feel strongly about information and love learning more on this. If possible, as you gain expertise, It is extremely helpful for me. would you mind updating your blog with more information

    ReplyDelete
  6. Hi,
    Really this is awesome blog post here.... keep posting. Thanks very much!

    ReplyDelete
  7. very nice and i like the way you express everything. I hope every reader take advantage of this useful info.

    ReplyDelete
  8. Hi, great article. The way you explained it is really awesome and makes every one to read till the end. keep posting..

    ReplyDelete
  9. Good post. Very impressive. Thanks for sharing.

    ReplyDelete
  10. that's very good info
    i think i will put some my own blog :D
    cheers
    Denver Aquarium Coupons

    ReplyDelete
  11. I am thoroughly convinced in this said post. I am currently searching for ways in which I could enhance my knowledge in this said topic you have posted here. It does help me a lot knowing that you have shared this information here freely. I love the way the people here interact and shared their opinions too. I would love to track your future posts pertaining to the said topic we are able to read.
    Penis Enlargement | Penis Enlargement Pills | VigRX Plus

    ReplyDelete
  12. This is entirely understandable, and the free software community has no shortage of any of them.

    ReplyDelete
  13. This is my first opportunity to visit this website. I found some interesting things and I will apply to the development of my blog. Thanks for sharing useful information.Hermes replica hermes birkin replica

    ReplyDelete
  14. Very well written. You got every point explained. Loved the whole article! Many thanks!
    vrnjacka banja smestaj
    vrnjacka banja privatni smestaj

    ReplyDelete
  15. Interestingly briefed. I am glad to have these information from this blog. I have read the whole thing in detail. And how people interact each other is appreciated.

    ReplyDelete
  16. I was searching the syncML service.But unfortunately could not find it..But here I found this excellent service of syncML.I am really impressed that this is presented here in such a way so that anyone can understand it.

    ReplyDelete
  17. I'm so excited. I really appreciate sharing this great post. Keep up your excellent work.
    bojanke za decu
    bojanke
    gledanje u solju

    ReplyDelete
  18. At last! I found a good post like this.. Thanks for this informative post! By the way, can you write a post about plaxo seo factors? Thanks again!

    ReplyDelete
  19. Excellent post. I want to thank you for this informative read. I will bookmark this site and visit again..
    Banje u Srbiji
    Banje Srbije

    ReplyDelete
  20. Thanks. it is a very good solution . It is perfectly works .

    ReplyDelete
  21. I'm so excited. I really appreciate sharing this great post. Keep up your excellent work.
    seo optimizacija
    tekstovi pesama

    ReplyDelete
  22. I will bookmark this site and visit again. It is very informative. Thanks for sharing.

    ReplyDelete
  23. It would be nice if they were Free, but we're not forced to use them.

    ReplyDelete
  24. Some times its a pain in the ass to read what blog owners wrote but this website is really user friendly !

    ReplyDelete
  25. Hey I've heard some rumors about this but I was not sure, however thanks for post this information.

    ReplyDelete
  26. The browser isn't the only component that used to be closed, but is moving towards FOSS at an uncertain pace.

    ReplyDelete
  27. I want to thank you for this informative read. Loved the whole article! Thanks for sharing.
    Grow taller exercises
    Exercises to increase height
    Stretch exercises to grow taller

    ReplyDelete
  28. i had maemo5 on my nokia n900 and i was very satisfied

    ReplyDelete
  29. The browser isn't the only component that used to be closed, but is moving towards FOSS at an uncertain pace.

    ReplyDelete
  30. very nice work.i really like the way you expressed everything.others can really take advantage from your useful information that you shared.thanks for sharing

    ReplyDelete
  31. I heard about this maemo5 and if i will buy in the near future a cell phone from nokia i'm gonna install this program!

    ReplyDelete