Maemo: Contributing and long-term platform strategy

Great to see the interest on Maemo in the last weeks. As expected, traffic in the forum, in Bugzilla and in Brainstorm has increased impressively.
Discussions have been taking place (with regard to Bugzilla for example here or here) how to make infrastructure work out better for users, with some good proposals. I am also impressed by the patience and friendlyness towards new folks not searching for already existing threads or bug reports, partially pushing the limits of english grammar and punctuation, or towards folks having wrong expectations (Symbian is a completely different codebase than Maemo, hence talking about “regressions” is technically speaking wrong. If you want all of the Symbian functionality and lose some of the Maemo functionality, just get a Symbian device if it makes you happier). On a related note, I’m also trying to keep Bugzilla a technically focused place and make clear that it’s not a forum (“WTF???” comments are counterproductive noise if you want developers to read maemo.org Bugzilla mail, really).

Two issues that have been on my mind lately:

Open source community expectations are about taking (Give me the code!) but also about giving back (Let me provide patches in Bugzilla and have maintainers review them!).
Tarballs are available in the repositories, but hackers normally prefer the fresh code instead.

Photo by brentdanley, CC licensed

12 Responses to “Maemo: Contributing and long-term platform strategy”

  1. John Stowers says:

    I feel your pain.

    I need a new phone, and I am a developer, but I have no interest in buying a n900 because the Gtk+ based platform is dead from a developer point of view.

    So I might as well by a Android phone.

  2. Stéphane says:

    I’m planing to buy a N900 very soon,
    However I’m also concerned by the decision from Nokia to go away with the GTK+ platform.
    It’s a waste to throw all that work, and it is not good from a stability point of view.
    I certainly won’t buy the next Maemo device, if I can’t play/develop new GTK apps for it.

  3. aklapper says:

    Well, maybe my “abandoned” here was misleading.

    GTK+ apps will still run on Maemo6 of course, but GTK+ will not be officially supported. So you definitely CAN develop GTK apps for it.
    Same situation currently with Python in Maemo5 which is not officially supported, but available through PyMaemo.

    Just to clarify: I did not criticize the move from GTK to Qt as supported platform here, just the indecision and reluctance the decision might partially create for/among 3rd party developers.
    (And now somebody fix my broken English please. :-P )

  4. John Stowers says:

    Sure, I don’t mean to misrepresent you as criticizing the move from Gtk+ to QT. I think the official Nokia position is clear enough “Gtk+ will not be official supported in Maemo 6″

    I am just frustrated by the apologetics surrounding this decision.

  5. Valère says:

    Hi all,

    I’ve got my N900, I started writing apps 15years ago, and I’m newbie on mobile developpement.

    I’ll certainly use C++/QT but support on maemo5 is not well documented.

    Maemo5 is open, but it’s roadmap is not clear…. waiting for Nokia to be leader on this.

  6. osfight.de says:

    Is’nt QT available on Maemo5 and was’nt that an agurment for the missing apps, saying that the Symbian apps (once it is fully moved to QT) can be easily ported to Maemo?

  7. aklapper says:

    @osfight: Qt 4.5 is available for Maemo5, and for Qt4.6 for Maemo6 a preview exists here: http://qt.gitorious.org/maemo-6-ui-framework
    However when it comes to widgets these are simply not finalized yet. Hence you could of course reinvent the wheel all the time as a 3rd party developer by not using any widgets… :-P

  8. Claudio says:

    Don’t know if you haven’t looked at it from a different angle: I’m a maemo maintainer and even when I’ve been working in most of my modules on the public eye, patches coming from the community are practically non-existent. Not sure if the “giving back” part you refer to applies to a community as the maemo one, in which there’s a huge wall between framework developers and application developers.

  9. aklapper says:

    @Claudio: They are practically non-existing because it often takes ages to get them in, plus Nokia sometimes publishing only an ancient codebase (at least remembering the time between Diablo and Fremantle I have a module in mind where the public code and the internal code had a difference of one year so any patches always needed rework). Plus having to wait for your patch to get in is demotivating for contributors…
    So it’s not the community’s fault at all here.

  10. Andrew Flegg says:

    Indeed, Faheem and I submitted a few patches for App Manager (one of the most open application-level components) and they *never* shipped as part of Diablo. That’s pretty demotivating when we then have to look at the community taking over Diablo updates (i.e. more work) just so our patches can get into users’ hands.

    Of course, it’s nice when the N900 arrives and the patch is included but that’s a long time to wait!

    Patches and contributions happen as part of a feedback loop – there’s no incentive to create them from the community if they disappear into a black hole; the packages can’t be easily rebuilt on a developer machine for testing or the code is hard to find.

  11. Stephen Birch says:

    Why hasn’t Nokia put the development repositories online using git or similar? There is simply no excuse for only making outdated tarballs available.

    Google made the same mistake with Android and lost a huge number of disenfranchised developers. Contributors need easy access to completely up to date source, not some ancient tarball.

    Nobody wants to work on old code and then face the problem of patching when the real tree is published.

    Another problem .. the development tools are still too difficult to set up.

    The best idea is to publish a VirtualBox VM with all tools installed and ready to run. This was tried once before but is now obsolete. A prospective new developer should be running maemo on his/her PC in the development VM within minutes of visiting maemo.org.

    Make it EASY to contribute, not difficult.

  12. aklapper says:

    @Stephen Birch: “Why hasn’t Nokia put the development repositories online using git or similar?”
    This is happening step by step. Internal policy is for new open source projects by default to use a public repository. Yesterday GNOME Essentials were pushed to public, a few days ago e-d-s and hail were pushed, for example. See the progress here: http://talk.maemo.org/showthread.php?t=32477