Getting constructive about Nokia and maemo

4:59 pm freesoftware, maemo

There has been some criticism recently of Nokia and its handling of maemo – improving the state of affairs is one of the reasons why Quim contacted me and asked me if I’d be willing to work with the project to improve things.

The key to solving any problem is straightforward:

  1. Identify and characterise the problem
  2. Address one after the other the root causes of the problem
  3. Evaluate the situation after each change

This is similar to Federico Mena Quintero’s characterisation of profiling code. In fact, a surprising array of problems are suitable for attach with measure, change, re-measure, rinse, repeat.

The over-riding arc I’ve been hearing so far is “Nokia is hoarding control over the project, and aren’t doing enough to help the maemo community”. I think that’s a mite unfair, and often I get the feeling that people on the mailing list are confusing a reality where there are problems, but they are poorly characterised, and malicious intent on the part of Nokia.

Some examples:

  • No, Nokia isn’t all-powerful, and can’t make Google fix Reader so it works better in microb
  • Parts of the platform are restricted and can’t easily be replaced with later versions. Let’s get an explanation for that, and talk to the right person to get it fixed. Right now we don’t have the reasoning behind the decision, and that’s what’s missing in characterising the problem
  • “Nokia is keeping control of the project” – what are Nokia keeping control of? Let’s identify the list of resources that would be useful to community members, and work, one by one, on seeing if Nokia is actually keeping control of them
  • “The N8x0 tablets ship with proprietary components” – my priority is to ensure that you have documentation for everything possible on the tablet, but to me, there are two different things, maemo, the community project, and the N8x0 tablets, which are commercial ventures using maemo [*]

So I plan to apply this optimisation technique to various problems in maemo. For each proposal I make, I will be looking for feedback from Nokia and the maemo community to see if it is a step in the right direction.

For a start, I will be proposing policies for access to maemo resources, including maemo.org email addresses, the maemo trademark (which is of course linked to the email addresses), and any parts of the maemo platform which community members don’t feel are sufficiently open.

My goal is not to get everything open in doing this. It is to make clear the limits of the maemo project, and in this way ensure that expectations on both sides of the equation are coherent. I hope that Nokia will accept the proposals I make, but even if there are arguments against, I believe those arguments can be open, and clearly understood by all involved.

* I don’t believe that there has ever been ambiguity about this – all of the tablet which can be open is open, but some decisions to use closed components were made in the interests of product differentiation, cost and other reasons. The N8x0 is not meant to be a completely Free product (unlike the Neo1971 or OLPC, which do aim to be completely Free). What we should insist on is that someone buying an N8x0 has all of the tools they need to paperweight it with custom, non-Nokia, software, and access as much of the hardware as possible with free software.

