Getting Involved

The One Laptop per Child project was created with an open, community based developer network in mind. The activities you'll work on throughout this course are just the kind of projects that the OLPC Developer community likes to see. At the end of this course, you'll have more than enough knowledge and experience to participate in the OLPC Developer community.

Becoming part of an open source community can be an invaluable experience. You'll learn a lot about software development, the dynamics of an organization, and becoming involved in your community. This will undoubtably make you a better programmer and software developer.

The developer community

When you have a project you'd like to release, the first thing you'll want to do is to announce your project to the OLPC developer community mailing list. An online form is available for this purpose. Your project will be announced to the developer community and will give you access to volunteers and other projects that might be similar to yours.

If you're looking to become an active member of the developer community, make sure to sign up for the OLPC mailing list. Being a member of this list will help you to keep your finger on the pulse of the OLPC developer community. You'll hear all of the important announcements about projects, tools, and community involvement.

You'll also want to add your project to the list of existing software projects on the OLPC wiki. Be sure to give a brief description of your project, it's progress, and your motivation for it's creation. As your project grows and matures, make sure to keep your entry on the wiki updated with changes, a current list of developers, and an idea for the future.

Once your project is in a useable state, add it to the Activities page. This page contains projects that are in a finished state. Don't put your project here until you've tested it extensively.

Maintaining your open source code

Since the OLPC Developer community uses git for source control, you should too. This will ensure that any other developer working on an OLPC related project will be able to get a copy of your code without any frustration on their part. It will also enable you to merge your project with an existing OLPC project, and will allow others to branch your project if they want to take it in a different direction.

The quickest way to truly 'open source' your code is to put it somewhere everyone can see. However, simply throwing up your code on a website is short-sighted; you won't get credit for having created the code, and your code will likely go unrecognized by the developer community.

Start by licensing your project using an open source license. Some of the code we've written in the past has been licensed under the GPL license. In general, if you're writing end-user applications like XO activities, you should use the Gnu Public License. If you're writing a code library or something other than an end-user application, the LGPL orMIT license is more applicable. Really, any of them will do, but the organizations that offer these licenses generally like these rules to apply.

Hosting your project is also important. This will give the public access to your code. The OLPC Developers program provides project hosting for OLPC-related projects. You are by no means required to use the Developer's Program for hosting, but it will certainly bring you closer to the center of the community. You can also use Sourceforge, Savannah, Google Code, or your own repository for hosting.

University Involvement

By taking this course you've obviously taken the first step in becoming involved with a University OLPC group. The OLPC organization actively encourages universities to start their own student groups and chapters. The writers of this course helped to found one of these chapters at Duke. OLPC@Duke actively participates in software development, and also recently started one of the first OLPC pilot programs in the United States at Carter Elementary School in Durham, North Carolina. If the activities you've developed can be used in the classroom, becoming involved with OLPC@Duke will allow you to test your software and watch it's use in a 4th grade classroom. Seeing real people use your software is not only an invaluable learning experience, but can also be very satisfying and at times uplifting.

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License