How to Make Open-Source Work for Education


olpc is an ambitious movement whose success will largely depend on the hard work of those that volunteer their time, expertise, and occasionally funds. Let's focus for now on those that will volunteer their time and effort to develop open source software and content. To really harness the power of volunteers to create open-source content for education, we need to think hard about what motivates open-source contributors in the first place.

Open-Source Software and content developers do what they do primarily for two reasons:

  1. To "scratch their own itch." This means to solve a problem that bothers or challenges them. This can also mean creating something that they themselves consume.
  2. The joy of seeing someone else benefit from their creation.

The Wikipedia Model Doesn't Work For Education

The Wikipedia model of ad-hoc user-generated content does not and will not work for OLPC. Wikipedians create content that they themselves are the chief experts on and heavy consumers of. Sure, they are proud to contribute to body of human knowledge but they are primarily driven to "scratch their own itch." One could argue that "Each shall scratch her own itch and eventually all itches will be scratched." Sadly this is not true.

Connect Educators like Sangita...

Just compare the large number of individuals that contribute to the GNU utilities, the Linux kernel, Perl, Python, etc. Emacs has 119 core contributors while the fantastic GCompris has only two core developers, a program that I believe is even more important than the world's second greatest code editor/operating system. There are WikiJunior, Simple Wiki, and Schools Wikipedia but these projects are tiny compared to the Wikipedias of many languages. This is a crying shame.

Most olpc volunteers are technically-minded adults living in the developed world and frequently have personal ties to the developing world. By and large they are creating content for someone other than themselves so motivation #1 is not a factor. Motivation #2 is. Motivation # 2 is hard because it requires excellent communication between the creator and her intended beneficiatries. I believe that most olpc volunteers participate because they want to see kids and teachers benefit from their work.

Please read motivation #2 again, c a r e f u l l y. The joy of seeing someone benefit from your creation. But how do you know what will benefit kids and teachers in a faraway land and a very different socioeconomic contex? Most volunteers will not be full-time teachers nor kids from the developing world. By default, volunteers are likely base their contributions on false assumptions and there is a good chance their hard work will go to waste. But don't despair! Someone knows what is needed: The kids andteachers themselves. We just have to ask them.

...with coders like Tomeu.

To make open-source work for education we have to put volunteers in very close contact with kids and teachers in the developing world. We also have to limit the assumptions we make about what will benefit them and be careful not to impose our cultural biases upon them. The people in the best position to facilitate this communication between schools and volunteers are grassroots organizers.

Greg Smith, an experienced project manager, laid out the steps to build stuff people that need in an e-mail to the Grassroots mailing list.

Enumerated steps
    1. Find a real user ready to communicate and work with you.
    2. Line up volunteers and evaluate group skills and time.
    3. Discuss with user the key challenges and pick one or two you want to address.
    4. Come up with a design proposal and validate with users.
    5. Code up a prototype or working example.
    6. Run beta test, refine and gather feedback.
    7. Deliver code and give great support in the early going.
    8. Go back to step 1 or to step 6 and keep at it :-)

For our purposes, I think we should change the word "user" to "educator." By educator, I mean someone who works with kids on an almost daily basis in a formal or informal setting. Sometimes I get the sense from some in the olpc community that educators are a stodgy bunch that block real progress in education; that they are bulwarks of instructionism holding back our great enterprise. My own experience with Nepali teachers has been the complete opposite. They see the potential for ollpc and they are asking for -- demanding -- interactive geography lessons, competitive English games, multiplayer maths battles, Scratch tutorials, and more. Educators know their kids and their communities. We need to empower them in every way possible.

a grassroots strategy

Educator-Driven Development

That's whay I believe that olpc should embrace what I call "Educator-Driven Development," pairing educators with activity and content developers. But doesn't this constrain the content developers, limit their freedom of expression? In this model, educators specify the objectives and volunteers have complete freedom in meeting those objectives. The ultimate arbiter will be how useful the resulting content/activities are in a school setting. Nothing will motivate volunteers more than seeing their work benefit kids in a developing country, and possibly their younger siblings, aunts and uncles, parents, etc.

Educator-Driven Development places a heavy burden on grassroots organizers to manage this information flow. But there are a lot of dedicated people out there that I think are up to the task. A number of olpc grassroots events are in the works such as Grasscon, Grassroots Bootcamp, Content Jam, Game Jam . . . The planners of these events need to run through steps 1-4 ahead of time and then do step 5 together with their event participants. Without a list of real requirements in hand before your start your grassroots event, you're navigating a big ocean without a compass.

Related Entries


I agree. I wrote StarChart to "scratch my own itch".
Apparently, it's a very popular activity -- I'm seeing
about one hit per hour on the downloadable file.

Now I want (need) someone to come forward and tell me
how this program can be modified to make a great
educational tool. (Because I can see that it could
potentially be one.)


I have shown Starchart to many kids and they love it. They are also quickly frustrated that there isn't that much documentation in Star Chart to tell them more about the constellations they are looking at, to explain the basic concepts astronomy that aren't in a book anywhere near them.

We need Educator-Driven Development precisely to make great activities like Star chart into great educational tools.

Open Source and Education -- Sun is sponsoring an innovative project; - to help create curricula content via a wiki style; I think this has some great promise as a concept.

Thank you for taking the time out to make this post. I've been thinking about how to go about completing a project of mine that involves the OLPC laptops and your post has made me reconsider the way original way I had planed it.

Also, I think that the Educator-Driven Development method would help to give this community a bit more structure and therefore get a lot more of our goals accomplished. I know that we all have the potential to get even more out of this overarching project - we just need to implement a sounder method like what you've outlined here.

Anyways thanks again for the post. It was a very good read.

I'm not happy with Open Source Volunteer development.
Certainly not for a project like OLPC/XO

1. With so many contributors a rigid project management is needed. OLPC did remarkably well with Trac.

2. By its very nature a Volunteer system is entirely dependent on the efforts put in by the contributors. Some work sixteen hours a day, others take a few minutes out of their busy schedule.

3. Deadlines set by the project managers are rarely met.

4. Documentation is nonexistent.

Those that are contributing and there just to 'scratch an itch' have their own personal agenda. They are under no obligation to write spectacularly good code and are in fact likely to take shortcuts and fudge a fix to get the itch scratched.

Often the path of Open Source Volunteer development is the cheap option requiring almost zero investment. In retrospect it may be better to fund a team of full time developers and produce a better system in half the time.

I cant help but think that the XO would have been better in the hands of a for-profit company. After all, Asus managed to bring out a brand new laptop with a Linux distribution from a for-profit company, make it cheap enough to sell in large quantities and created a whole new market for cheap UMPCs.


I have to disagree w/ you. I believe that volunteers like yourself can make a significant contribution with only a few hours per week. The key is to have excellent documentation of the requirements from educators and a feedback system in place. This can be managed by a full-time staffer at OLPC Association or by a couple of very dedicated volunteers.

I think you are a bit too quick to dismiss existing efforts at collaborative creation of educational materials.

