One Volunteer Per Child - GNU/Linux and the Community
The gory details of code and hardware often hide the details of the "wetware", the human beings using technology. GNU/Linux software is driven by hundreds and thousands of people who in turn make the experience of using a computer a pleasant task for many more. There are many projects out there that want to reach the non-technical groups of our society. One of these projects is the One Laptop per Child (OLPC) organisation.
Technology and Teaching
Technology as seen in software and hardware doesn't fall from the sky. There have to be skilled designers and developers at work who think, code, build, test, and produce. These people don't fall from the sky, either. They have to learn their skills at school or at university. Learning to write a computer program is a lot easier when you have access to computers and tools that enable you to get your code to run. This sounds a bit like a vicious circle. Indeed, this is true, and can be readily experienced by teaching, let's say, Perl programming without a Perl interpreter. This is how bleak it looks in many schools around the world. It is especially true in developing countries and rural areas; in short, anywhere where there is not much budget for equipment.
This is where the One Laptop per Child project comes into play. It tries to address two issues. First, it supplies a tool that can be used for teaching. The XO-1, formerly known as the $100 laptop, is a laptop that can be used inside and outside school. It can be used for reading, for writing, for playing, for collaborating and lots of other activities. In fact, activities is the rather fitting name for applications on the XO-1. The XO-1 is networked by using wireless technology, thus finessing any need to integrate the One Crossover Cable per Child project (or worse) into the OLPC initiative. The second issue is giving access to technology for children in a playful way. If your only association with computers is a big black mainframe sitting in a air-conditioned dungeon, being ready to devour you alive, then you won't have much fun working with computers, and probably are not very keen on learning any technological skills. Managing a first contact situation without traumata is one of the primary goals of teachers.
So, all in all, the XO-1 is a wonderful thing - and it runs Linux! Which is all the better.
First Contact with the XO-1
My first contact with a XO-1 machine went without shock, but with even more curiosity. It happened during the Linuxwochen in Vienna, an annual event presenting talks, workshops, and companies working with Free Software at locations throughout Austria. Aaron Kaplan held a talk about the OLPC project, and managed to bring two XO-1s for anyone to try. The laptops fell prey to the visitors, so you had to be quick to get a glance at the system. However it was easy to hear them, for many played with the musical sequencer software called TamTam. The XO-1s desktop is tailored for children. This means that you navigate by using symbols. The desktop also tries to express its messages by means of graphics and icons.
The hardware is tuned for low power consumption, in order to make deployment in areas with an unstable electrical power grid easier. Recharging can be done via solar panels or mechanical generators, such as a spindle that can be operated by pulling a rope. The display is either backlit or operates in a contrast mode; the latter allows for reading text on the screen in broad sunlight. The CPU of the newer models is capable of displaying video clips on-screen. Networking is done by using wireless network cards. The laptops autoextend the range of the network by using mesh technology; this means that every XO-1 acts as a wireless client and as a mesh router. Mesh routing is also done while the system is not being used - i.e., in sleep mode.
There is a lot of design in this laptop. Which brings me to the people who thought of all this.
Getting Involved and Being Part of the Community
So, how did the two XO-1s end up at the Linuxwochen, and how did Aaron get involved in all of this? Since curiosity is part of my job description, I asked Aaron a couple of questions.
Hello, Aaron! What is your background in terms of computing and Unix systems?
I started in around '92 or so with BSD. I think it was still called BSD-Lite, and it came on 3.5" floppy discs. These were chunks, and you had to literally "cat" them together. Anyway, at around the same time, I was telneting myself from hop to hop via the MCI systems to my first real e-mail account / Unix box on the Net: well.com. Remember, that was ~19200 baud modem times. So, like many people from that time who experienced the Net for the first time, I got totally hooked on all the online Unix services that were out there, just waiting to be explored. Then, for some time, I was a bit active in the FreeBSD community.
I guess from then on, just one interesting topic just kept coming in after the previous. So that is where I am now :) It was always a playful experience all the way.
How did you get involved with the OLPC project?
First of all, I have to state that I am a volunteer in olpcaustria.org - a local grassroots organization that is not directly affiliated with OLPC per se. However, we are in good contact with OLPC, and try to help the core team and the whole idea.
About the history: I got intensively involved only recently. Before, in 2006, I was looking for a job and a colleague of mine pointed me to the Google Summer of Code for OLPC. So, I tried to apply myself, but eventually ended up as a mentor for Arthur Wolf. The SoC project could have gone better, but - hey - all students need to get some experience. Actually, it would be interesting to look at Arthur's ideas again, and re-implement them. Then, for some time, I was not involved in any activity related to OLPC.
Recently, I had the chance to visit OLPC and MIT, and only then did I realise how close the works of funkfeuer.at (a wireless community network, similar to freifunk) had been networkwise to OLPC. Both projects work on mesh networks, and I do believe these mesh networks could complement each other.
Where do you see the biggest benefits to education, in the countries that deploy the OLPC?
Personally, I believe that, in the short term, these countries will have a lot of good engineers who will understand computers, maths, physics, biology, etc., very intuitively. However, please remember, this is only the first step. You still need good education and teachers later (as a university student). The whole topic is quite big, not simple, but I still believe: if you give kids a chance to program their own games, to playfully explore maths, physics, and the like, then this is the very first and most important step. Will every kid with a laptop be an engineer? No! Of course not, luckily, not.
So, I think OLPC is a great, great grand vision, and it will only be the first step in revolutionizing education. There are other new approaches as well, such as Connexions, MIT open courseware, etc.
A lot of companies support the OLPC project. What is the role of the volunteer developers? Which skills are needed for which tasks?
As far as I know - everything is needed. The core system is currently heavily in development. Personally, I see the power of the open source community primarily in creating cool mesh-enabled activities.
("Activities" are the applications of the XO-1.)
A lot of people say that they aren't programmers, and lack highly technical skills. Are there any opportunities for these volunteers, as well?
Sure! Lobby for the OLPC project at your local government. :) Program some activities. And most important: test with kids!
But for a better explanation, I would like to redirect the humble reader to: Getting_involved_in_OLPC
How is the development organised? Who reviews the code and who decides which improvements go into the production version?
- IRC freenode.net, #olpc.
- Lots of discussions.
- We have to distinguish between the base system and other contributions. The base system is the most active development area, presently.
- git (a source control management system, also used for the Linux kernel).
Do you think other communities can benefits from the OLPC project, as well?
Yes! There is a wealth of really cool tech coming out of OLPC. Take, for example, the microsleep mode: The laptop has a DCON chip that keeps the image stable but everything else can go to sleep, including the CPU. So that the CPU does not have to wake up every HZ ticks, there is, according to my knowledge, a special adaption to the timing code. In other words: the CPU can go to sleep in milliseconds, and wake up again in milliseconds. This drastically increases the battery hours you get out of the laptop. I think this change will come to mainstream Linux laptops. It is just too good to leave out.
Our Turn
I deliberately wrote "our turn": Teaching children the ways of the world can be done (and should be done) by any of us. Teaching children what Free Software can do may be something to start with. You don't need programming skills to do that. All you need is to write, to read, and to talk, as Aaron said. And the OLPC project is not the only one of its kind. There are lots of efforts in progress to achieve similar goals, and most of them go nowhere without a community.
Useful Links
I picked some links to the OLPC project, volunteer Web sites, and things I mentioned in the article. I don't wish to rate any efforts by omission; I just mention a few, and probably missed many.
- Free Software in Education
- Linuxwochen Austria (in German)
- OLPC Austria
- OLPC Nepal
- OLPC Videos
- One Laptop Per Child (OLPC)
- Quick guide to low-cost computing devices and initiatives for the developing world
- TamTam
- Why give precedence to Free Software at school?
Talkback: Discuss this article with The Answer Gang
René was born in the year of Atari's founding and the release of the game Pong. Since his early youth he started taking things apart to see how they work. He couldn't even pass construction sites without looking for electrical wires that might seem interesting. The interest in computing began when his grandfather bought him a 4-bit microcontroller with 256 byte RAM and a 4096 byte operating system, forcing him to learn assembler before any other language.
After finishing school he went to university in order to study physics. He then collected experiences with a C64, a C128, two Amigas, DEC's Ultrix, OpenVMS and finally GNU/Linux on a PC in 1997. He is using Linux since this day and still likes to take things apart und put them together again. Freedom of tinkering brought him close to the Free Software movement, where he puts some effort into the right to understand how things work. He is also involved with civil liberty groups focusing on digital rights.
Since 1999 he is offering his skills as a freelancer. His main activities include system/network administration, scripting and consulting. In 2001 he started to give lectures on computer security at the Technikum Wien. Apart from staring into computer monitors, inspecting hardware and talking to network equipment he is fond of scuba diving, writing, or photographing with his digital camera. He would like to have a go at storytelling and roleplaying again as soon as he finds some more spare time on his backup devices.