You are here

Impossible thing #6: Closing the Digital Divide

For many years, there has been a growing concern about the emergence of a "digital divide" between rich and poor. The idea is that people who don't meet a certain threshold income won't be able to afford the investment in computers and internet connectivity that makes further learning and development possible. They'll become trapped by their circumstances.

Under proprietary commercial operating systems, which impose a kind of plateau on the cost of computer systems, this may well be true. But GNU/Linux, continuously improving hardware, and a community commitment to bringing technology down to cost instead of just up to spec, has led to a new wave of ultra-low-cost computers, starting with the One Laptop Per Child's XO. These free-software-based computers will be the first introduction to computing for millions of new users, and that foretells a much freer future.

Myth #4

"You and whose army? There just aren't enough people into this kind of thing."

Free culture is no longer a fringe phenomenon.

One Laptop Per Child

Kofi Annan, former Secretary General of the United Nations, suggested the idea a few years ago: a project to change the way that children around the world learn. Nicholas Negroponte, a professor at MIT decided to tackle the problem, and in time, after much review of the options, this turned to a constructivist learning solution: provide the children with a tool for "learning learning" (as education expert Seymour Papert would put it). The design selected is a "laptop" computer, though the term has to be used somewhat loosely, because the OLPC XO 1, being designed for a totally different mission than the typical business traveller's laptop, is not like any prior design[1].

Figure 6.1: The One Laptop Per Child "XO" computers are coming off the assembly line and into use. Clockwise from lower left: the very first laptops coming off the assembly line; teachers at an OLPC seminar; teachers in Ulaanbatar, Mongolia; a Mongolian education official ceremonially handing out the first units (Images: OLPC Project / CC-By 2.5).

One of its principle design criteria is that it must be very, very inexpensive. The target was US$100. The first units cost closer to US$200, though it is hoped that the cost will drop as the component prices come down and the design is further stabilized. The project has committed to lowering costs rather than increasing performance, since the whole point of the OLPC laptop is to create something that Third World countries' education ministries can afford to purchase for the children in their countries.

Every single piece of software on the machine will be free-licensed open source software—right down to the firmware BIOS, which will be OpenFirmware, written in Forth

It's not such a good idea to make a computer like this using proprietary software for several reasons. First of all, you obviously can't afford to pay the licensing fees on 100 million copies of Windows—such fees would cost more than the hardware! Second, even if subsidies were offered to make it affordable, the choice would introduce new constraints on the design and the brittleness intrinsic to any single-supplier system. Finally, since the whole point is to help kids in exploration learning, it's counterproductive to hide the mechanism—open source for the operating system is just another part of the learning experience.

So, it should be no surprise that the OLPC laptop will run Linux. In fact, the machines contain a complete free software system—right down to the firmware BIOS, which will be OpenFirmware[2], written in Forth. Because of the complexity of shipping source code for all of the software on such tiny, storage-constrained computers, the team also decided to write a huge amount of the system in Python, an interpreted programming language that greatly simplifies this requirement. With Python, the source is the working program, so there is only one thing to distribute; the source is particularly easy to read, even for grade schoolers; and no compiler or build system is required for them to modify and use the software on the computer. Changes are reflected immediately, at run time.

