Diary of a bug (and fix!) for the XO laptop

I submitted a ticket to the XO development team about a bug that cost my daughter some lost work on a story she's been writing. The response was fantastic and provides a perfect illustration about why open source is something that even kids can do.

Michael Tiemann
Michael Tiemann is president of the Open Source Initiative and vice president of open source affairs at Red Hat. Disclosure.
Michael Tiemann
3 min read

Our family took a roadtrip from North Carolina to South Carolina in the past month. We all agreed that my daughter could not ask "Are we there yet?" more than five times, and we decided to bring along one of our XO laptops to give her a fighting chance. (We've never had an in-car video system.) After her first "Are we there yet?" question, we suggested she might want to boot up the XO, and she did.

My daughter is an avid reader, and one day last year decided to try her hand at writing. When she started, we let her use an almost-broken Mac PowerBook (vintage 1996), and the story began to take on a surprisingly good voice and narrative. She had it up to about 15 pages when the XO laptop arrived. With a little bit of effort I figured out how to copy that file over to the XO and make it easy for her to find it when opening the Writer tool, so everything was ready when she opened the activity.

For the next two hours, she was happily typing away at a story she had starting writing last year. Amy and I talked about all kinds of adult things--politics, entertainment, local economics, and even some thoughts about the Big Things we wanted to do with 2008--and there was no interruption from the back seat. Such bliss!

But I did make one mistake. Although the batteries are supposed to last 4 to 5 hours, and even though we had enough battery power to finish the trip, our daughter was conscious of the fact that the XO does not come with a power adaptor for cars, so when she was ready to take a break, she did something very natural: she announced "I'm tired. I'm shutting down the computer now." And she promptly did just that. I asked "Did you save your work?" She said "Oh no!", waited for it to shut down, rebooted it, and then said with relief "My file's still there with everything." Only she'd looked at the top of the file, not the bottom, and her two hours of work were gone.

I shared this story with an XO developer who came to the Fedora Users and Developers conference (FUDcon) held in Raleigh this month, and he asked me what every open source developer says about every bug: "Did you file a bug report?" D'oh!

I decided to see how their system (and response) compared with others, and so I filed Ticket #6014 and waited to see what would happen. Less than five hours later, the first response came in:

  • owner changed from Collabora to marco
  • summary changed from Laptop shutdown should send dbus message to all open applications to Shutdown should close Activities
  • component changed from dbus-python to sugar
  • milestone changed from Update.1 to Never Assigned

Eight hours after that, another developer chimed in where the specific problem likely lay. Six hours after that, I received a patch that I could apply to fix my problem.

Less than 24 hours after submitting my problem report, I had a patch to fix the problem. And I spent no time at all on the phone.

The news is not all good, yet. I tried to jam my problem report into the upcoming Update.1 (aka joyride) release, but that was rejected when the person doing bug triage set it to "Never Assigned." And, after discussion among the developers, they decided to punt the fix to a "Future Release" because they are focused 100 percent on solving the 273 Active tickets of the 1,204 Total tickets they committed for that release. I've done code releases before, and I know how tempting it can be to put in the one line patch, and how many people suffer when one single patch makes a good release into a bad release. And again, with open source, I really do have a manageable answer that's win-win. Update.1 is going to ship, and I've got a one-line patch that I can apply and test. The XO team will make their release, I'll have a "good release," and if the patch works well, I can report success and encourage them to ship it with Update.2.

With this kind of transparency, kids can really learn what it takes to make computers work. And they can see the value of being involved with the process, which is the first step to true self-sufficiency!