How free is the Nokia N900?

Dear readers,

So, I’ve been looking into buying a Nokia N900. However, what it provides regarding freedom is still not completely clear to me. And given that it is significantly more expensive than other smartphones, I’d like to make sure that it’s not a loss of money :-)

– Can I download the full source, recompile it, build a firmware from it and re-install my Nokia N900 from scratch? Is the process documented? It seems that you need to accept a EULA to download updated firmwares, and I couldn’t find the source for them. What exactly is available from firmware that is not available through normal repositories? (Are normal repositories only for “extras” apps, or is the base system also installable / upgradable from them?

– What’s the content of /etc/apt/sources.list? What exactly is http://repository.maemo.org/pool/maemo5.0/nokia-binaries/? What does Nokia need to hide? :-)

– Would it be possible to develop a Centos-like distribution, installing the Maemo firmware, but then upgrading everything to rebuilt versions using an unofficial repository? Are there some applications that are not packaged, or that would break if re-installed that way?

– Could I install Debian or Ubuntu on the N900? Is the process documented? Is it possible to dual-boot between, say, Maemo5 and Debian? (I’m not talking about setting up a chroot, of course)

– Besides the non-free telephony stack, are there any other “antifeatures” I should be aware of?

Thanks.

14 thoughts on “How free is the Nokia N900?

  1. Take a look at the Free Maemo wiki page. It’s not completely accurate — rtcom-eventlogger is now free, and Mission Control is mostly free as opposed to being totally non-free — but it might answer your questions.

    (No, you can’t rebuild the whole platform from scratch: almost all of the user-visible applications are non-free.)

  2. – Can I download the full source, recompile it, build a firmware from it and re-install my Nokia N900 from scratch?

    Not completely, as some parts are closed source[1]. But there is Mer[2] which wants to provide an open community-developed distribution.

    – Would it be possible to develop a Centos-like distribution, installing the Maemo firmware, but then upgrading everything to rebuilt versions using an unofficial repository? Are there some applications that are not packaged, or that would break if re-installed that way?

    As far as I know, everything is packaged, but as not all packages are opensource this does not work completely. But for the open source parts, this should work. And most of the closed source parts could probably be replaced by open source ones as long as they share the same DBus API. After all, this is a Debian-based system.

    – Could I install Debian or Ubuntu on the N900? Is the process documented? Is it possible to dual-boot between, say, Maemo5 and Debian? (I’m not talking about setting up a chroot, of course)

    Should be possible, although I did not try it. But you could even compile and run Android on this device, so Debian should be possible as well. And Mer uses Ubuntu repositories, so this is another option.

    Besides the non-free telephony stack, are there any other “antifeatures” I should be aware of?

    The tool for flashing the images (flasher-3.5) is non-free, some build-depends of the kernel are non-free, power management is non-free, and more stuff as well. The SDK is also partly closed source.

  3. The N900 runs Maemo 5 which is is semi-free: most of the platform is free, many of the builtin end-user apps are closed.

    Also check out Mer: it essentially takes all the free bits of Maemo, and adds some free replacements for the closed-source bits.

    I heard on IRC that the upcoming 0.17 release will support the N900. I don’t know how complete the support is (e.g. whether or not you can make phone calls, use the GPS, etc.).

    Speaking further of freedom, it’s nice that there’s no Tivo-ization-style lockdown going on: you’re free to flash a different kernel/root filesystem image, or get root access on the factory image and do whatever you like to it.

  4. I am a Maemo enthuasiast, N800 owner, and long time Debian user. I hope I can help.

    There is a never-ending argument about how much of Maemo is free. Some people say 100%, some people say it’s actually 90%. If you want to get into the details, visit talk.maemo.org.

    Now on to more important facts:

    1. Yes, there are “alternative” repositories you can get pacakes from. In fact, you really should pick stuff from there, because the “official” repos usually have very little movement.

    2. Yes, you can get Debian stuff! Look out for “Easy Debian” by a folk named qole.

    3. And the most important, IMO. Yes, you can dual boot! At least you can in the previous tablets… You can run Mer, for example, a distro created by Maemo users for many reasons, and that is even being used in other devices. It is possible to install Android too, if you care about that thing. (Of course, with the usual limitations of installing Android in an non-official device.)

    4. You didn’t ask, but to me this is the coolest. It’s very easy to develop in Python for it. If you are a pythonista, I believe it’s you best choice. I’m not sure other platforms are so easy.

    5. Regarding “antifeatures”, what have most bothered me in Maemo 4 was that some of Nokia’s programs weree not open. So there are some long standing bugs around that are not getting fixed. But Nokia has been learning a lot, opening or substituing the closed parts. The telephony stack, for example, should be changed in the next years for ophono (or whatever is the name). And you can always simply opt for installing pidgin, claws and fennec…

    Now, about the price, what have you seen out there so much cheaper? It’s just because of subsides, right?…

  5. I can’t speak for whether Nokia locked down the N900 more than their previous Maemo platforms for the sake of the cell phone networks, since I only own a Nokia 770.

    I have run Debian on my Nokia 770 (http://talk.maemo.org/showthread.php?t=13925, it was very slow running from my MMC card), and I’ve flashed other distributions (specifically Poky Linux http://www.pokylinux.org/, which didn’t have WiFi support because the 770 WiFi driver is closed source).

    There’s also Mamona (http://dev.openbossa.org/trac/mamona/), which has a much more complicated install process because you build the image yourself and it copies the closed-source drivers from an official firmware image.

  6. I picked one up. As others have stated its not completely free. Lots of phone related stuff is closed, and apps like Ovi Maps and Mail for Exchange are closed.

    There’s an App store in beta that’s part of Nokia’s larger plan to compete, but so far it looks like the open source Maemo Extras is a better ecosystem. As requested here’s a sources.list reference. There’s an auth file as well for Ovi; seems kinda pointless to me on a mass market device.

    As for important antifeatures:
    * The phone doesn’t support USSD for queries like how many minutes are left in your account etc.
    * The root fs is painfully tiny; firmware 1.0.1 was released just to compress the thing more before releasing update 1.1.
    * Relatedly, maemo packages should be /opt-ified in order to preserve space on /
    * changelogs are crammed into control file fields, but few people know or use this.
    * GPS appears to be buggy. not sure if it’s just ovi maps or something lower down.

  7. Hi,

    Thank you all for your comments!

    One last question: kernel lock-in. Apparently the N900 is shipped with a 2.6.28 kernel. How hard would it be to rebuild it, or switch to a newer kernel release? I’m a bit worried, for example, that some useful kernel modules would not be enabled.

  8. Lucas: there are a couple of third-party modules for the Nokia kernel in maemo-extras (CIFS and NFS I think), so at least *someone* has managed to compile them… :-)

  9. Before the latest software update, people were building their own kernels. Most people stayed with 2.6.28, but I believe that some tried newer versions.

    Since the update, the nokia kernel build-depends on a package called “fiasco-gen”, which isn’t available in any of the repositories (see https://bugs.maemo.org/show_bug.cgi?id=7972). I’m not sure what this tool does, it’s called on the compiled bzImage file.

Comments are closed.