Software components
- See Activities for downloadable software.
Software has some general discussion.
Operating system
- Linux Kernel: Linux 2.6.22; Fedora 7 base environment.
- The OLPC specific bits of the kernel are pulled from the olpc-2.6 GIT tree on dev.laptop.org: (http://dev.laptop.org/git?p=olpc-2.6)
Programming environment
- Python (Version 2.5);
- JavaScript™;
- Csound, music programming language;
- The Etoys implementation of Squeak using Smalltalk, an object-based programming language;
- Please see Sugar Etoys for a detailed description of the Sugar implementation
- Turtle Art, a graphical programming environment;
- Gnash, a free and open source plug-in for the Adobe Flash™ file format supporting vector and raster graphics, a scripting language called ActionScript™ and streaming of audio and video;
- Adobe's Flash Player and Java™ virtual machine can be added via Yum or RPM install but are not part of the standard distribution.
Libraries
- Mozilla Gecko/Xulrunner (the Firefox web engine);
- GUI toolkit (GTK+) (Gnome);
- Matchbox window manager;
- Pango text layout;
- Gnome accessibility toolkit (ATK);
- Python GTK+ bindings version 2.10;
- Cairo 2D-graphics support;
- X Window System X.org Foundation;
- Font rendering (Freetype);
- Telepathy real-time communications framework;
- Avahi local service discovery;
- Multimedia framework: GStreamer and RealNetworks;
- Bitfrost security system;
- Mesh network;
- Game library: Pygame
Libraries to support all of the above, others can be installed by Yum or RPM.
User environment
- Sugar graphical user interface, written in Python, on top of the X Window System and the Matchbox Window Manager.
- “Zooming” interface to mesh network;
- Journal interface to file system;
Flash space available for other software content ~800 MiB.
Applications
There are three types of activities distributed with the base system: tools for exploring, expressing, and collaborating. A matrix of applications that have been (or are being) built for the laptop can be found here.
Tools for exploring
- a web browser built on the Firefox engine;
- a simple document viewer based upon evince (including the ability to view PDF);
- News Reader, an RSS (“really simple syndication”) reader (PenguinTV);
- multimedia playback using gstreamer (the Real Networks Helix™ platform has been ported to the laptop and is available for download but is not part of the base distribution);
- OpenDocument Viewer to read documents in OpenDocument format, a highly-compressed format that is a fully open international standard (ISO 26300);
- The Opera web browser and the Real Networks Helix™ platform have been ported to the laptop and are available for download but not part of the standard distribution.
- Measure, a tool for exploring the physical world by measuring DC and AC voltages, observing them on a oscilloscope-like interface, being able to watch waveforms in frequency domain (spectrum analyzer), logging data at a specified time interval, and drawing the graph of logged data.
Tools for expressing
- TamTam, a music synthesis and composition tool;
- Etoys (see above);
- a word processor based upon the Abiword project;
- Record video, audio, and still-image capture and playback (a “video wiki” is under development);
- Draw, a pixel-paint programming;
- a journal;
- MikMik, a wiki with WYSIWYG editing, using Crossmark (under development);
- VIM and NANO text editors.
Tools for communicating
- Chat and serverless instant messenger;
- Video Chat (under development);
- a VoIP client (under development);
- Email through the web-based Gmail service;
- Native email client (under development).
Other Tools
- Calculator;
- Spreadsheet (under development);
- a shell and debugger;
- Develop, an activity editor (under development);
- Remote Desktop, a tool to remotely control XO laptop;
Games
- Numerous games, including variations of the “memory game”, strategy games, etc.
See the games list on the activities download page Activities#Games
All applications share a common data store accessible through the Journal; Most applications, including reading, writing, recording and browsing, allow for collaboration; through the network: child-to-child and teacher-to-child. See Activity Sharing and Shared Sugar Activities and Tubes Tutorial.
Mesh Networking
- The specifications for the wireless networking interface include:
- Ability to act as a mesh point when laptop's main CPU is off;
- Support for asymmetric links/paths;
- Incremental releases—mesh networking is available immediately on XO; Upgrades will continue to improve functionality and adherence with standards;
- Simultaneously acts as a mesh point and an infrastructure node.
- Standards Compliance: follow 802.11s draft when possible.
School Server
The School server is software for a resource-rich peer to the laptop, which provides additional storage, and Internet access.
Additional Software projects
- Measure_/_Oscilloscope
- OLPCities, a virtual world programming environment
- FACIL, a webpage editor developed to be used by children. (In English at http://wiki.laptop.org/go/EASE)
- Musical Editor, a music composition toolkit
- Drawing Workshop, a shared graphics space
- Tux Paint, a paint program with extreme ease-of-use
- BlockParty, a Tetris-like game that exploits the mesh
- chat, serverless linux instant messenger http://retroshare.sf.net , VOIP, email
- a shell and debugger
- Develop, an activity editor
Builds, images, and schedules
OLPC regularly compiles and assembles "builds" of the OLPC software listed here for development. This process creates software updates for the XO Machines, and OS "images" of the bundled software that users on other computers can run by Emulating the XO.
These builds progress towards various official releases of the OLPC software:
- See Builds for a list of build targets for manufacturing, in-the-field updates, and future software development;
- See Roadmap for the high-level schedule of releases.