Why Microsoft Code Shouldn't be on the OLPC XO

Microsoft olpc
I'm sure that by now most of you have heard about Microsoft's $3 Software Package for Developing Countries. Amongst the many articles that have been written about this news-story I'd certainly recommend you to read this one called "Microsoft's $3 anti-Linux weapon" over on linux-watch.com:
"Officially, the goal is to help bring social and economic opportunity through new products and programs to as many as possible of the potential 5 billion people who do not yet use Microsoft products. … Here's what's really happening. Microsoft is seeing that the OLPC (One Laptop Per Child) initiative is taking off. Soon, millions of kids will be using a computer for the first time, and their first computer is going to be running Sugar, an innovative software environment built on top of a Red Hat Fedora-based Linux variant."
Steven J. Vaughan-Nichols, the article's author, goes on to mention other examples of open-source operating systems such as Ubuntu and Mandriva gathering momentum in Africa and South America. Now of course you don't exactly expect a website like Linux-Watch to have an unbiased view of anything involving Microsoft.

But even leaving politics about open-source aside, what other reasons are there why Microsoft products shouldn't be installed on the X0 machines. One of the arguments you often hear when talking about Windows and Office running on the X0 is that Windows XP (don't even get me started on Vista) is a real resource hog. So how is that multi-million lines of code beast ever going to work on "the slow $100 laptop".

Well, ever since the BTest-3 hardware upgrades were announced this argument isn't really valid anymore. I have an AMD Geode LX800 (FYI: X0 will use the LX700) setup sitting right next to me and in runs WinXP SP2 just fine. Moderate multi-tasking does slow it down a bit but in general it's a very usable system for e-mails, browsing the web and office applications.

olpc ubuntu

However "slim" Linux distributions such as SLAX or DSL do make for a much smoother ride. The fact that anyone with enough skills can go ahead and customize Linux to their heart's desire allows the software to run from anything ranging from mobile phones to high-performance cluster setups. In other words, even if OLPC hadn't come up with Sugar, somebody else would come up with a custom solution that is perfectly matched to the X0's hardware and environment.

With Microsoft on the other hand you have a single company working on adapting software that was never meant to run such a specialized device. By its very nature a solution aimed a traditional PC can never be as flexible as a custom piece of software. Even in terms of application software such as Office 200x I dare say that it's nearly impossible to make it work on a system such as the X0.

The version of AbiWord that will run on these machines follows the KISS (Keep It Simple, Stupid) principle and it just works. When was the last time you looked at your word-processor or spreadsheet and thought that using it was really simple and intuitive? Don't get me wrong, I really like the so-called "rubber band" and other changes that Microsoft introduced in Office 2007. But would I want to be the person teaching Word 2007 to somehow who's never used a computer before? Or wouldn't it be more convenient to sit them in front of XO's AbiWord, give them a 5min introduction and then watch as they can start to use the software.

If there's one crucial aspect that Microsoft never got quite right in the past years then it's general usability. Sure, people like you and me who have the "Start" image permanently etched into their retinas normally have no trouble finding their way around Windows or Office. And I'm not saying that your average Linux distribution or Apple's OS X are much better. Each of them have their own set of strengths and weaknesses but they all pretty much suck when it comes to usability for users without previous knowledge of computer systems.

The jury is still out on what children are thinking of the Sugar UI and personally I'd still like to see some sort of formal user interface testing take place. However right now I do believe that it's the closest anyone has ever come in designing a simple and intuitive yet fully functional operating system. If you've come across something better (or at least similar) then please let me know!

No Windows XP on the OLPC!!

The last issue that I want to mention is security. The simple fact that several million identical computers will be out there soon is frightening enough. Add Microsoft's track-record on security, bugs, worms and other nasty pieces of malicious code and you've got a real nightmare. I'm sure that there are many people out there who fantasize of having access to 10 million systems that can be used for DDOS (Distributed Denial of Service) attacks or as spam servers.

Now the Microsoft fanboys will be quick to point that Linux obviously isn't 100% secure either. But that's not really the point. The real issue is that bugs and exploits found in open-source software tend to be fixed much faster than in proprietary software. Of course these are just some of the key-points mentioned here, you could easily write a 100-page article about this topic.

In the end I want to emphasize that I'm generally pro-choice when it comes to software on the X0. Even though I do believe that Sugar is the best solution out there right now I'm thinking that in the future somebody else might come up with something better. In that case governments deploying X0s in their educational system should have a choice between using Sugar and whatever else is available. But I don't see Microsoft coming up with a viable solution anytime soon.

Related Entries


Well for $200 we have the option of buying a classmate pc instead, which will run windows xp or Linux (Mandriva at least).

question: how much free educational software is available for Windows? And is it open source so it can be customized, such as language localization?

In all fairness, it should be pointed out that we know very little about security, performace, etc., when it comes to the OLPC machine. After all, nobody has seen it working under "real world" conditions.

I personally think that Windows is not the right OS for these machines, becuse it requires more powerful hardware and security would add significant cost to the project.

Which brings me to the obvious question for the author: do you have any idea what the cost of securing (as in antivirus software, firewalls - software/hardware, etc) the OLPC machines will be?

I have a feeling that many of the touted "advantages" of these machines will turn out to be significant liabilities, when mounting costs will be incurred by participating countries in order to provide the needed "features" (mostly educational software, localization, storage, maintenance, etc.). Don't be surprised if the initial $150 investment soon balloons to the thousands before any country can start its experiment...

There's another point to be made about the XO and MS software. I may not be a proponent of the XO, but assuming for a moment that there are instances where the XO may be useful, after being cleansed of all what's wrong with it, it wouldn't be logical to turn it into a "computing" tool.

If the XO run MS software, the emphasis would most probable shift from an educational tool, requiring investment in educational software, training and what not, into a computing / office productivity tool, with schoolchildren being trained in "real world" applications that will serve them when they get a job as data processors or something similar.

What would be not only a complete rejection of the principles under which the XO has been developed, but also a ridiculous waste of resources, since education would not be significantly improved and the skills gained will probably be lost or significantly changed by the time the kids actually get to need that kind of "skill".

"What would be not only a complete rejection of the principles under which the XO has been developed, but also a ridiculous waste of resources, since education would not be significantly improved and the skills gained will probably be lost or significantly changed by the time the kids actually get to need that kind of "skill"."

I agree completely.

I am old enough to remmebr the time when "parents interest groups" demanded that children would use MS PCs instead of Macs in primary school. This was paramount because then the children would learn marketable skills.

Whereas, with the Mac, these children would be stuck using a non-bussiness computer interface.

The OS these children should use to learn for the future was MS DOS 3.1.


@trou: I'd recommend you to head over to http://wiki.laptop.org/go/Security where you can read all about OLPC's "Bitfrost" security concept. As far as I'm aware there's not going to be any extra cost for security measures (for both the X0 machines and the school servers) as all of the solutions will already be integrated once these systems ship.

Thanks, ChristophD. I had seen that link, but it doesn't provide any meaningful information as to the cost or actual implementation. It reminds me of the much-hyped "crank" power generator, when the inventor himself was brought in amid grandiose claims only to see the whole arrangement collapse within a few weeks.

You might wish to read the non-summary document at http://wiki.laptop.org/go/OLPC_Bitfrost instead. There's running code already.

Ivan, thanks a lot for the heads-up! I'll be looking through all that extensive information later this week...