The Wikiversity project ( which was recently spun off from Wikipedia is aimed at doing exactly that and if it is not yet as big as Wikipedia then that is a reason to help it grow - not a reason to dismiss it.

Remember that word COLLABORATION. It isn't necessary for you to get it right the first time provided it is straightforward and easy for others to improve it.

I believe the key to the success of wikipedia was that the threshold for contributors was so low. Right there next to each paragraph was a little 'edit' button. If all you wanted to do was fix a typo you could do it. Once you did then you were led to do more - revert vandalism, add wikilinks to other pages, all trivially easy. We need to make it that easy for educators all over the world to work together so that volunteers with their wrong assumptions can start something up and teachers round the world can come and fix it. When you see a user with an IP from across the world editing your page then you have that feedback.

If you set up the organisation as you are suggesting above then I fear there is a possibility that you may raise that threshold for contributing - If I haven't got a finished product; I haven't had my skills evaluated yet; I haven't been assigned a task yet then I wouldn't be welcome.

Try the wiki way - the bazaar, not the cathedral.
* Create a forum where people can contribute stuff and can ask for stuff (or join an existing forum)
* Make it easy to improve existing stuff (very important if you don't want to end up with a mountain of stuff with no way of finding what's good, what's duplicate, what's junk).
* make it so you can contribute in lots of ways - documentation, internationalisation, localisation, site organisation, navigation, graphics, teachers notes, feedback on actual use etc. as well as code.
* Make it trivially easy to rollback misguided or malicious "improvements".
* make it easy to see who has worked on what so you can find them to thank them and to ask for more.

Rigid project management is a hindrance if you have no sanction against folks who don't meet their deadlines. Break projects into smaller chunks and you need less project management since anything that is really urgent can be done without depending on other bits (and if it's not done then maybe it wasn't that urgent since no one needed it enough to bother fixing it).

When a user finally struggles through the setup and figures how to do some task make it easy for that user to add an instruction paragraph describing for others how to do the same. Make it easy for others less technically minded to then move that paragraph to the correct section of the manual and to add links, screenshots, translations etc. to it as appropriate.

Sorry if a lot of the above seems obvious.

Joe, great comment! In case you're interested in seeing it posted on the frontpage in reply to Bryan's story please get in touch with us at editors (at) olpcnews (dot) com.


"Try the wiki way - the bazaar, not the cathedral."

Can you reference a large-scale wiki project designed and built for a target audience other than well-educated adults? I don't think you can, and this is unfortunate.

The wikipedia model of ad-hoc collaborative document generation works for certain problems but not for all. Wikipedia model of collaboration and the wiki software tool are not the hammers for all nails.

The barrier to entry for working on many aspects of olpc remains stubbornly high, particularly to develop an interactive learning activity. To make a great interactive learning activity, it really helps to have a feedback loop and some kind of basic project management. EToys, the Mamamedia activities, gcompris, Scratch were all developed w/ the close cooperation of kids and teachers.

The key here is "just enough" project management to break up the work into a lot of small tasks. "Rigid" is not necessary.

Interesting debate, but what I want to know is what's the FIRST greatest code editor/operating system?

I thought everyone knew that vim was the best code editor. However it is not an operating system nor does it include the kitchen sink. Apologies to the church of Emacs.

bryan said: However it is not an operating system nor does it include the kitchen sink.

You obviously don't have the latest version.

/well played, sir. well played.

This article resonates strongly with me right now. Grasroots "felt needs" has been repeated in a couple sessions of the evening class I am taking, so that from that inspiration, Bryan's article, and my dear wife's advice, I am suspending detailed US development of Aymara Fest until we get more information on what are actually the felt needs of the Aymara in Bolivia.

Right now they don't have XOs.
Does it make sense to translate Sugar into their language?
Or is it important to do it to prepare for an OLPC deployment, hopefully in the near future?
Microsot and Intel Classmate are at the gates. Does it make sense to support that, in a "better something than nothing" approach?

Part of the larger problem lies with the fact that developing nations tend to have very clear "one size fits all" education policies, with strong obedience requirements for teachers, students, and the public. Even when they decide that something like Constructivism sounds good, this comes as an ukase, a non-negotiable directive from above. There are no expectations of and very few channels through which a teacher that would want to contribute can do so in an accepted manner, or, woe to her, disagree. Having an opinion too often means forgoing any chance of future career advancement. Because of this often the ones you hear are the ones in the fringe anyway, who sometimes will be quite loud, having has so few chances in-country to say a thing, and thus cannot be seen as true representation of the so-far silenced majority. (I should know, I'm one of those loud mouths - but that's the only way I would be here, instead of saying "yes Sir, no Sir" somewhere).

One way to advance "Educator-Driven Development" in such areas is precisely to open and groom a safe channel of communication, one on which teachers would have no fear of reprisal, or even of the gentle patronizing attitude their in-country administrators or some misguided overseas "experts" might show. "Developers often don't like to see the real report" was said to me from on that.

I have been keeping a close eye on Nepal business, for EDD seems to be getting a nice start there, and most of that success seems to be connected with building trust.

Trust is built through the experience on common, positive exchange, AKA talking things over.

No OLPC deployment I know of has an established policy of getting ALL teachers involved in *safe*, constructive, free(dom) communication, where they can *talk* about what is going on. Why this is not a policy is so far a mystery.

Email lists are better than nothing, but the Gmail option open to XO users is very much not the best paradigm. Wikis require you to get your neck too far out for comfort. Forums are a hassle to be updated on. Even OLPC News gets very, very few teachers from actual deployments, if any at all.

For EDD we have "felt needs" as to procedure (get all connected into communicating, by default as soon as they turn on their XO the first time) and tools/UI (something that would encourage "useless" banter that builds trust, together with more solid exchange, without punishing you with slow downloads, or too much "noise"), and even cost (moderated lists are better, so ideology and technical issues get re-directed where they can be found, but most of what gets priority is about what is going on with actual XO use and needs. But no one has time to moderate...).

I'll go back to preparing for my Aymara blood brothers,

Sur tries to build such a channel of communications for Spanish speaking deployments and to-be, currently slowed down by the trifecta of Gmail, the difficulty of access to actual teachers, and "noise" from too much overly technical and ideological discussion.

"they are asking for -- demanding -- interactive geography lessons, competitive English games, multiplayer maths battles, Scratch tutorials, and more"

Are you sure they weren't just saying yes to anything you suggested?

This jibes with what I heard from Chris Hoadley about his experiences in Nepal and his analysis of the xo laptop at the end of this talk:


>"they are asking for -- demanding -- interactive geography lessons, competitive >English games, multiplayer maths battles, Scratch tutorials, and more"

>Are you sure they weren't just saying yes to anything you suggested?

I didn't suggest these to them. They suggested these to me during the course of 4 days of teacher training. You can read more about the teacher training here:

I have read through the slides from Christopher Hoadley and I agree w/ his points on the XO -- as a stand-alone piece of technology. The OLE Nepal team has put a lot of work into developing culturally appropriate content that also meets the national curriculum. The education team at OLE Nepal is entirely Nepali. You can't just parachute in as a foreigner and figure out the needs of the local culture in a few weeks.

In general Hoadley's slides confirm the point of this post, that open-source content projects for education need to work closely with educators from the very beginning.


Thank you for pointing us to this resource. I am incorporating some of Dr. Hoadley's points in my presentation, I think he hits some issues straight on. However, his talk is from Sep. 07, at the thickest of 1CC dominance, which is not what a lot of the rest of us stand for and what we finally get our chance to voice.

Many of us are starting to come together about needs for content that is based on collaboration *among* and *from* the local stakeholders rather than *for* them by outsiders, and based on local experience and knowledge, with support from outsiders *when* those will respect these parameters. Hoadley would approve all of this I believe, and Bryan also, and from what you write, that would be your line as well.

There is one good reason why one of those forms of content you mention should NEVER come from the US or through corporate OLPC: English as a second language (ESL). Even if local kids and parents beg for it. Why? because it would be too easy, being handed on a platter to those who oppose OLPC for whatever other reason, to claim that OLPC has cultural imperialism at heart. Some such material, as well as religions / values materials need to be local, or else.

But teachers are looking for appropriate contents, which is contrary to the Constructionist party line, and just tolerated even now. This makes this effort an uphill thing, not just against inertia within the educational system itself but often in spite of OLPC corporate aims.

Not easy, so we need to cooperate, those who see things this way. Could you contact me through my web page? There's an email there. Click on my signature here.