Figure 6.2: OLPC laptops are already being deployed in many technologically underserved parts of the world. (participation data is based on the status at the end of 2007, from information on the http://www.laptop.org website)

In fact, the OLPC laptops are designed to facilitate this kind of exploration as much as possible. Developing software is one of many "activities" which a child is invited to explore through the machine's "Sugar" user interface[3]. Every running program will be designed to allow the child to press a simple "view source" key to see the Python code behind it (you may have noticed that most web browsers have a feature like this, making HTML highly accessible even to "non-programmers" around the world).

Developing software is one of many "activities" which a child is invited to explore through the machine's "Sugar" user interface

The consequences of this design decision are staggering and inspiring. Around the world, perhaps by 2020, there may be as many as 100 million children, ages six to ten, with a complete, easy-to-use Python programming environment and an operating system full of fun programs to tinker with. It's hard to imagine any child that wouldn't be drawn into that.

Figure 6.3: Kids exploring the technology. The OLPC, because of its free-software-based design, offers an unprecedented empowerment for new users around the world (Image credit: OLPC Project / CC-By 2.5)

For the sake of argument, though, imagine that in fact only one child in a thousand genuinely gets involved and reaches a point were we would legitimately call them an "open source developer". That's 100,000 people. Remember: Debian GNU/Linux, which we've already seen could be valued at $10 billion or more, was built by many fewer people.

Still, the OLPC project itself has also been in the press for less positive reasons. There have been some accusations of mismanagement, and personality conflicts have arisen. There was a falling out with Intel, and the organization is currently planning some management reorganizations. Some fear that it won't attain its lofty goals. But in the long run these are not very important considerations, because even if OLPC itself fails, the mission concept has already been proven, and it's the mission that matters. If not the XO, then some other ultra-low-cost machine will be deployed throughout the world to fill the same niche: several competitors have already entered the market.

A Whole New Kind of Computer Market

Enough people in the developed world have been impressed with the XO's design to make mainstream manufacturers and designers take notice. Clearly, there is demand for a $200 to $400 computer that does what the XO does. And since the production and distribution chain for the OLPC is hampered somewhat by the specifics of its mission, commercial developers are stepping in to close this market gap.

A new array of low-end laptop computers, based on flash-memory, power-miser CPUs, extremely rugged design, and GNU/Linux operating systems are being built and marketed to supply the new demand.

Figure 6.4: Although the OLPC is targeted to developing countries, it has scouted the marketplace and commercial competitors are rapidly closing the market gap (Credits: OLPC Project / CC-By-2.5 (XO), S2RD2@Flickr/CC-By-2.0 (Classmate), Red@Wikipedia/CC-By-3.0 (Eee), Sinomanic and ONE are press-release photos from the respective companies)

Fortunately, these computers will have almost the same impact in richer countries that the XO will have in poor ones: millions and millions of people will be exposed to an out-of-the-box experience driven by GNU/Linux and free software. Such users won't ask "why should I switch to free software?", but "why would I ever switch to anything else?" The stick-with-what-you-know motivation is strong, and that advantage will now apply to free software.

Millions and millions of people will be exposed to an out-of-the-box experience driven by GNU/Linux and free software

But what's more interesting is that, with so many more people (and so many more kinds of people) exposed to it, the potential for new involvement, new ideas, and new software development also increases. With ten-fold more users, comes ten-fold more potential new developers. And, of course, every itch scratched serves ten times as many people: which means there's also a larger pool from which foundation activities can draw.

The OLPC in 2009

In 2008, OLPC found itself considerably short of its goals, and much finger pointing and acrimony ensued. It was probably inevitable that something like this would come up eventually. The OLPC project operates in one of the harshest political environments imaginable: not just education and not just the developing world, but both in one package!

The OLPC project compromised ideological purity by offering laptops with a dual-boot GNU/Linux and Windows XP system to those potential buyers who insisted on being able to run Windows. This may well have been the right decision, too, though it heartily annoyed some people in the free software community.

Tensions between industrial sponsors, the OLPC organizers, and the community of free software developers produced some sparks, and the result was a substantial reorganization. Sugar left the official OLPC project, becoming an independent project operated by Walter Bender and others as "Sugar Labs"[3]. This was almost certainly the right move, since it put the community in charge of the community project, as well as increasing its visibility.

Nevertheless, the OLPC project—and now I am speaking of the whole movement surrounding the One Laptop Per Child mission, not just the organization that started the project—is getting back on track, and may do much better after this transition, though as of this writing in 2009, it's really too early to tell for sure).

OLPC XO laptops having their software updated as part of a recent deployment (David Drake / CC By 2.0)

Right now, the OLPC project stands at about half a million units either deployed, or in the process of being deployed worldwide. That's about 5% of the stated target for the end of 2007 (over a year ago), and only about 0.5% of the original stated objective of the OLPC project, which was closer to 100 million (about 1/60th of the population of Earth). Presumably the real target (every child on Earth) is an even higher figure. Clearly OLPC has fallen far short of its progress goals.

Nevertheless, a lot of good has been done, and it's likely that a lot more will be.

OLPC's XO is still the freest thing going: free BIOS, free operating system, free window manager, free applications. That some of them will carry Windows as well is a detail: deploying free software is a lot more important than hurting Microsoft

Sugar has broken away from the OLPC organization, taking Walter Bender and others with it, as a new entity called "Sugar Labs". It has its own independent online presence and community now. A series of more portable builds has been an outcome of this process.

Nevertheless, we now have choices. The XO was popular enough in the developed world to spawn a raft of imitators: a whole new class of computer, popularly called "netbooks".

Sugar runs on those imitators, on the XO, and on refurbished or new computers anywhere in the world. Whatever you might think of the XO as the deployment vector, Sugar is a free software tool that all free software advocates can support

Sugar is 100% free software. Even the Squeak/Etoys package has gotten over whatever licensing quibbles it was encumbered with. Today, it's even being admitted into Debian main, although the administrative hurdles will take a few months to clear.

The break-up itself is somewhat enlightening for the purposes of this book. Note that the community needed to get better control of the software development effort in order to feel ownership of the project, and therefore more of a responsibility to update it. Note the tension created by the different cultures of the business and commons-based enterprised worlds. Finally, notice how the independence created by free licensing allowed the software project to migrate smoothly to community control, thus surviving what might have become a disastrous failure had the whole thing been managed as a proprietary enterprise.

Pioneers and the New Wave

What this will mean, of course, is that the present "free culture" is really just the "pilot project". The real social phenomenon is yet to come. And if the present array of free software developers, open hardware hackers, and free culture producers can shake the world as much as we have already seen that it has, then it's clear that this new wave of more than an order-of-magnitude in scale will quite simply re-make the world.

Comments

There is one thing stopping free culture to "take off":
collaborative art tools (if there are such things they are largely undermarketed and I know too little of them).
For example:
versioning for graphic artists (is there a SVN/bazaar plugin for GIMP), music composers (does Audacity have a versioning plugin?), for office workers there is already http://odfsvn.sf.net;

collaborative Image labeler under a free license:
graphic artists cannot find other free artwork images they need to reuse, there is Google Image Labeler, but is is not under a free license (both the software and the results);
Note: such tools exist for music (musicbrains.org, last.fm, Jamendo.com...)

there is no marketplace for artwork under free licenses -openclipart.org is not enough.
There needs to be some gallery with ranking, tags for office templates, animations, animation scripts, music sheets,...

WikiMedia Commons permits only free-licensed works. and everything that's licensed under a Creative Commons license should have some kind of metadata so you can find it, for example through search.creativecommons.org which is kinda ugly though.

I absolutely agree with you that there should be a subversion tool for GIMP, Inkscape, Blender, etc. files. the next step would be a market place à la jamendo where people can make donations to artists and projects.

then there is still the issue that small (micro) donations through PayPal aren't really economically as PayPal wants to make money too. some non-profit foundation should be set up to create an e-trade system that doesn't take margins on low transactions. maybe they should even create a new (community/social) currency that can be exchanged for dollars or euros, like Linden Dollars in second life.

Subversion actually does have support for versioning images, and in contrast to CVS, these are enabled by default.

It used to be that it was problematic to put binary data into CVS, because there was a chance that it would "munge" the data if it happened across one of the "variable" directives that it provided to insert dates, versions, and other control information into documents. You could turn this behavior off, but it required manual intervention.

Subversion defaults to treating everything as if it might be a binary, and you have to turn on such "munging" behaviors if you want them.

Of course, versioning for bitmap images is still not terribly efficient, and it doesn't really provide a meaningful "diff" -- it's just a compressed way of storing lots of different versions of a bitmap.

Naturally, if you do this, you should use XCF so as to preserve as much "source" info as possible.

A better option for free art projects, is to use vector-based graphics as much as possible, and store those in SVG format (which is text). SVG can not only be versioned, but diffs based on it can be much more meaningful.

Generating graphical reports from such data is difficult, and that's a possible direction for new development.

Hmm. Actually, this gives me an idea. I realize that what we need is a blink comparator but I don't think I've ever seen an SVN tool that had one.

Which is interesting, because it wouldn't be hard to write one and patch it onto an existing SVN browser (as I write, I've just installed PySVN Workbench and I'll have a look at how hard it would be to patch such a tool onto it).

>> A better option for free art projects, is to use vector-based graphics as much as possible, and store those in SVG format (which is text). SVG can not only be versioned, but diffs based on it can be much more meaningful.

The bottom line is that as a work grows, each new contribution is a small percent of the whole. There is a diff here. For example, even without vector graphics, a change can boil down to some strokes and controlled effects. This should be scriptable in a compact way (likely is if we are referring to the gimp). In this case, the total work would be: various snapshots of a complex entity (eg, a few pictures through a digcam), plus a long list of existing scriptable actions (eg, the various strokes, individual pixel modifications, and standard parameterized effects). New modifications would likely be of the latter kind (ie, a few more scriptable actions).

These text-based scripts that substitute for the modification of a very large number of pixels are very diff friendly AND compact in themselves. [Ie, (but flipping the order) a whole snapshot takes up little space AND versioning is space efficient.]

The other major gain of scriptizing changes is that new and very distinct looking items can be created easily by changing key script commands or parameters in the chain. This is a very end user friendly quality and adds satisfaction to those collaborating since their bang-for-buck is maximized. Also, this leads to new opportunities for more contributors to join in and help.

..and the tools best suited for this sort of work currently and into the future are FOSS tools on FOSS platforms. Thus, through this FOSS environment, we should be able to reach farther using the open collaborative paradigm than groups relying on the proprietary environment would be able to reach (and while doing so, we require things like scripts for practical reasons but which necessitate the use of tools like the gimp, ie, we grow the use of our tools among the wider community that would want to participate).. all else being equal. [This last part is supposed to hint that we need more than just quality open environments, we need the hobbyist and pro artists on our side, we need the ecosystem, in order to seal the deal. We have to reach out and involve Jack and Jill on their terms (and I don't mean on Windows).]

It looks good, although my understanding of Spanish stylistics and usage is not good enough to comment on the accuracy.

Note that there was a correction: LinuxBIOS was replaced by OpenFirmware sometime back. You'll probably want to update the translation too.

Technically, the license has been violated, both because I haven't actually released this article under a CC license yet, and because when I do, it will be Creative Commons "Attribution-ShareAlike" 3.0, not "Attribution" as your site default says.

I'm more than happy to let you use it under CC-By-SA 3.0 right now, though.

So please just add the appropriate CC-By-SA 3.0 notice to clarify this. I prefer for the attribution to say "Terry Hancock, originally published in Free Software Magazine".

I'm happy to write code to blink images once they are loaded. For me, the hard part is getting the images into the program and/or launching the program when you want to use it. Ideally, they'd be loaded directly from the Subversion client.

I downloaded a copy of PySVN and its SVN Workbench GUI subversion browser, which seems like it would be a good way to launch this. I haven't managed to get it working though (it doesn't recognize my Subversion working copies, even though, AFAIK, they are configured correctly).

I want to echo bogdanbiv about the value of extending the open/empowering movement beyond software.

Besides binaries, there is a lot of source code involved in a FOSS (eg) art related workflow. Effects, filters, etc, plus automation through scripts of all sorts build the sort of art and works that lend themselves to growth through incremental peer contributions. Most of the tools already exist, but most people just aren't in the right frame of mind or have access to /awareness of them.

One sort of project (among several) that I think will help move things along in this direction will be building websites as FOSS projects. These would be sites full with configuration tools, demos, etc, that any user could easily take and adapt to their own needs. What do exist in this area (I think) are (at least somewhat) proprietary or not very developed at all. A full sophisticated site (eg, resulting from the collaboration of many webmasters and designers) that anyone could load up on their PC (using FOSS OS, servers, etc, naturally) and share with others is something I think would attract attention when it reaches a certain level of quality and utility. It has the effect of uniting many artists and others in an FOSS fashion. There is room for many to make contributions, something that is key to taking FOSS into mainstream. New generalized tools will arise from such collaboration to address many of the needs for this new environment. Current underused tools will be popularized and refined.

ETC. ETC.

It's very important to play our game on the playground of our target market [and no I definitely do not mean Windows.. I mean in a way where they will be engaged and see the effects of their own contributions working in synergy alongside the contributions of others to help reach the end goal that will have scratched their itch].

..another important angle we can hit on is with our "distros for everyone" capabilities (in particular a la LiveCDs). You can't carry and share improvements to a pocket Windows or design throw away marketing Windows distros for the business occassion. The reason is because unlike us, they lack free price and access to source code, modifications, and redistributions, in user friendly fashions. A full working (and portable) distro goes beyond what you can accomplish with a simple file sharing, as it can lead to as an immersive a user experience as you want. Not to mention that really no one outside Monopoly Headquarters can do or guarantee all that much when you have to depend on Monopolyware.

If we have accomplished as much as we have with .. ummm.. 0.7% of the market, imagine once we have 85%+ engaged and contributing in one way or another (and not contributing to the alternative Monopolyware platforms).

I know there's some recent brouhaha over whether OLPC XOs might run Windows. I deliberately avoided talking about those sort of issues, because I think it's a flash-in-the-pan problem and will go away. The contacts I've spoken to who are involved with OLPC don't seem to think the Windows or dual-boot options are really plausible outcomes.

OTOH, if by some chance, XOs do ship with Windows, I predict OLPC will go down in flames... but some other project will (in time) step in to replace it.

I get the impression this is another case of Negroponte sticking his foot in his mouth in front of the press. Which I can kind of relate to. It's easy to distort what people say by pulling out a few soundbites.

What I read of what Negroponte actually wrote (as opposed to what people read into it) is quite sensible: Sugar is too monolithic, needs to be modularized for better maintainability, and ought to be cross-platform, so we can run it on more than just the XOs.

In principle, it ought even to run on Windows, just like FireFox did ... and if it did it might see more popularity and hence more development. Which is how I interpreted what he wrote.

Which I thoroughly agree with -- I particularly would like to be able to install it on some of the other ultra-low-end machines (like the ones I mentioned in the article). Given the difficulty of getting an actual XO to develop on, I feel it would be beneficial to be able to test my apps on (say) an Eee PC and have some confidence that it would run on an XO.

ISTM that Sugar needs to grow beyond the XO if it is to be widely developed and supported by the community.

Otherwise, I feel that OLPC vastly underestimated the importance of getting XOs into the hands of open source developers.

So there's basically two choices: get more XOs in the hands of "developed world" developers or get Sugar running on the platforms that are available to them now.

It's this sort of poorly-thought-through community process that I would blame for the poor response on Sugar development. OLPC either has to be willing to simply pay developers, so that people will commit to it, or it has to make the platform widely-enough available so that people will be personally motivated to help.

OLPC seems to have some issues with the social rules of the open source community (maybe they need to read the rest of this series as I get it written?), and unfortunately, this has led to some highly visible thrashing and "loss of faith" as they panic in trying to find solutions to what probably seems like a fiasco from where they're sitting.

I don't think it changes the big picture though. In a few years, there will be ultra-low-end computers in the developing world, and they will run GNU/Linux.

This is an interesting article. The fact that Python is being implemented is very interesting.

There seem to be a few issues left to be desired, I speak for myself such as ... maybe I missed it but when is the OLPC XO 1 project deadline? At what stage is the project? Is it purely theoretical, are there any plans that consider real hardware. Is there a working alpha or beta of this laptop with this version of Gnu-Linux port to Python? And finally, what specs are designed into the OLPC XO 1?

One of the illustrations in this article is of the first XOs coming off of the assembly line. Several of the field photos are from trials, but I believe the ones from Uruguay from the initial deployment.

The laptops are running a version of Fedora, as I understand it, with a GUI system built on top of that, which is called "Sugar". Sugar is written in Python.

Naturally, though, Sugar is still under development.

If you want to know more about the project, you should visit the OLPC website.

I was curious about testing Sugar in my Laptop, I'm using Ubuntu Hardy and when I opened Synaptic I found some installable Sugar applications, I installed em all (including a sugar-emulator). So now I can test Sugar including Pippy the Python editor.

On the other hand Windows will fight to be there, if what Terry suggests about the natural generation of lots of "free software developers" with time, that is a real menace to MS market, so they will do something.

Author information

Biography

Terry Hancock is co-owner and technical officer of Anansi Spaceworks. Currently he is working on a free-culture animated series project about space development, called Lunatics as well helping out with the Morevna Project.