Developers/Getting Started

From OLPC
Jump to: navigation, search
  For the general public


Pencil.png NOTE: The contents of this page are not set in stone, and are subject to change!

This page is a draft in active flux ...
Please leave suggestions on the talk page.

Pencil.png

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

The most important mailing list at OLPC is the devel@ list; it is the canonical list for all development work.

If you're uncertain where your question or patches should go, send them to devel@.

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 IRC, or post to a more focused medium where you might be able to get more attention and/or avoid drowning in the flood of posts.

See Developer mailing lists for more information on lists of special interest for developers.

Click on any of the links above to subscribe to the list or to view archived messages.
In most cases you must be subscribed to a list in order to post to it.

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 support-gang, to library content, to educator groups.

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.