What most people do not know about the making of software: It Is Hard.
My life the night before the v.2 Blueberry release of Sugar on a Stick (SoaS): instead of packing my luggage before getting on a plane to Toronto early next morning to attend FUDCon, I was desperately respinning the final image because nobody had noticed earlier that we'd announced an image labeled "TEST!" as the final release.
This was not hard to fix, but it was the final straw in a long series of last-minute deadline-shifting panics; in the two weeks before this, I had been getting consistently less than 5 hours of sleep a night doing SoaS release engineering work and panicking about (again, last-minute) content-licensing issues for the SoaS library and wondering why earlier discussions hadn't prevented this situation. On top of this, school exams were queuing up. I don't know how many people were aware that most of the engineering work for Sugar on a Stick was being done by a single high school student in his spare time, but this was not particularly sustainable, and something needed to change.
The most important changes in the third iteration of Sugar on a Stick are the ones you can't see.
The biggest accomplishment in the v.3 Mirabelle release cycle of Sugar on a Stick was finding a sustainable way to do the engineering work that wouldn't completely burn everyone out.
It worked! In contrast to the previous picture, my life the night before v.3 went live involved a relaxed videoconference release party with people who had all actually gotten sleep. We celebrated meeting all our deadlines and thanked the volunteers who had helped out; for once, the workload did not land entirely on our already-overworked three-volunteer core team, allowing us to concentrate on making Mirabelle more stable for school deployments.
In fact, even having a team was an accomplishment; unlike previous releases, if I were to be hit by a raptor, SoaS would be able to continue. Actually, I did get hit by a raptor called A-levels during the last month of the release cycle. Despite this month-long study-induced vacation from Sugar Labs work, Mirabelle continued to go off without a hitch.
How did this happen?
The Open Source Way: Communicating.
A number of hard decisions were made during the v.3 cycle to increase the sustainability of the project in keeping with the principles of the open source way.
Starting with the most recent release of Mirabelle, Sugar on a Stick is a Fedora Spin . While this may sound strange at first, it contributes essentially to our goal of achieving both sustainable development and stable releases -- it allows both Sugar Labs and the Fedora Project to leverage the mutual work and results in a great upstream / downstream relationship: Fedora benefits from an easily deployable implementation of the most recent version of the Sugar Learning Platform, while Sugar on a Stick gains access to Fedora's extensive resources in terms of engineering and testing, with automated nightly builds containing the latest components just being one example.
We also realized that it is indeed impossible to create the one release that fits every deployment's needs. We can't be everything to everybody. But that's all right. It's in fact something that we'd like to foster: Sugar on a Stick comes with the promise of being customizable to fit your needs. We've taken steps to make this customization as easy as possible; individual students can simply download and explore further activities by visiting Sugar Labs' Activity Portal, and deployments have an entire guide on how to customize their build. It may not be an easy enough process yet, but we invite people to point out the hard and annoying parts of the process to us so we can fix those.
We started reflecting on and learning from our past experiences; you can see a narration of the decision history for v3, and the behind-the-scenes discussions that went into them, on the Mirabelle release pages linked from this post. And we started building some scaffolding to help new volunteers get started.
The making of software is hard, but it's not impossible, if you make the hard work rewarding.
Sugar Labs will be present at Berlin's LinuxTag from June 9-12. Interested users are invited to chat with developers at the event, where Sugar on a Stick Project Lead Sebastian Dziallas will be giving a talk titled "Leveraging Open Source Communities."
Sebastian Dziallas is an open source software engineer based in Germany. He graduated from high school this June.