A SD Slot, Hardware Upgrade, and Windows Backstory

olpc sd slot
A naked SD slot
Back when we first heard that there would be a SD slot on the OLPC XO, I wondered why since Secure Digital wasn't Open Source. Subsequently, we learned from Walter Bender that an SD slot for the Children's Machine XO is the first truly Open Source SD implementation. Then we learned from Nicholas Negroponte the reason why a SD slot was needed to begin: Windows on the OLPC:
Although the machine is preinstalled with Linux but this doesn't mean that you can't run Windows on the machine, Negroponte said. " We put in an SD slot just for Bill," he quipped.
Or so we thought. Now Jim Gettys, Vice President, Software Engineering, One Laptop Per Child has revealed his SD slot backstory:
I’m also glad that Microsoft likes the SD card (which they need); note that that will cost much more than Windows, and that Linux doesn’t need it ;-). Again, the primary push for it were two events, taking place last summer, little of which had to do with Microsoft:
  1. We found the Geode GX had a lousy NAND flash controller, so bad we had to build an ASIC to have a system with decent performance. [...]Once we had an ASIC, the incremental cost of the SD slot (which the countries had been asking for) was just about the cost of an SD connector.
  2. Feedback from the launch countries was (correctly) that with the current drop in flash prices, having some way to augment the on-board flash cheaply would increase the useful lifetime of the system.
olpc open source games
OLPC Open Source games
Jim also details the BTest-3 hardware upgrade backstory. Essentially AMD offered the Geode LX-700 processor at the same price as the earlier GX processor power and with flash prices dropping, a slight increase in price could double the flash memory, both changes that the participating countries embraced.

Now Jim does touch on the Microsoft Windows issue, which he says is about freedom of choice. At the basic level you can agree with his logic, an open platform should be open to any operating system, but shouldn't that be any Open Source operating system?

Especially since he says:

free and open source software is one of the five tenets of OLPC, worked out jointly with discussion with the countries.

Related Entries


It's simply not technically nor legally feasible to limit the platform to open source operating systems. It's doesn't just go against the principles of open source -- when you open up the specifications, you necessarily open the platform to non-free software.

You could use licensing to avoid this, but licensing is not practically up for discussion -- the GPL essentially forbids this kind of legal maneuvering. In this way the GPL is a funny license -- it ties your hands in many ways, keeps you from being able to make decisions like barring close operating systems, and that very restriction is a big part of why its used.

That restriction is a big part of what has drawn so many developers (including institutional developers) to Linux instead of BSD; it creates a neutral ground and a strong future commitment that everyone can depend on. Including Microsoft.

It also means lots of things don't have to be discussed in great length, because they simply aren't options. This can be a big time saver.

Ah, that's an interesting angle that I didn't know of Ian. Still, even if OLPC is not able to restrict users from installing Microsoft on the XO, the OLPC leadership seems to be shifting from "its possible" to "we don't care if you do." That is the surprising shift that has everyone stunned.

If Bill pays the SD connector - no problem with that.

I call it competition. I guess that is what FOSS software is all about. OLPC should have two XO, one with standard Sugar and the other with XP. Bith should undergo rigorous testing not necessarily done by us geeks, but by the students. These tests should be identical for the two machines, for example by having the students to perform some assignments or simply to see what is the most creative platform and how it impacts their educational lives. I would say give the machine with Sugar preinstalled to a kid for a month, and then the one with XP for another month. Get their reactions. Use the feedback. After a good amount of time, OLPC should declare the winner. This doesn't mean closing to one platform. On the opposite it means that a product was tested to better than the other. If then some government is going for the looser, well, I guess that's their problem.
OLPC should really do this, as it would be the most scientifically sound way to clear up what is the best platform, and all the FUD about the current MS vs Linux.

I know you will say that OLPC (and Dr. Negropon te in particular), won't do this. Whatever. I still have to understand what kind of educational testing they are doing on the current XO, how they are collecting the feedback, and how the feedback is plugged in back into R/D. That would be the natural, scientific way of developing educational products. Please correct me if I can't see this happening on the XO.

