Developers/Getting Started: Difference between revisions

From OLPC
Jump to navigation Jump to search
(Link to list of developer-focused mailing lists.)
(Added translation templates)
 
(5 intermediate revisions by 4 users not shown)
Line 1: Line 1:
{{users}}
{{Developers}}
{{draft}}
{{Translations}}

This document attempts to guide you through the first steps towards using your new XO as a development platform, and to point you to resources for project ideas and programming APIs.
This document attempts to guide you through the first steps towards using your new XO as a development platform, and to point you to resources for project ideas and programming APIs.


== Request a developer key ==
== Request a developer key ==

Request your [[developer key]] so that it will be promptly available in the future should you ever want it, for example, to help improve development builds.
If your XO laptop has security enabled, request your [[developer key]] so that it will be promptly available in the future should you ever want it, for example, to help improve development builds. (Why use a developer key? See our [[developer key philosophy|philosophy]] page.)


== Communicate! (by mail, irc, etc.) ==
== Communicate! (by mail, irc, etc.) ==
The most important mailing list at OLPC is the [http://lists.laptop.org/listinfo/devel devel@] list; it is the canonical list for all development work.


See [[Developers/Communication]].
: ''If you're uncertain where your question or patches should go, send them to devel@.''


== Find a project ==
Since the devel list is very high volume, not everyone reads every post. This means that your question or patch might get lost in the noise. If this happens, you can resend, poke people on [[Communication channels#IRC|IRC]], or post to a more focused [[Communication channels|medium]] where you might be able to get more attention and/or avoid drowning in the flood of posts.


The easiest way to find a project to work on is to "dance around the edges", looking at existing projects that people are working on, observing how development is carried out, learning from the development that other people are doing, and identifying significant bugs or missing features that aren't getting attention. Soon enough you'll find a number of ways to contribute. Here are some hints on how you might get started:
See [[Developer mailing lists]] for more information on lists of special interest for developers.


* [[Developers/Communication|Communication]]: Watch our communication on IRC and on the mailing lists. Figure out what we're working on, what are our current challenges, watch how we solve specific issues and learn how that fix was made.
: ''Click on any of the links above to subscribe to the list or to view archived messages.''
* Testing: take our latest development software image, install it on your XO, look for bugs and issues. Report those issues as bugs, attempt to fix them, watch how they are solved by others and attempt to understand the solution and the processes used to get the solution shipped in our software.
: ''In most cases you must be subscribed to a list in order to post to it.''
* Trac: http://dev.laptop.org is a gold-mine for interesting looking projects and unsolved bugs. It also contains many stale tickets which should be closed or reclassified. Looking for projects or starting a cleanup effort will probably result in you coming across something of interest.

* Possibly stale, [[Projects and proposals]] and related pages list some interesting projects.
Finally, please take a moment to review the archives of a list before posting to verify that your question or patch is novel and topical.

: ''Google can be used to site-search the list archives by giving queries like "site:http://lists.laptop.org/pipermail/devel/ security"''

== Find a project ==
You may already have in mind something you'd like to hack on. If you need ideas, though, we've begun trying to keep a list of projects we'd like help on, or like to see someone tackle:
* You're reading a wiki! That means that you can help editing this page (or others on this site) and keeping information up to date or contributing helpful articles. That's always helpful. You can start with this page and flesh it out -- but try to keep it relatively short so we don't drown newcomers.
* We could use more "how to" and "tutorial" articles. There are a number listed under [[Tutorials]]; we can use more! Also, fixes to tutorials as they drift out of date are always welcome.
* Lots more projects are listed at [[Projects and proposals]] and related pages.
* The mailing lists are always a good source of ideas as well: find the list that best matches what you'd like to work on, and ask if anyone needs some help. Be aware that offers of help greatly out-number actual contributions of helpful code, so if you don't seem to be getting attention, try including some code -- even simple proofs of concept are useful as a way to focus attention on specifics. But, on the other hand, beware of spending 6 months working on your beautiful idea in a cave without talking to anyone: you may find that when you finally unveil your masterpiece that it doesn't actually fit into OLPC's larger plan for the platform. Seek the balance between discussion with the larger community and private hacking to flesh out specifics.
* This page is relatively "code hacker" centric, but there are lots of opportunities for less-coding sorts of help, from [http://lists.laptop.org/listinfo/support-gang support-gang], to library content, to educator groups.


== Report some bugs ==
== Report some bugs ==
Line 34: Line 25:


== Have fun! ==
== Have fun! ==
All work and no fun makes Jack a dull boy. Hook up with [[OLPC meetups|XO roadshows]], contribute to a [[Presentations|developer miniconference]], write yourself a [[Profiles|profile]], and have yourself some fun. If you can think of something it would be great for us to have, go ahead and make it. One Laptop per Child relies on thriving local communities to succeed.
All work and no fun makes Jack a dull boy. Hook up with [[XO roadshows]], contribute to a [[Presentations|developer miniconference]], write yourself a [[Profiles|profile]], and have yourself some fun. If you can think of something it would be great for us to have, go ahead and make it. One Laptop per Child relies on thriving local communities to succeed.

[[Category:Participate]]

Latest revision as of 04:52, 22 May 2011

  english | Copy "{{subst:requesttranslation}}" to español HowTo [ID# 256293]  +/-  


This document attempts to guide you through the first steps towards using your new XO as a development platform, and to point you to resources for project ideas and programming APIs.

Request a developer key

If your XO laptop has security enabled, request your developer key so that it will be promptly available in the future should you ever want it, for example, to help improve development builds. (Why use a developer key? See our philosophy page.)

Communicate! (by mail, irc, etc.)

See Developers/Communication.

Find a project

The easiest way to find a project to work on is to "dance around the edges", looking at existing projects that people are working on, observing how development is carried out, learning from the development that other people are doing, and identifying significant bugs or missing features that aren't getting attention. Soon enough you'll find a number of ways to contribute. Here are some hints on how you might get started:

  • Communication: Watch our communication on IRC and on the mailing lists. Figure out what we're working on, what are our current challenges, watch how we solve specific issues and learn how that fix was made.
  • Testing: take our latest development software image, install it on your XO, look for bugs and issues. Report those issues as bugs, attempt to fix them, watch how they are solved by others and attempt to understand the solution and the processes used to get the solution shipped in our software.
  • Trac: http://dev.laptop.org is a gold-mine for interesting looking projects and unsolved bugs. It also contains many stale tickets which should be closed or reclassified. Looking for projects or starting a cleanup effort will probably result in you coming across something of interest.
  • Possibly stale, Projects and proposals and related pages list some interesting projects.

Report some bugs

You'll probably find some stuff that doesn't work right. Our Reporting bugs page tells how to let us know about it. If you're in a hard-core mood, our bug-reporting site is http://dev.laptop.org (we use the Trac bug-tracking tool), and most of our source code can be found at http://dev.laptop.org/git. Have at it!

Have fun!

All work and no fun makes Jack a dull boy. Hook up with XO roadshows, contribute to a developer miniconference, write yourself a profile, and have yourself some fun. If you can think of something it would be great for us to have, go ahead and make it. One Laptop per Child relies on thriving local communities to succeed.