from an essay by Benjamin Mako Hill
The XO Laptop will bring children technology as means to freedom and empowerment. The success of the One Laptop per Child project in the face of overwhelming global complexity and diversity will only be possible by embracing openness, and by providing the laptop’s users and developers with a profound level of freedom.
As children grow and pursue new ideas, their software and the tools should be able to grow with them and provide a gateway to other technologies.
To achieve these and other practical goals, and to live up to the principles which we believe will support our platform’s success, software tools for the OLPC project must:
- include source code and allow its modification, so that our developers, the governments that are our partners, and the children who use the laptop can look under the hood to change the software to fit diverse and changing needs.
- provide a self-hosting development platform.
- allow distribution of modified copies of software under the same license so that the freedoms that our developers depend upon for success remain available to the users and developers who define the next generation of the software. Our users and customers must be able to localize software into their language, fix the software to remove bugs, and repurpose the software to fit their needs.
- allow redistribution without permission — either alone or as part of an aggregate distribution — because we can not know and should not control how the tools we create will be re-purposed in the future. Our children outgrow our platform, and our software should be able to grow with them.
- support and promote open and patent unencumbered data interchange and file formats.
- be supported by a free toolchain — for instance, they must be able to be built using unencumbered compilers and other tools
And software tools must not
- …require royalty payments or any other fee for redistribution or modification for obvious reasons of economy and pragmatism in the context of our project.
- …discriminate against persons, groups or against fields of endeavor. Our software’s power will come through its ability to grow and change with the children and in a variety of contexts.
- …place restrictions on other software that may be distributed along side it. Software licenses must not bar either proprietary, or “copyleft” software from being distributed on the platform. A world of great software will be used to make this project succeed – both open and closed. We need to be able to choose from all of it.
- …be otherwise encumbered by software patents which restrict modification or use in the ways described above. All patents practiced by software should be sublicenseable and allow our users to make use or sell derivative versions that practice the patent in question.
Finally, these rights and requirements must be allowed to pass on with the software to anyone who uses and furthers it. This means that we must not provide a license specific to the OLPC project or its current partner countries and schools. While we are the developers of the platforms mentioned today, its users are the developers of tomorrow and it is through them that the platform will succeed and be transformed. They need these rights more than we do.
Please note : the XO software currently does not meet all these goals.
+ It is not self-hosted – nobody has yet used a set of XOs to entirely rebuild the software for an XO, though it is theoretically possible.
+ The software comes with locks and safeguards (developer keys) that would be hard to bypass if the OLPC organization ever went away (or changed its mind about software freedom). These locks prevent users from installing whatever software they like on their hardware.
We must work towards these goals of openness, so that month by month we are preparing a future network of XO users who can collaboratively take control of their environment and develop the tools they desire with no unnecessary obstacles.