It seems that the ever opinionated Ivan Krstić has his own story to tell around the Sugar Learning Platform, and it isn't pretty.
First, he admits that he was against Sugar as a new GUI with the fairly reasonable argument that OLPC did not have the resources to build a new GUI platform, so they should have built upon the decades of windowing user interfaces in mainstream Linux.
But its after he explains that the GUI was separate from the Linux Fedora OS, even if the whole "omlette" was called Sugar, that we start to learn the messy details of XO development. Details that make me surprised the XO software even worked when it launched:
In truth, the XO ships a pretty shitty operating system, and this fact has very little to do with Sugar the GUI. It has a lot to do with the choice of incompetent hardware vendors that provided half-assedly built, unsupported and unsupportable components with broken closed-source firmware blobs that OLPC could neither examine nor fix.
So we wound up with a keyboard whose keys get stuck. A dual-mode touchpad, capacitive and resistive, where one mode doesn't work at all, and the other makes the cursor spontaneously jump around and sometimes shuts off the touchpad altogether, prompting OLPC kernel developers to beg for saner hardware in the next round. We had board engineering issues that made power management practically impossible. We had a custom display controller chip that was incomplete in some regards, and completely broken in others.
We had an embedded controller that blocks keyboard events and stops machine suspend, and to which we - after a long battle - received the source, under strict NDA, only to find a jungle of nested
ifstatements, twelve levels deep, and no code history. (The company that wrote the code doesn't use version control, see. They put dates into code comments when they make changes, and the developers mail each other zip files with new versions.) And we had a wireless chip that is so far beyond fucked, it's just about funny.
(Each of those words is a different link. Click them all, I dare you.)
Thinking back, there's a hardware incident I remember particularly fondly: one of our vendors sent us a kernel driver patch which enhanced support for their component in our machine. They chose to implement the enhancement by setting up a hole which allowed any unprivileged user to take over the kernel, prompting our kernel guy to send a private e-mail to the OLPC tech team demanding that, in the future, we avoid buying hardware from companies whose programmers are, direct quote, "crack-smoking hobos".
Wow. I think I may actually be speechless.