Open development

m (Open Source and open development strategy: add link)
(move content from Sources)
Line 1: Line 1:
-
== The basics ==
 
-
 
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 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.
Line 7: Line 5:
== Open Source and open development strategy ==
== Open Source and open development strategy ==
-
* [http://wiki.maemo.org/Documentation/Maemo_5_Developer_Guide/Architecture/Top_Level_Architecture Maemo 5 software architecture] indicating open/closed components.
+
* [[Documentation/Maemo 5 Developer Guide/Architecture/Top Level Architecture|Maemo 5 software architecture]] indicating open/closed components.
* [http://www.slideshare.net/qgil/how-maemo-approaches-open-source-presentation How Maemo approaches open source] explains the basics.
* [http://www.slideshare.net/qgil/how-maemo-approaches-open-source-presentation How Maemo approaches open source] explains the basics.
* [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.
* [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.
Line 25: Line 23:
== In practice ==
== In practice ==
-
* If you want to get involved you need to find first the most recent source code available.
+
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 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 . See the list of projects above for more details.
+
* 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.
-
* If you have patches for upstream components it is better to submit them directly upstream, unless they are indeed specific to Maemo.
+
** [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.
* Check the [[Maemo contribution guidelines]] before contributing any code.
-
* Patches with bugfixes are submitted through http://bugs.maemo.org with the corresponding bug report.
+
* 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!
* Contact the developers before working on major patches or new features!
 +
 +
=== MeeGo ===
 +
 +
* [http://mxr.meego.com/ Meego Cross-Reference]
 +
* [http://meego.gitorious.org/ MeeHo 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 ==
== Projects developed openly ==
 +
* Many components integrated in Maemo have Nokia developers or collaborators working directly upstream:
* 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://git.kernel.org/?p=linux/kernel/git/tmlind/linux-omap-2.6.git;a=summary Linux kernel - OMAP list.]
Line 55: Line 63:
== Community projects developed openly ==
== 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).
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]. You can find all modifications to the Maemo open components (and sources of those) there.
[[Category:Community]]
[[Category:Community]]
[[Category:Development]]
[[Category:Development]]

Revision as of 12:04, 8 March 2011

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

Open Source and open development strategy

See also the Fremantle and Harmattan roadmaps.

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

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:

MeeGo

  • Meego Cross-Reference
  • MeeHo 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.

Projects developed openly

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 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.

Community SSU

The community SSU has its own Gitorious project. You can find all modifications to the Maemo open components (and sources of those) there.