Sunday, December 16, 2007

How US Geeks Should Support OLPC

OLPC News has a guest post from Mike Smith on how interested managers and developers in the US might approach working with schools in the developing world. This is a problem which I've been working on for three years for SchoolTool, and all my experience indicates that Mike's method won't work. I've tried to connect (paid) open source developers to remote schools. Not even in the developing world at this point. Just US and (mostly eastern) Europe. Even when everyone speaks good English, has good connectivity and a solid understanding of computing, it is very difficult to collect requirements, and testing and bugfixing remotely just doesn't happen. It is too difficult at that remove for teachers to integrate these unfamiliar processes into their already overloaded work lives. In real life, it takes lots of push and cajoling to get teachers to follow through on complex, abstract, inessential projects. Pretty much only the principal can make that happen in a school. You can't do it via email and IRC.

I don't say that to slag on teachers. I was a teacher, my wife's a teacher, my parents were teachers, my grandmothers were teachers, etc. It is just that the life of a school is so alive and in your face, and then you've got a bunch of mandated paperwork, and once things get rolling you just have to prioritize, and it is pretty hard to make working out software requirements via internet chat a high priority. You need to work with teachers face to face. You need to have local developers.

Also, schools are full of business processes which are, to the people in the school, regarded as the state of nature. There are endless details about how the school works that will inevitably go unspoken and cause misunderstanding and miscommunication between teachers and developers in different countries. You could try to overcome that by subjecting the teachers to long, intensive questioning at the beginning of the process, but that seems unlikely to make them very enthusiastic about the whole thing.

US geeks should do one of two things. If they want to personally develop an application kids and teachers are going to put their hands on, they should find a way to write open source software for a school in their community and do it in a way that has good internationalization support, and is maximally compatible with and portable to Sugar. If they write software which works for kids in their neighborhood, there is a pretty good chance that it will be useful elsewhere, at least, in my estimation, a higher likelihood than they'd have collaborating directly with distant, foreign schools.

The other option is to strengthen Sugar as a platform and make it as easy as possible for students and local developers to write software that will suit their needs. Mike Fletcher's email is a good starting point for these tasks, and I'm sure the core development team has a long list as well.

One last point. Greg implies that he would gather the requirements and then the "open source community" would write the code:

Work with the schools, open source community and others to build the needed applications.

Yeah, that's not going to work. There is no magic "open source community." If you want to be the manager in this process, your first step is to assemble a team of programmers (volunteer or otherwise) who you know have the skills to do the necessary work and the time and motivation to follow through. Right now, this means knowing Python and the GNOME infrastructure pretty well. You'd better make damn sure you've got those guys in hand before you start asking teachers to dedicate their time to the project.

No comments: