↬ I'm Ivan Krstić (@radian). This is a personal site; I speak for no one but myself.

Sic Transit Gloria Laptopi



Photo: Walter shows me improvements to the Record activity at the Lima coastline, Peru.

I’ve been displeased with the quality of community discourse surrounding the recent OLPC announcement of moving to Windows as the OS platform. I decided to withhold comment at the time, and was swayed only by the half-dozen volunteers mailing me personally to ask whether all their work had been in vain. It hadn’t. And then I left to travel for a few days.

I just caught up with my mail and RSS feeds, and what I’ve read has moved me from displeased to angry. So I’m going to comment after all, and it’ll be my last OLPC-related essay for the foreseeable future. But first, some background.

The beginning
Throughout his life, Nicholas Negroponte worked with education and technology luminaries like Alan Kay and Seymour Papert. In the early 80s, Nicholas and Seymour ran a pilot program backed by the French government that placed Apple ][ machines in a suburban computing center in Dakar, Senegal. The project was a spectacular flop due to mismanagement and personality conflicts. In '83, barely a year after the experiment started, MIT's Technology Review magazine published its damning epitaph:

Naturally, it failed. Nothing is that independent, especially an organization backed by a socialist government and staffed by highly individualistic industry visionaries from around the world. Besides, altruism has a credibility problem in an industry that thrives on intense commercial competition.

By the end of the Center's first year, Papert had quit, so had American experts Nicholas Negroponte and Bob Lawler. It had become a battlefield, scarred by clashes of management style, personality, and political conviction. It never really recovered. The new French government has done the Center a favor in closing it down.

But both Nicholas and Seymour emerged from the ashes of the Dakar pilot with their faith in the premise of children learning naturally with computers intact. Armed with the lessons from the Senegal failure, it was perhaps only a matter of time before they tried again.

Indeed, Seymour tried again only a couple of years later: the Media Lab was founded in 1985 and immediately started supporting Project Headlight, an attempt to infuse constructionist learning into the complete curriculum of the Hennigan school, a public elementary school in Boston consisting mostly of minority students.

Fast forward almost two decades, to around 2000. Former Newsweek foreign correspondent turned philanthropist, Bernie "one-man United Nations" Krisher convinced Nicholas and his wife Elaine to join Bernie's program of building schools in Cambodia. Nicholas bought used Panasonic Toughbooks for one school, and his son Dimitri taught there for a time.

"Surely," the thinking went, "there has to be a way to scale this." And the rest of the story is familiar: Nicholas wooed Mary Lou Jepsen while she was interviewing for a faculty position at the Lab, and told her about his crazy idea for an organization called One Laptop per Child. She came on board as CTO. Towards the end of 2005, the organization left stealth mode with a bang: Nicholas announced it with Kofi Annan, Nobel Peace Prize winner and then-Secretary-General of the United Nations, at a global summit in Tunis.

The part that bears repeating is that Nicholas' constructionism-based computer learning project in Senegal was a complete disaster: modulo commentary on the personalities and egos involved, it demonstrated nothing about anything. And Krisher's Cambodia project, the one evidently successful enough to motivate Nicholas to actually start OLPC, used off-the-shelf laptops running Windows without any constructivist customizations of the OS whatsoever. (They did have some constructionist tools installed as regular applications.)

What we know
The truth is, when it comes to large-scale one-to-one computing programs, we're completely in the dark about what actually works, because hey, no one has done a large-scale one-to-one computing program before. Mako Hill writes:

We know that laptop recipients will benefit from being able to fix, improve, and translate the software on their laptops into their own languages and contexts. ... We can help foster a world where technology is under the control of its users, and where learning is under the terms of its students — a world where every laptop owner has freedom through control over the technology they use to communicate, collaborate, create, and learn. It is the reason that OLPC's embrace of constructionist philosophy is so deeply important to its mission and the reason that its mission needs to continue to be executed with free and open source software. It is why OLPC needs to be uncompromising about software freedom.

This kind of bright-eyed idealism is appealing, but alas, just not backed by fact. No, we don't know that laptop recipients will benefit from fixing software on their laptops. Indeed, I bet they'd largely prefer the damn software works and doesn't need fixing. While we think and even hope that constructionist principles, as embodied in the free software culture, are helpful to education, presenting the hopes as rooted in fact is simply deceitful.

As far as I know, there is no real study anywhere that demonstrates constructionism works at scale. There is no documented moderate-scale constructionist learning pilot that has been convincingly successful; when Nicholas points to "decades of work by Seymour Papert, Alan Kay, and Jean Piaget", he's talking about theory. He likes to mention Dakar, but doesn't like to mention how that pilot ended — or that no real facts about the validity of the approach came out of it. And there sure as hell doesn't exist a peer-reviewed study (or any other kind, to my knowledge) showing free software does any better than proprietary software when it comes to aiding learning, or that children prefer the openness, or that they care about software freedom one bit.

Keeping that in mind, Richard Stallman's missive on the subject just riled me up:

Proprietary software keeps users divided and helpless. Its functioning is secret, so it is incompatible with the spirit of learning. Teaching children to use a proprietary (non-free) system such as Windows does not make the world a better place, because it puts them under the power of the system's developer — perhaps permanently. You might as well introduce the children to an addictive drug.

Oh, for crying out loud. You really just employed a simile comparing a proprietary OS to addictive drugs? You know, ones causing actual bodily harm and possibly death? Really, Stallman? Really?

If proprietary software is half as good as free software at aiding children's learning, you're damn right it makes the world a better place to get the software out to children. Hell, if it doesn't actively inhibit learning, it makes the world a better place. The problem is that Stallman doesn't appear to actually give an acrobatic shit about learning, and sees OLPC as a vehicle for furthering his political agenda. It's shameful, the lot of it.

While we're on the subject
One of the favorite arguments of the free software and open source community for the obvious superiority of such software over proprietary alternatives is the user's supposed ability to take control and modify inadequate software to suit their wishes. Expectedly, the argument has been often repeated in relation to OLPC.

I can't possibly be the only one seeing that the emperor has no clothes.

I started using Linux in '95, before most of today's Internet-using general public knew there existed an OS outside of Windows. It took a week to configure X to work with my graphics card, and I learned serious programming because I later needed to add support for a SCSI hard drive that wasn't recognized properly. (Not knowing that C and kernel hacking are supposed to be "hard", I kept at it for three months until I learned enough to write a patch that works.) I've been primarily a UNIX user since then, alternating between Debian, FreeBSD and later Ubuntu, and recently co-writing a best-selling Linux book.

About eight months ago, when I caught myself fighting yet another battle with suspend/resume on my Linux-running laptop, I got so furious that I went to the nearest Apple store and bought a MacBook. After 12 years of almost exclusive use of free software, I switched to Mac OS X. And you know, bad power management and many other hassles aren't Linux's fault. The fault lies with needlessly secretive vendors not releasing documentation that would make it possible for Linux to play well with their hardware. But until the day comes when hardware vendors and free software developers find themselves holding hands and spontaneously bursting into one giant orgiastic Kumbaya, that's the world we live in. So in the meantime, I switched to OS X and find it to be an overwhelmingly more enjoyable computing experience. I still have my free software UNIX shell, my free software programming language, my free software ports system, my free software editor, and I run a bunch of free software Linux virtual machines. The vast, near-total majority of computer users aren't programmers. Of the programmers, a vast, near-total majority don't dare in the Land o' Kernel tread. As one of the people who actually can hack my kernel to suit, I find that I don't miss the ability in the least. There, I said it. Hang me for treason.

My theory is that technical people, especially when younger, get a particular thrill out of dicking around with their software. Much like case modders, these folks see it as a badge of honor that they spent countless hours compiling and configuring their software to oblivion. Hey, I was there too. And the older I get, the more I want things to work out of the box. Ubuntu is getting better at delivering that experience for novice users. Serious power users seem to find that OS X is unrivaled at it.

I used to think that there was something wrong with me for thinking this. Then I started looking at the mail headers on mailing lists where I hang out, curious about what other folks I respect were using. It looks like most of the luminaries in the security community, one of the most hardcore technical communities on the planet, use OS X.

And lest you think this is some kind of Apple-paid rant, I'll mention Mitch Bradley. Have you read the story of Mel, the "real" programmer? Mitch is that guy, in 2008. Firmware superhacker, author of the IEEE Open Firmware standard, wrote the firmware that Sun shipped on its machines for a good couple of decades, and in general one of the few people I've ever had the pleasure of working with whose technical competence so inordinately exceeds mine that I feel I wouldn't even know how to start catching up. Mitch's primary laptop runs Windows.

Sleight of hand
But really, I digress. The point is that OLPC was supposed to be about learning, not free software. And the most upsetting part of the Windows announcement is not that it exposed the actual agendas of a number of project participants which had nothing to do with learning, but that Nicholas' misdirection and sleight of hand were allowed to stand.

The whole "we're investing into Sugar, it'll just run on Windows" gambit is sheer nonsense. Nicholas knows quite well that Sugar won't magically become better simply by virtue of running on Windows rather than Linux. In reality, Nicholas wants to ship plain XP desktops. He's told me so. That he might possibly fund a Sugar effort to the side and pay lip service to the notion of its "availability" as an option to purchasing countries is at best a tepid effort to avert a PR disaster.

In fact, I quit when Nicholas told me — and not just me — that learning was never part of the mission. The mission was, in his mind, always getting as many laptops as possible out there; to say anything about learning would be presumptuous, and so he doesn't want OLPC to have a software team, a hardware team, or a deployment team going forward.

Yeah, I'm not sure what that leaves either.

There are three key problems in one-to-one computer programs: choosing a suitable device, getting it to children, and using it to create sustainable learning and teaching experiences. They're listed in order of exponentially increasing difficulty.

The industry didn't want to tackle the first one because there was little profit in it. OLPC successfully made them do it in the most effective way possible: by threatening to steal their lunch. But industry laptop manufacturers still don't want to tackle deployment, because it's really, really fucking hard, isn't within a 100-mile radius of their core competency, and generally has a commercial ROI that makes baby Cthulhu cry.

Peru's first deployment module consisted of 40 thousand laptops, to be deployed in about 570 schools across jungles, mountains, plains, and with total variance in electrical availability and uniformly no existing network infrastructure. A number of the target schools are in places requiring multiple modes of transportation to reach, and that are so remote that they're not even serviced by the postal service. Laptop delivery was going to be performed by untrusted vendors who are in a position to steal the machines en masse. There is no easy way to collect manifests of what actually got delivered, where, and to whom. It's not clear how to establish a procedure for dealing with malfunctioning units, or those dead on arrival. Compared to dealing with this, the technical work I do is vacation.

Other than the incredible Carla Gomez-Monroy who worked on setting up the pilots, there was no one hired to work on deployment while I was at OLPC, with Uruguay's and Peru's combined 360,000 laptop rollout in progress. I was parachuted in as the sole OLPC person to deal with Uruguay, and sent to Peru at the last minute. And I'm really good at thinking on my feet, but what the shit do I know about deployment? Right around that time, Walter was demoted and theoretically made the "director of deployment," a position where he directed his expansive team of — himself. Then he left, and get this: now the company has half a million laptops in the wild, with no one even pretending to be officially in charge of deployment. "I quit," Walter told me on the phone after leaving, "because I can't continue to work on a lie."

It's not like OLPC was caught unawares, or somehow forgot that this was going to be an issue. I wrote in an internal memo in December:

We have multiple concurrent rollouts of differing scale in progress — Uruguay with eight thousand machines, G1G1 with potentially a quarter million — and with at least Peru and Mongolia on the horizon within a month from now. We have no real support infrastructure for these rollouts, our development process is not allocating any time for dealing with critical deployment issues that (will inevitably) come up, and we have no process for managing the crises that will ensue. I wish I could say this is the bulk of our problems, but I mention these first simply because I predict it's these deployments that will impose the heaviest burden on this organization in the coming months — a burden we're presently entirely unprepared to handle.

...

We still have not a single employee focusing on deployment, helping to plan it, working with our target countries to learn what works and what doesn't. Evidently our "deployment plan" is to send whichever hotshot superhacker we have available to each country such that he may fix any problems that arise on the spot. If that is not in fact our plan, then we have no plan at all.

That OLPC was never serious about solving deployment, and that it seems to no longer be interested in even trying, is criminal. Left uncorrected, it will turn the project into a historical information technology fuckup unparalleled in scale.

As for the last key problem, transforming laptops into learning is a non-trivial leap of logic, and one that remains inadequately explained. No, we don't know that it'll work, especially not without teachers. And that's okay — the way to find out whether it works might well be by trying. Sometimes you have to run before you can walk, yeah? But most of us who joined OLPC believed that the educational ideology behind the project is what actually set it apart from similar endeavors in the past. Learning which is open, collaborative, shared, and exploratory — we thought that's what could make OLPC work. Because people have tried plain laptop learning projects in the past, and as the New York Times noted on its front page not so long ago, they crashed and burned.

Nicholas' new OLPC is dropping those pesky education goals from the mission and turning itself into a 50-person nonprofit laptop manufacturer, competing with Lenovo, Dell, Apple, Asus, HP and Intel on their home turf, and by using the one strategy we know doesn't work. But hey, I guess they'll sell more laptops that way.

Broken windows theory
I've tried to establish already that there's no evidence that free software provides a superior learning experience when compared to a proprietary operating system. This point bears some elaboration. Bernie Innocenti, until recently the CTO for the fledgling OLPC Europe, a few days ago wrote:

I myself wouldn't oppose a Windows port of Sugar. I would never waste my time on it, or encourage anyone to waste their time on it, but it's free software and thus anyone is free to port it to anything they wish.

Stallman similarly called a Windows port of Sugar "not a good thing to do". Here's the thing: such a port is only a waste of time if free software is not the means here, but an end. At Nicholas' solicitation, I wrote an internal memo on software strategy in early March. It was co-signed by Marco Pesenti Gritti, the inimitable Sugar team lead. I am not at liberty to reproduce the entire document, but I will quote the most relevant section with minimal redactions:

... We [argue strongly that we should] decouple the Sugar UI from the Sugar technologies we’ve developed such as sharing, collaboration, the presence service, the data store, and so forth. We may then make those services run well in a regular Linux desktop environment and redefine the Sugar activity concept to simply be any Linux desktop application capable of using the Sugar services. The Sugar UI itself could, optionally and at a later date, be provided as a graphical launcher, perhaps developed by the community.

The core mistake of the present Sugar approach is that it couples phenomenally powerful ideas about learning — that it should be shared, collaborative, peer to peer, and open — with the notion that these ideas must come presented in an entirely new graphical paradigm. We reject this coupling as untenable.

Choosing to reinvent the desktop UI paradigm means we are spending our extremely overconstrained resources fighting graphical interfaces, not developing better tools for learning. … It is most important to recognize that the graphical paradigm changes are inessential both to our core mission and to the Sugar core ideas.

We gain a plethora of benefits from detaching the technologies that directly support the mode of learning we care about from the Sugar UI. Notably, it becomes far easier to spread these ideas and technologies across platforms — our UI components are the hardest parts to port. If the underlying Sugar technologies were made easily available for all major OSes, we could leverage the creativity and work of the wider development community to build applications on top of our core offerings, creating a diverse ecosystem of powerful learning tools. Those tools could then be used by learners globally and on any computer, XO or otherwise. This should have been our aim all along. Many of the technologies we’ve built would be welcomed with arms wide open into modern Linux desktops, and a large number of developers would likely get engaged with them if we provided the possibility. In contrast to the current situation, such a model must be the direction where we take things: OLPC benevolently steering development which is mostly done by the community.

Finally, with regard to the politically-sensitive question of OLPC’s commitment to open source, we think there is a simple and uncomplicated answer: OLPC’s policy should be that all OLPC-developed software is open source and uses open standards and open formats. We don’t think a stronger commitment is necessary. Our preference for open source should stem solely from the conviction that it provides a better learning environment than closed-source alternatives. As such, having an open source cross-platform set of core technologies for building collaborative learning applications makes a tremendous amount of sense. But fundamentally, requiring that a particular UI or even OS are used seems entirely superfluous; we should be satisfied with any environment where our core technologies can be used as building blocks for delivering the learning experience we care so strongly about.

At the end of the day, it just doesn’t matter to the educational mission what kernel is running Sugar. If Sugar itself remains open and free — which, thus far, has never been in question — all of the relevant functionality such as the ‘view source’ key remains operational, on Windows or not. OLPC should never take steps to willingly limit the audience for its learning software. Windows is the most widely used operating system in existence. A Windows-compatible Sugar would bring its rich learning vision to potentially tens or hundreds of millions of children all over the world whose parents already own a Windows computer, be it laptop or desktop. To suggest this is a bad course of action because it’s philosophically impure is downright evil.

And hey, maybe a Windows version of Sugar gets kids sufficiently interested in computer innards to actually want to switch to Linux. Trolltech, the company behind the Qt graphical toolkit, was recently purchased by Nokia and announced it’ll be adding platform support for the mobile version of Windows, apparently to accusations of treason in the free software community. But Trolltech’s CTO Benoit Schillings doesn’t think that’s right:

Some critics are concerned that Trolltech’s support for Windows Mobile could limit the growth of mobile and embedded Linux technologies, but Schillings sees things differently. By enabling application developers to create a single code base that can seamlessly move across platforms, he says that Trolltech is making it easier for companies that are currently using Windows Mobile to transition to Linux, which he thinks will mean more adoption of the open source operating system in the long run.

The man speaks wisely.

Now, pay close attention: while I’m unequivocally enthusiastic about Sugar being ported to every OS out there, I’m absolutely opposed to Windows as the single OS that OLPC offers for the XO. The two matters are completely orthogonal, and Nicholas’ attempt to conflate them by calling the open source community “fundamentalists” (and watching the community foam at the mouth instead of picking apart his logic) is just another bit of misdirection. Not that anyone should really feel offended, since he’s made it a habit to call his employees terrorists.

OLPC should be philosophically pure about its own machines. Being a non-profit that leverages goodwill from a tremendous number of community volunteers for its success and whose core mission is one of social betterment, it has a great deal of social responsibility. It should not become a vehicle for creating economic incentives for a particular vendor. It should not believe the nonsense about Windows being a requirement for business after the children grow up. Windows is a requirement because enough people grew up with it, not the other way around. If OLPC made a billion people grow up with Linux, Linux would be just dandy for business. And OLPC shouldn’t make its sole OS one that cripples the very hardware that supposedly set the project’s laptops apart: released versions of Windows can neither make good use of the XO power management, nor its full mesh or advanced display capabilities.

Most importantly, the OS that OLPC ships should be one that embodies the culture of learning that OLPC adheres to. The culture of open inquiry, diverse cooperative work, of freely doing and debugging — this is important. OLPC has a responsibility to spread the culture of freedom and ideas that support its educational mission; that cannot be done by only offering a proprietary operating system for the laptops.

Put differently, OLPC can’t claim to be preoccupied with learning and not with training children to be office computer drones, while at the same time being coerced by hollow office drone rhetoric to deploy the computers with office drone software. Nicholas used to say the thought of the XOs being used to teach 6-year olds Word and Excel made him cringe. Apparently, no longer so. Which is it?

How to go forward
Here’s a paragraph from one of my last e-mails to Nicholas, sent shortly after I resigned:

I continue to think it’s a crying shame you’re not taking advantage of how OLPC is positioned. Now that it’s goaded the industry into working on low-cost laptops, OLPC could become a focus point for advocating constructionism, making educational content available, providing learning software, and keeping track of worldwide [one-to-one] deployments and the lessons arising from them. When a country chooses to do [a one-to-one computer program], OLPC could be the one-stop shop that actually works with them to make it happen, regardless of which laptop manufacturer is chosen, banking on the deployment plans it’s cultivated from experience and the readily available base of software and content it keeps. In other words, OLPC could be the IBM Global Services of one-to-one laptop programs. This, I maintain, is the right way to go forward.

I’m trying to convince Walter not to start a Sugar Foundation, but an Open Learning Foundation. For those who still care about learning in this whole clusterfuck of conflicting agendas, the charge should be to start that organization, since OLPC doesn’t want to be it. Having a company that is device-agnostic and focuses entirely on the learning ecosystem, from deployment to content to Sugar, is not only what I think is sorely needed to really take the one-to-one computer efforts to the next level, but also an approach that has a good chance of making the organization doing the work self-sustaining at some point.

So here’s to open learning, to free software, to strength of personal conviction, and to having enough damn humility to remember that the goal is bringing learning to a billion children across the globe. The billion waiting for us to put our idiotic trifles aside, end our endless yapping, and get to it already.

My thanks to Walter Bender and Marco P. Gritti for reading drafts of this essay.