14 Responses

  1. Joe Buck Says:

    My main concern about the non-free components in the N8x0 is not based on a purist insistence that every last bit must be free. Rather, it’s a fear that, after a couple of years, Nokia will abandon support, and that newer Maemo versions won’t work on older models. And, of course, this has already happened with the 770: 770 users have to run an older version of maemo and can’t run the latest and greatest. I was very close to buying an n800 when I thought about the implications of what happened to the 770, and realized that I would quickly be stuck with an obsolete device.

    This is very different from the situation with a laptop: new Linux distributions run fine on 5-year-old laptops. While the hardware wouldn’t have all of the features or advantages of a brand-new laptop, it would be able to run brand-new software with most of the features.

    I’d be more willing to buy a Nokia tablet if there were a commitment to have maemo support a given tablet for a much longer time frame, not just by providing fixes to older versions of maemo, but by having the very latest version of the software work on older models to the extent possible.

  2. ian Says:

    Yep, Joe Buck hit the nail on the head. The 770 shouldn’t have been abandoned yet. Switch to that Ubuntu ARM port they’re working on, keep hildon, and maybe the 770 could rise from the dead, restoring the community’s faith in Nokia.

  3. Dafydd Jones Says:

    Just some observation from a humble outsider…

    As far as proprietary components are concerned I think you are overlooking an important point: the 770 originally shipped with binary-only wifi drivers.

    I’m sure Nokia’s legal department has determined that they can legally get away with this, but it’s clearly a violation of the Linux kernel’s license – the GPL v2 – even if you argue it’s just the spirit of the license and not something that can be upheld in court.

    The 770 wifi driver situation has since been rectified (after the 770 was long discontinued) and I believe the same mistake hasn’t been repeated with later models, but the decision to ship binary-only modules has caused a lot of harm to the project because it put off many developers who respect other people’s license decisions – you build on top of their work and should respect their choice.

    More generally, I think together with a range of other decisions (binary-only flasher tool, gtk+ fork, etc., etc.) this has created an overall image of Maemo being a freerider project. The situation has improved since the early 770 days, but the image has simply stuck.

    I understand why those decisions were made from a business point of view, but it shouldn’t come as a surprise that under these circumstances it is hard to establish a traditional open source community around the project.

    – Dafydd

  4. ossi1967 Says:

    @Joe Buck: Thank you. Nothing more to add here.

  5. Daniel Says:

    Maybe a good idea, which may well be done already would be to create an opensource image (ideally for the n8x0 but would get the same results on a virtual machine). So you can than compare the standard nokia n8x0 software with the open version where the closed components are stripped out. Then try to perform a number of end user tasks and see where the open version is failing in comparison, publishing the results so the community can work on those missing areas or ask nokia to open those components. This could also be a good foundation/template for people wanting to customize the image adding software elements from else where.
    So when the n8x0 reaches it’s end of supported life the community has access to enough of the source that new images can be made but with a newer non nokia media player and updated kernel etc.
    I know a lot of this has probably been done and projects like ubuntu mobile using parts of maemo have probably done a lot towards this.

  6. foo Says:

    I’d like to see maemo eventually merged back into debian/emdebian.

  7. koos Says:

    Thanks to Nokia we finally have this nice linux device and the binary blobs we know is according to Torvalds a grey area that at least allows us to get linux on such hardware. Linux is about open source but also about having this nice Unix environment where we all love to develop against.

    That said, I think Daniel has a good point. Actually I would prefer to keep the binary blobs so we have a tree that works. Update the core libs (and beg Nokia for buying us a PowerVR library) so we can keep on with developing against the latest OSS futures.

  8. Hrw Says:

    It is not only matter of binary wifi drivers. What would be nice to see is a list of Maemo components with their open/close status and reason to be closed for non-open ones. Then cooperation with community to improve situation. I have read too much posts about openess of Maemo but each use of 770 or N810 reminds me that many parts are still closed.

    I would not split Maemo from Nokia tablets. This platform exist since 2005 and no one else released device with it. So for many (if not most) of people Maemo == Nokia tablets.

  9. Jerome Haltom Says:

    My main problem with working on Maemo is that it’s never been presented in a form that I’m comfortable in. To hack on it, I’ve traditionally had to install scratchbox, dump a bunch of weird stuff into it, and try to get it building using weird cross compiler stuff. To me this has always seemed odd.

    My honest wish is that Nokia would spend the time to rebase their devices distribution off of Ubuntu. There are already hildon packages in Ubuntu archives for their MID work. Those packages should be finished. Organized. Supported. The distribution for the N770 device could then be a pre-built copy of Ubuntu with some extra packages installed for teh binary only components.

    Working on the Nokia would then be as easy as working on my Ubuntu desktop. I could just work on the code in Ubuntu. Submit patches to Ubuntu. Those patches would find their way to the N*** devices on their own, or I could upgrade my N*** device to the latest Ubuntu unstable release and work on it directly.

    Additionally, the work for the Ubuntu MID stuff, and the N*** stuff would be shared.

    This would get more exposure for hte Maemo platform libraries as well.

    As it is now, Maemo is just too much trouble to significantly interest me.

  10. Jerome Haltom Says:

    I want to add, I’m unsure of the politics of something like that. I remmeber, at UDS-MTV, talking to Carlos about this very thing. I think at the time he agreed that it was an ideal circumstance, and that Shuttleworth could probably provide guidance. I never actually saw anything come of it, though. If Nokia were to engage Canonical, handing some money to them to provide consulting and hardware for the work, it would get done. It’s basically just an ARM port of Ubuntu.

  11. Marky Mark Says:

    good luck…really good luck…you have been handed the shit stick, no the shit end of the shit stick and so i really hope you keep sane
    Nokia !=Free software
    Nokia != Anything which even looks like free software (unless marketin g is involved)
    You will be fucked over , rafted
    and need to beg for your life…mark my words (give it 4 months max)

  12. keesj Says:

    Hi Dave.

    I really wish you had that super cow power. I think you are confusing computer problems with social problems.
    It is not all that simple. For one it starts with getting respect, getting to know people. Asking around and this post leaves me with the bad feeling “you already know it all”.

    Your activity is proof that Nokia is trying to do something good. I don’t think you should try to move yourself between Nokia and the community. I really hope this is all just a feeling because I wish the best for the maemo platform.

    greetings

  13. Andy Says:

    Closed components, fine, it is not a philosophical opposition but there is a serious shortage of ported software. Sometimes it is lighter to carry around an Eee PC than to port all of Ubuntu. But the functionality of an Eee PC can be achieved in a much smaller package. The N810 is too small. Don’t listen to all the girls who want a smaller device. First give us the ability to run all our favorite apps, then shrink the device later. The Nokia 9500 was released long before the Nokia 9300i shrink. I disagree that backwards compatibility is important. These devices are quickly obsolete because they are so underpowered. Sure it would be nice to have an optimized light Fennec browser but in the meantime we need to be able to run the desktop versions of software such as Firefox because mobile versions with the same functionality could be decades away. In other words, sure, add value through ARM mobile optimizations, but don’t let any closed components get in the way of running the full desktop software when a mobile version is not available. There is no value in having perky performance and long battery life if we can not run the Linux applications we need. Users who need to go beyond optimized mobile applications should be able to apt-get desktop apps with no porting required. All the whiners who want long battery life that can fit in their purse can buy a fashion phone, but we need the ability to run professional grade Linux apps without porting and worry about the long process of mobile optimization later.

  14. Andy Says:

    Andy, are you kidding ?

Leave a Comment

Your comment

You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

Please note: Comment moderation is enabled and may delay your comment. There is no need to resubmit your comment.