The One Laptop Per Child (OLPC) project has some interesting constraints. The plan is to distribute millions of laptops to the developing world, where power and connectivity will be intermittent. The laptops themselves will have to be inexpensive, so they will have limited CPU, RAM, and storage (flash only, no disk drive), much less than what you typically find on a laptop in the US.

This would be a nice platform for Cyclone: besides being resource-constrained, OLPC will need robust software, since it will be difficult to update. Cyclone’s safety combined with ability to control the memory footprint would be a win on both counts.

After considering Java (and rejecting it in part because it is not an open platform), the project has settled on Python as the basic development platform. Python has a reputation for speed, but it would be interesting to see how it compares to Cyclone in speed and memory footprint. On the small benchmarks of The Computer Language Shootout, C (compiled with gcc) seems to be something like 15 times faster and less memory hungry than Python. Assuming that Cyclone (without garbage collection) is close to C, there is still a good case to be made for Cyclone.

Further reading

There’s a wiki.

Jim Gettys has a blog discussing technical issues like the hardware, system administration, and localization on a large scale.

Nicholas Negroponte is the chairman of the project and gave a speech earlier this month calling for smaller, faster, thinner Linux distributions, and giving the latest description of the hardware.

The distribution will be based on Fedora, which has an OLPC page.

2 May 2006 by trevor #