Understanding the pragmatics of software releases
Today the vacationing Rob Helmer stopped into Seneca in order to give a very interesting lecture on release engineering as practiced by Mozilla. Rob spoke about the need to find reproducible and quantifiable ways of producing software. He also talked about his work to automate portions of the Mozilla release process. This led to an interesting discussion about automation in general, and how to know when to stick with a manual process vs. automating.
Not surprisingly a lot of what Rob discussed related to tools and processes around the build and release. He began with the typical black-box diagram and slowly added pieces to form a complete picture of how the process really works. Rob then spent some time discussing the various pieces of the toolchain, and gave his thoughts about how they might be improved. He stressed the difficulty of simply starting again, giving the tinderbox rewrites as an example. Rather, Rob espoused working in incremental and modular ways, replacing small pieces on the way to improving the whole over time.
To show an example of what he had been discussing, Rob demonstrated the work he and Ben Hearsum have been doing to add Mozilla-related extensions to the buildbot. Ben is doing this work as part of his project for the Mozilla course, and Rob has been an active contributor and reviewer. By adding Mozilla pieces to buildbot (e.g., bonsai integration), it is possible to do experimental work in parallel with tinderbox and not risk a production change-over. Rob showed a working installation that Ben has set-up on one of Seneca's racks. Currently it is set-up to poll and do automatic trunk builds and then report to the MozillaTest tree tinderbox. It was fantastic to show the class what I think is an ideal example of how open source, industry, and education can partner in order to solve problems together.
Rob's talk was also a refreshing one for the Linux-freaks in the class (he did everything in Ubuntu), who have only seen the other Mozilla speakers using Macs so far. Thanks for wasting a day of your holidays on us, Rob. I wish you could have had better weather while you were here; but I guess you might as well learn the truth about Canada. I have to say, though, that the fact that Rob showed up at my office with a Tim Horton's coffee in hand says that he has learned one of the more important lessons about life in the North.