Sunday, April 27, 2008

OLPC shakeout: the battle for Sugar

One Laptop Per Child Foundation No Longer a Disruptive Force ...

Walter Bender clarifies his reasons for leaving OLPC:
What’s next for OLPC? I would rather OLPC answer for themselves. Nicholas has made it clear, at least to me, that OLPC needs to be strategically agnostic about learning—that it can’t be prescriptive about learning. So that’s his opinion and that’s where he’s taking OLPC, and that’s not what I want to do, so I left.

X: When you say “agnostic about learning,” what I take that to mean is that there’s a feeling that the XO Laptop should run Windows, and not just Linux and Sugar.

WB: I think it’s pretty obvious and was obvious from the very beginning that it’s a lot easier to cater to people’s comfort than to be disruptive. Nicholas had that wonderful quote in BusinessWeek about a month ago—that OLPC is going to stop acting like a terrorist and start emulating Microsoft. If you read between the lines, the idea is to stop trying to be disruptive and to start trying to make things comfortable for decision-makers. And that’s a marketing strategy, and one that I think has been adopted by many laptop manufacturers. Personally, I think that the customer is not always right, and that a role that a non-profit can play is to try to demonstrate better ways of doing things and let the market follow them. But that is a minority opinion, so I left to do my own thing.
Excellent interview. Read the whole thing. This bit is great:
X: Let’s back up. You’ve said many times, and so has Nicholas Negroponte, that OLPC is a learning project, not a laptop project. So can you talk about the basic pedagogical principles that are important to you, and how Sugar embodies those?

WB: When we started to do this, I tried to build the solution based on three very simple principles about what makes us human. Because I knew this had to be something that worked everywhere, with every child. The first of the three things is that everyone is a teacher and a learner. Second, humans by their nature are social beings. Third, humans by their nature are expressive. I decided those would be the pillars of how we design the user experience for the laptop. The other thing is that I was very much influenced by Seymour Papert and his constructionist theories, which can be summarized in my mind very efficiently by two aphorism. One is that you learn through doing, so if you want more learning you want more doing. The second is that love is a better master than duty. You want people to engage in things that are authentic to them, things that they love. The first is more addressed by the Sugar technology; the second is more addressed by the culture around freedom.
Issues (I'm not a developer, the following are some of the fracture lines I can work out from quickly reading some entries on the lists):
  • Sugar development is under resourced despite requests internally to improve this situation
  • To port Sugar to Windows is not a trivial undertaking
  • Many believe that Sugar / Windows dual boot system will not ship, that MS will not allow it
  • Allegations of lack of transparency or consultation from Negroponte in decision making (see Ivan Kristic's This too shall pass ...)
  • OLPC software development will fork between a proprietary pathway and an open source (GPL) pathway
Ivan Kristic:
Nicholas’ recent claim of Sugar growing amorphously because it “didn’t have a software architect who did it in a crisp way” is similarly muddy: convincing him of the need for an architect is a battle Walter and I fought for months without success. The organization decided to move anyway, and extended me a written offer to take over as Chief Software Architect. Nicholas rescinded the offer unilaterally several weeks later, for reasons he refused to explain to anyone. So yes, there was no architect, but that’s because Nicholas didn’t want one. If he believes that’s the cause of Sugar’s problems, he has no one but himself to blame
- This too shall pass
I wrote an earlier blog about the community user interface aspect of Sugar.

My current evaluation: The developers value Sugar highly as a new UI and that many of them believe that its ongoing development is not secure if left up to Negroponte's leadership. Sugar is the main current manifestation of the desirable disruptive pathway that Bender is talking about (what are the others?). Nicholas started a revolution that has bred new revolutionaries who will continue the revolution.


Anonymous said...

From a technical standpoint, running windows on the olpc is tricky. The internal flash memory is straight nand memory, which does not provide write balancing. Running a 'normal' filesystem on that will prematurely wear it down. USB flash drives and camera cards have write balancing etc built into the hardware; the olpc does not. Instead, the filesystem handles that (and slows the boot time down as a result compared to the eeepc). There are headps of filesystems to choose from in linux; at least two are designed exactly for this situation (a third is in development). Windows, on the other hand, has two filesystems, neither of which do this. So, its either up to MS (or OLPC) to create a new filesystem for this purpose (or modify an existing one), or modify the OLPC hardware, or let silently let windows users of the OLPC suffer early failure of the device.

Also tricky will be how to handle the DRM aspect of the machine - the system in place to stop the machine becoming useful in case it gets stolen.

Sugar shouldn't really be that hard to port to windows, and maybe it would actually be a useful thing in the longer term for its uptake and useability, but it would be a shame if resources were right now diverted to that rather than making it work properly (it is beta quality atm). It will eventually get to windows regardless.

Tom Hoffman said...

What has gone unsaid in this particular argument is that virtually nobody likes actually developing on Sugar or developing Sugar itself. Nobody likes the code, which is deadly for an open source project, and threatens to make this entire conversation moot, or at least render the "community" input strictly hypothetical, since the community is not really working on Sugar, as far as I can tell.

shenki said...

Tom; your comment is too absolute. You claim that virtually nobody involved in Sugar development is happy with their work.

If this is your personal opinion, what lead you to this conclusion? If it is an impression passed on to you from those who work on the project, please talk about that viewpoint; where it came from, what the gripe you were made aware of, maybe what you think lead to the dissatisfaction and what could be done to fix it.

Personally, a dissatisfaction that I agreed with was the high "learning curve" that until recently sat before one who desired to obtain a development environment. This has changed in recent times (with Sugar being available in this season's release of Fedora and Ubuntu, as well as additional work on sugar-jhbuild). It should be also noted that the learning curve has not stopped the creation of the 130 odd Activities that are listed on the OLPC wiki.

Aside from talking about your opinion, or the impression you get from what others have said, I don't think you can make a broad and absolute statement about all of the project's contributors, or even a majority of them. I think that is the real reason why developer dissatisfaction has "gone unsaid" in the argument.

Tom Hoffman said...

Yeah, I'm sure I overstated my point a bit. I don't have any particular insight beyond my own experience with the code, and what, say, Mike Fletcher, Bert Freudenberg & Ivan have said, among others.

The situation with third party Activities is a case in point. There may be 130 there, but how many will work on my XO? Based on my previous experience, it isn't worth the time trying to figure that out, because the percentage will be very low.

Let me put it this way: let's say that OLPC would decide to switch to a more conventional window manager. A version of XFCE that worked superficially more or less like the current code, but was a completely different codebase. Would anyone be like "We're forking the Python Sugar because it rocks!" and go on to maintain it as a viable alternative? I don't think so. It would be dropped like a hot stone.

Ethics and Transparency In Politics said...

On the plus side, I think that part of the OLPC legacy is assured - the development of ultra-low cost laptops like the eeePC might never have happened without the OLPC to show the way.

Agree that it would be very sad for OLPC's initial vision to be diluted.