Open development
m (→Open Source and open development strategy: add link) |
(move content from Sources) |
||
Line 1: | Line 1: | ||
- | |||
- | |||
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 == | ||
- | * [ | + | * [[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: | |
- | + | * 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. | |
- | * 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 | + | * 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
- Maemo 5 software architecture indicating open/closed components.
- How Maemo approaches open source explains the basics.
- Taking open source forward explains Maemo's willingness to collaborate in the platform while differentiating in the user experience.
- Upstream projects providing software integrated in Maemo releases.
- 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
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.
- modest on gitorious where open development for Modest (the stock N900 mail client) happened.
- 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
- 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
- Many components integrated in Maemo have Nokia developers or collaborators working directly upstream:
- 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
- Developer tools:
- gst-dsp aims to provide GStreamer elements to take advantage of those algorithms. The list includes video/image decoders and encoders. See also the 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 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.