Open development/Why the closed packages

(Requesting the opening of closed components)
(added note about Calendar)
Line 95: Line 95:
* [ telepathy-spirit] - This connection manager might be useful for people using Telepathy framework and Skype on desktop computer.
* [ telepathy-spirit] - This connection manager might be useful for people using Telepathy framework and Skype on desktop computer.
* [ getbootstate]
* [ getbootstate]
* [ Calendar]
* [ Calendar] - will remain closed for Fremantle and MeeGo.
== Opened ==
== Opened ==

Revision as of 15:44, 19 February 2010



Open source is the licensing model preferred by Nokia in the development of Maemo. There are some reasons to have exceptions, though.

  • Brand: Nokia wants to keep a strong brand and identity avoiding any risks of dilution.
  • Differentiation: Nokia wants to gain competitive advantage in certain areas by keeping the related software closed.
  • Legacy: Nokia keeps some components minimally maintained - the work of opening them has an unclear outcome.
  • IPR & licensing issues: Nokia avoids serious risks brought by patents, copyrights or complicated licensing situations.
  • Security: Nokia avoids safety risks and liabilities that could be caused by freeing access to certain hardware components.
  • Third party: Nokia does not own the code and therefore does not decide on the license.

Specific reasons for packages

This list needs update as it mostly refers to Maemo 4.1.

  • tablet-browser-ui: At the beginning there was a proprietary browser. In Maemo 4.0 the Mozilla based browser came, with an open engine (MicroB) but still a closed UI provided by tablet-browser. The main reason was the default rule to have the Maemo applications UI closed for differentiation. The context in mobile browsing has changed significantly and now there are better reasons to offer also an open browser UI. This is the plan for Fremantle.
  • Bookmark manager: Closed because of legacy and the default rule to have the UI application layer closed. However, the licensing of this component is being reviewed and it could be opened in Fremantle. Filing an enhancement request and seeing the interest and potential use cases would be something the community could do. Deadline: Fremantle beta SDK release.
  • Media player: Currently closed because of the default criteria of UI differentiation. In progress, though. The engine is being opened in Fremantle, in the form of a Media Application Framework also available for third parties. The UI is open for discussion, as you can see in the Comment #5 of the enhancement request. For instance, it would count a lot seeing a will to converge efforts and contribution from the many third party media player projects.
  • Connection applet: Legacy. The applet itself is not much but it unveils all the Connectivity middleware which is also closed. The whole Connectivity framework is having major changes in Fremantle and Harmattan, and the resould could be a much open framework altogether (applet included). Too soon to tell.
  • Display applet: Legacy. Opening it could be considered if really needed. From the comments in the bug report it looks like the need is not that big though?
  • Location framework: Differentiation. Nokia is investing heavily in location software and services, that are planned to be implemented in Maemo during Fremantle and Harmattan.
  • libmetalayer: Legacy. Substituted in Fremantle by open source upstream Meta Tracker. See this comment about the possibility to open it still.
  • osso-dsp-modules: DSP component provided by Texas Instruments. Note that the DSP packages provided by Nokia are open source: osso-dsp-loader, osso-dsp-headers. If you are interested in open source DSP development then DSP Gateway (developed by Nokia) might get your attention. However, the introduction of PulseAudio in Fremantle gives an opportunity to platform developers to forget about the DSP completely.
  • dsme: This component covered many areas including power management, which is considered a differentiation area by Nokia. 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: bootstate, dsmetool, waitfordsme,,,,, and Then will be replaced by another component consisting of several dsme open source plugins. Finally, will be dropped.
  • bme - Battery Management Entity: Security. A misuse of the could lead to serious battery damages that could result in liabilities for Nokia. hald-addon-bme is a related package, also closed.
  • mce - Mode Control Entity: Initially closed for differentiation because of its impact in battery life, an area where Nokia strives to excel. Nowadays the differentiation aspect is lighter but legacy plays a role as well.

Not in the device but also relevant:

  • Flasher: Utility to flash the device from a Linux computer. Currently closed for legacy, considering the move to an open project to ease and encourage the development of versions not supported by Nokia e.g. Mac OS X and PowerPC.

Requesting the opening of closed components

If you want a Nokia closed component to be open, please see Open_development/Licensing_change_requests

The chances of success of your proposal will probably depend on how it fits within the following reasons for a relicensing:

  1. Fixing a bug: The package is in non-free although it looks like it's actually an open piece of software. In this case forget about Brainstorm and simply file a bug and CC distmaster on carsten.munk at
  2. Nurturing application development: There is a strong argument proving that opening a component will bring more and better apps for end users.
  3. Spread of Maemo driven technologies to other platforms: A component fits well in a gap existing in other Linux/OSS based projects and there is a concrete interest on collaborating and contributing to a component if it's opened.
  4. Community maintenance: A component is receiving low attention from the official maintainers even if it has high attention from the community and there are developers volunteering to contribute to it if the source code is available.
  5. Better architecture: Probably covered by 2 or 3 but just in case. A closed component is sitting in the midle of open components making things more difficult that needed to developers interested in that area.

Waiting list

If you want to know the specific reasons for a package to be closed please list it below and the Maemo team will answer as time permits. You can also add comments to a certain package to drive attention/priority to it.

Requested at Bug 1584 including comments:

  • File Manager
  • activate_panel
  • bt-cal
  • cal-tool
  • fb-chaimage
  • text2screen
  • wlan-cal
  • wlan-fw-update
  • retu-time
  • show_image
  • battest
  • dspctl
  • the script linuxrc
  • BME
  • libi18n-locale-resolver0

These packages are included in the nokia-binaries metapackage offered with the Maemo SDK:

  • hildon-task-navigator-bookmarks
  • osso-bookmark-menu->osso-bookmark-engine->osso-bookmark-user
  • osso-browser-translations-dev
  • libaccounts-dev ->libaccounts0
  • libaccounts-doc
  • libosso-abook-dev ->libosso-abook
  • libosso-rtcom-accounts-dev ->libosso-rtcom-accounts0
  • libosso-rtcom-accounts-doc
  • osso-addressbook ->libcontact-importexport
  • osso-contact-plugin-dev ->osso-contact-plugin
  • osso-mission-control ->libplayback-1-0 ->libimlogger0
  • libconbtui0 ->
  • liblocation-dev ->liblocation0
  • libossoproductinfo0 ->libdsme0
  • libgpsbt-dev ->libgpsbt
  • libgpsmgr-dev ->libgpsmgr
  • libogs1.2-dev ->libogs1.2-1 ->libosso-filemanager-interface
  • id3search -> libmetalayer0 ->libgisds-gtk-dialog0 ->libgisds0
  • osso-global-search
  • osso-applet-certman ->certs ->osso-clock
  • libosso-certman-dev ->libosso-certman1
  • osso-help-ui

Other Requests:

  • mnotify (Webmail Notifier) - Open source could allow it to support other webmail providers, and fix minor issues like bug 2066 as it is apparantly low priority for Nokia. Note: mnotify was dropped for Maemo5 by Nokia.
  • telepathy-spirit - This connection manager might be useful for people using Telepathy framework and Skype on desktop computer.
  • getbootstate
  • Calendar - will remain closed for Fremantle and MeeGo.