Open development

(New page: First step for a single page listing the places where Maemo related open development is happening (links still missing): == maemo.org == Evolving slowly, still a lot to do. * stage.maemo...)
(Community SSU: github now. gitoriuos dead)
 
(40 intermediate revisions not shown)
Line 1: Line 1:
-
First step for a single page listing the places where Maemo related open development is happening (links still missing):
+
Maemo is developed as an open collaboration between Nokia and many generous volunteer programmers, designers, and users. Most of Maemo's components are open source, which gives users and developers the freedom and flexibility to contribute to and modify the platform's core development. Read the [http://maemo.nokia.com/maemo/maemo-software/ Introduction to open source] at maemo.nokia.com.
-
== maemo.org ==
+
Open development is the goal and open source is a consequence of it. Easier said than done when you need to deliver commercial and competitive products on time, but the Maemo team is trying and improving on every release.
-
Evolving slowly, still a lot to do.
+
-
* stage.maemo.org - only certain components.
+
== Open Source and open development strategy ==
-
* git.maemo.org project - ongoing.
+
-
=== Proposals for specific components ===
+
* [[Documentation/Maemo 5 Developer Guide/Architecture/Top Level Architecture|Maemo 5 software architecture]] indicating open/closed components.
-
* [[Task:Improving the Application manager]]
+
* [http://www.slideshare.net/qgil/how-maemo-approaches-open-source-presentation How Maemo approaches open source] explains the basics.
-
* [[Task:osso-xterm]]
+
* [http://www.slideshare.net/peterschneider/ari-jaaksi-o-s-i-m-world-2009 Taking open source forward] explains Maemo's willingness to collaborate in the platform while differentiating in the user experience.
-
* [[Task:Busybox]]
+
* [[Open development/Upstream projects|Upstream projects]] providing software integrated in Maemo releases.
-
* [[Task:RSS Feed reader]]
+
* [[Open development/Maemo contributions|Maemo contributions]] is an attempt to list the most relevant contributions to OSS upstream projects.
 +
* [[Open_development/Licensing_change_requests]] is the way to ask for licensing changes.
 +
* [[Task:Components and packages]] contains statistics about packages open/closed in Maemo 4.1. A Maemo 5 update will come after the final release.
 +
* [[Open development/Why the closed packages]] elaborates the reasons to have certain packages closed and addresses requests for opening components.
 +
* [[What can we realistically expect]] lists some current hot topic discussions within the Maemo community
 +
* [[Task:Busybox]] describes the strategy for moving towards open development of Busybox.
 +
* [[Task:osso-xterm]] - opening the development of osso-xterm
-
== Upstream ==
+
See also the [[Task:Maemo_roadmap/Fremantle|Fremantle]] and [[Task:Maemo_roadmap/Harmattan|Harmattan]] roadmaps.
-
* Linux kernel - OMAP list.
+
 
-
* BlueZ
+
And this blog post: [http://flors.wordpress.com/2009/08/27/software-freedom-lovers-here-comes-maemo-5/ Software freedom lovers: here comes Maemo 5]
-
* GTK+
+
 
-
* Mozilla
+
== In practice ==
 +
 
 +
If you want to get involved you need to find first the most recent source code available:
 +
* The source code of OSS components shipped in Maemo releases can be found at http://repository.maemo.org/pool/ e.g. [http://repository.maemo.org/pool/maemo5.0/free/ Maemo 5].
 +
* The current development of certain components can be found at [http://maemo.gitorious.org Maemo on Gitorious]. See the list of projects above for more details.
 +
** [http://gitorious.org/modest/ modest on gitorious] where open development for Modest (the stock N900 mail client) happened.
 +
* [http://mxr.maemo.org maemo.org Cross-Reference] contains searchable source dumps of the open packages of most Maemo releases. This website is incredibly useful; you can search for any given identifier (a name of a C function, for example) and it will find the declaration and all uses of that function for you.
 +
 
 +
If you have patches for upstream components it is better to submit them directly upstream, unless they are indeed specific to Maemo:
 +
* Check the [[Maemo contribution guidelines]] before contributing any code.
 +
* Patches with bugfixes are submitted through https://bugs.maemo.org with the corresponding bug report.
 +
* Contact the developers before working on major patches or new features!
 +
 
 +
=== MeeGo ===
 +
 
 +
* [http://mxr.meego.com/ Meego Cross-Reference]
 +
* [http://meego.gitorious.org/ MeeGo on Gitorious] is where open development for Meego happens. For example, sources for the Meego Touch Framework are there. You can also find sources for some middleware components used in Maemo that have been partially opened in Meego, like [http://meego.gitorious.org/meego-middleware/mce MCE].
 +
* [http://qt.gitorious.org/ Qt on Gitorious] Qt is an important part of the newer Maemo/Meego releases; you can find its source here.
 +
 
 +
== Projects developed openly ==
 +
 
 +
* Many components integrated in Maemo have Nokia developers or collaborators working directly upstream:
 +
** [http://git.kernel.org/?p=linux/kernel/git/tmlind/linux-omap-2.6.git;a=summary Linux kernel - OMAP list.]
 +
** [http://www.bluez.org/ BlueZ]
 +
** [http://gstreamer.freedesktop.org/ GStreamer]
 +
** [http://www.gtk.org/ GTK+]
 +
** [http://www.mozilla.org/ Mozilla]
 +
** [http://projects.gnome.org/tracker/ Meta Tracker]
 +
** Ohm
 +
** [http://telepathy.freedesktop.org/wiki/ Telepathy]
 +
** [http://upstart.ubuntu.com/ Upstart]
 +
** [http://connman.net/ ConnMan]
 +
** [http://ofono.org/ oFono]
 +
* http://maemo.gitorious.org is the default host for official Maemo specific open development, but there is more.
 +
* Some projects have still their code repository in http://garage.maemo.org
 +
** [https://garage.maemo.org/projects/busybox4maemo/ BusyBox]
 +
** [https://garage.maemo.org/projects/dsm/ dsme]
 +
** [https://garage.maemo.org/projects/osso-xterm/ osso-xterm]
 +
* Developer tools:
 +
** [http://code.google.com/p/gst-dsp/ gst-dsp] aims to provide GStreamer elements to take advantage of those algorithms. The list includes video/image decoders and encoders. See also the [http://maemo.gitorious.org/maemo-multimedia/gst-dsp Maemo repository]
 +
 
 +
== Community projects developed openly ==
 +
 
 +
There are dozens of community projects developed openly. Learn more about them at (this should link to another page to keep this one around Nokia projects).
 +
 
 +
=== Extras ===
 +
 
 +
{{main|Extras}}
 +
 
 +
The sources from all ''free'' packages in the extras and extras-devel repositories are available [http://repository.maemo.org/extras/pool/fremantle/free/source/ here].
 +
 
 +
On an [[Nokia N900|N900]], or scratchbox, if you have [http://repository.maemo.org/#extras correctly added the extras-devel repository to sources.list], you can also get any packages source by writing the following on a shell:
 +
 
 +
apt-get source <packagename>
 +
 
 +
There are also some [http://vcs.maemo.org/git/ Garage projects using Git as version control system].
 +
 
 +
Some developers also use gitorious or github.
 +
 
 +
=== Community SSU ===
 +
 
 +
The [[community SSU]] has [http://gitorious.org/community-ssu/ its own Gitorious project] ([https://github.com/community-ssu now]). You can find all modifications to the Maemo open components (and sources of those), as well as replacement components and hacked bits, all there.
 +
 
 +
[[Category:Community]]
 +
[[Category:Development]]

Latest revision as of 16:35, 29 September 2017

Maemo is developed as an open collaboration between Nokia and many generous volunteer programmers, designers, and users. Most of Maemo's components are open source, which gives users and developers the freedom and flexibility to contribute to and modify the platform's core development. Read the Introduction to open source at maemo.nokia.com.

Open development is the goal and open source is a consequence of it. Easier said than done when you need to deliver commercial and competitive products on time, but the Maemo team is trying and improving on every release.

Contents

[edit] Open Source and open development strategy

See also the Fremantle and Harmattan roadmaps.

And this blog post: Software freedom lovers: here comes Maemo 5

[edit] In practice

If you want to get involved you need to find first the most recent source code available:

  • The source code of OSS components shipped in Maemo releases can be found at http://repository.maemo.org/pool/ e.g. Maemo 5.
  • The current development of certain components can be found at Maemo on Gitorious. See the list of projects above for more details.
  • maemo.org Cross-Reference contains searchable source dumps of the open packages of most Maemo releases. This website is incredibly useful; you can search for any given identifier (a name of a C function, for example) and it will find the declaration and all uses of that function for you.

If you have patches for upstream components it is better to submit them directly upstream, unless they are indeed specific to Maemo:

[edit] MeeGo

  • Meego Cross-Reference
  • MeeGo on Gitorious is where open development for Meego happens. For example, sources for the Meego Touch Framework are there. You can also find sources for some middleware components used in Maemo that have been partially opened in Meego, like MCE.
  • Qt on Gitorious Qt is an important part of the newer Maemo/Meego releases; you can find its source here.

[edit] Projects developed openly

[edit] Community projects developed openly

There are dozens of community projects developed openly. Learn more about them at (this should link to another page to keep this one around Nokia projects).

[edit] Extras

Main article: Extras


The sources from all free packages in the extras and extras-devel repositories are available here.

On an N900, or scratchbox, if you have correctly added the extras-devel repository to sources.list, you can also get any packages source by writing the following on a shell:

apt-get source <packagename>

There are also some Garage projects using Git as version control system.

Some developers also use gitorious or github.

[edit] Community SSU

The community SSU has its own Gitorious project (now). You can find all modifications to the Maemo open components (and sources of those), as well as replacement components and hacked bits, all there.