Source code

From OLPC
Revision as of 21:45, 13 August 2010 by Skierpage (talk | contribs) (Add a section about source code on the XO.)
Jump to navigation Jump to search
  This page is monitored by the OLPC team.

This page includes links to the source code for the OLPC XO-1, along with instructions on how to download it from this page in the wiki.

Source code for releases

The source for OLPC system software is stored in Source RPMs stored at the following locations. Be aware that most source code stored in these RPMS is not owned by OLPC and is distributed under the terms of the licenses contained in the source code proper. (In release 8.1.0 and later, an overview of the licensing terms of these source and binary packages can be found in the 'olpc-licenses' package or in /usr/share/licenses/ on-XO.)

8.2.0

Released October 13, 2008

8.1.0 (Update.1)

Released March 30, 2008

7.1.2 (Ship.2)

Released December 4, 2008

Linux OS and OLPC software

Much of the source code for the OLPC is stored in a "git" repository at http://dev.laptop.org/git/ . You can check out a particular program, e.g. the kernel, with a command like:

 git-clone git://dev.laptop.org/git/sugar

For more details, please see the git page in the wiki.

Other parts of the system are pulled directly from the Fedora 7 source and binary RPMs.

The script used to build the shipping image of the OLPC operating system is called "pilgrim", and it is maintained here: http://dev.laptop.org/git?p=users/cscott/pilgrim;a=summary

Open Firmware (bootstrap ROM)

You can browse the source code for Open Firmware online, and can check it out of its Subversion repository with the command

 svn co svn://openfirmware.info/openfirmware/

More details are at http://www.openfirmware.info/Open_Firmware

Activities

Most activities make their source code available, see Category:XO source.

Source code on the XO

Much of the Sugar user interface and many OLPC utility programs are written in the Python programming language. For example, the commands /usr/bin/copy-from-journal and /usr/sbin/olpc-update are Python scripts. You can view the Python source code running on your XO in an text editing program, although modifying it may break your computer.

Much of the core Sugar code is in files under /usr/lib/pythonVERSION.NN/site-packages in the subdirectory sugar and (in starting with release 10.1, another subdirectory jarabe). See Understanding Sugar code.