One thing I find myself wondering about is whether we shouldn’t try and make the XO's hardware interface somehow Open Source specific. If seems unfortunate if we do this work and get our partners to do the work and the result is that Windows works great without having to do the work. Maybe there is no way to avoid this problem but it does bother me.

Maybe we can define the XO's hardware APIs so that they work well with Open Source and not the others even if they pretend to be nice. Or maybe we could patent something related to this.

Original Bill Gates quote: http://www.threadwatch.org/node/13912

"I call it competition. I guess that is what FOSS software is all about. OLPC should have two XO, one with standard Sugar and the other with XP."

Like in WWII Austria, where the was competition between driving on the left (Austian) or right (German) side of the road. Let the best standard win! German tanks won.

These two OS' cannot live together. The 2b1 is a connected/collaborative machine, and XP (MS) refuses to communicate with ANYone but itself. Read about the SAMBA story.

So, if a community has both Sugar and XP, it will have TWO incompatible and non-communicating sub-communities.

If I were MS, I would pay big to get the first batches converted to XP. Then the network effect would force every new batch to be XP only, just to communicate with the existing base.

Calling for competition on the 2b1 is madness (or devious).


One techincal question: Why is the SD card necessary for installing windows XP? I thought the basic flash drive of the OLPC had enough memory for a basic install of XP...


When the OLPC XO first came out, it only had 500MB of memory, not enough for Windows. With the BTest-3 hardware (what Jim Gettys explains above), Windows can run on the machine w/o an SD slot.

Confusion over its implementation on the XO came about because Negroponte said it was expressly for Microsoft to run Windows on the original configuration.


I agree with you in saying that MS will perform poorly (to say it mildly) on the X). However I think here is where you miss my point:

1. If you are a true open source believer, you will not want to restrict your hardware to anybody, MS included. That will contraddict the very fundamental open nature of the XO, which is not, like a Mac, a close source, closed development platform. The fact that Windows will score poorly is irrelevant, in fact it will be a good thing. But closing your platform to me seems like restricting in an act of fear. And we know in terms of fear, MS has much more to fear than FOSS has.

2. Because of point 1, if you really want to be fair, you should do a straight comparison. What happens when government officials come to the OLPC people saying: "How's Sugar erfroming when compared with XP?". The all argument "Linux is better than Windows" although tempting and most likety right, isn't based either on a scientific or educational base ground. If instead you can say: "tests have been done extensively with both platform (may I add Macs too?)". These are the performance results, both for the machine and the student feedback: This platform is better than the other. Educationally speaking, this will be good too. This testing will need to include every aspect of the use of the platform (as you corectly say networking, intercommunication, educational software, server back-end). The fact that OLPC will not preinstall XP will also be an important thing to be justified by such tests. And no, I seriously doubt they will go for XP preinstalled in the first batch. Who (i.e. the governments) wants XP will have to do it themselves.

So this is why competition is good. Otherwise we all fall again into the argument, "MS is bad, Linux is good". You have to realize that if that was really a driving force, lot more people than us (me for sure) would use Linux instead of MS. Instead it's the other way around. A face to face comparison on the ground of education is what would make VERY clear who's the winner, in a way that would clear up all this FUD and conspiracy theory that is going on.

After all, isn't this what the scientific method should be? Am I asking too much when I request solid camarative tests? I bet even Sugar would benefit quite significantly from it.

I just wish that OLPC would get the story straight, Negroponte is still saying the SD slot was for Windows:

Speaking with Wired News editor Kevin Poulsen over e-mail, Negroponte said that an SD card slot was added to the OLPC machine so it could meet Windows' minimum performance requirements. "The XO always ran Windows... that is why we added the SD slot," he said.

I sincerely hope that a version of the LGC ( Little Green Computer ) will be made which absolutely won't run commercial entertainment programs. It is this ability which turns a computer from being a positive asset in the classroom to being, in effect, one of the most expensive, and subversive distractions to learning ever made.

Oh, just thought. Is, perchance, the whole purpose of this exercise to ensure that the recipient countries' populations never become sufficiently educated to be any real threat to No. 1?

If he were alive today, Machiavelli would be proud to be associated with this project.