Interview: Kate Stewart, Ubuntu Release Manager at Canonical
Ubuntu users want to know more about the Ubuntu release process and with the Ubuntu 11.10 Feature Freeze milestone accomplished, Amber Graner catches up with Kate Stewart, Ubuntu Release Manger at Canonical, to talk about the ends and outs of the release process and more.
Thanks Kate! Let's get started.
Amber Graner: Could you please introduce yourself and tell me a little about what you do at Canonical and for the Ubuntu Project?
Kate Stewart: I'm the Release Manager for Ubuntu. I am very fortunate to get to work with the inspiring members of the Ubuntu Release Team, along with all the very talented Ubuntu and upstream project developers, and the testing teams to get images of Ubuntu and the various flavors published and available on timely basis.
AG: What was your first introduction to Open Source and when?
KS: My first introduction to Open Source was in the early 90's working on compilers for a Unix based operating system at IBM, and then later doing some gnu toolchain work for the PowerPC architecture. After making the switch from development to management, I managed a team in the semiconductor part of Motorola (which was spun off to become Freescale Semiconductor, Inc.) doing the new PowerPC architecture bringup and enablement using Open Source projects (gnu toolchain, Linux, u-boot, etc.). Getting the GNU copyright assignment agreed to by upper management at a hardware company (twice!) was a challenge, but a very good education on persistence and the importance of licensing.
AG: What did you do before you became the Ubuntu Release Manager? How does that job differ from your job now?
KS: For the past 10 years at Motorola/Freescale Semiconductor Inc. I was managing the development teams that produced board support packages for the PowerPC development boards. After Apple switched from PowerPC to x86 for its cores, the PowerPC enablement was for development boards for the embedded networking infrastructure. Between alpha, betas and silicon revisions, etc. the world wide development and test teams we were releasing a board support package each week.
At Freescale, the board support packages had a software image with user space that had a slow rate of change, but we were porting and improving the linux kernel, u-boot, and toolchain (and contributing changes upstream) for each new silicon chip. This also involved working with the hardware architecture teams to improve the next generation, and standards bodies / open source projects to improve interoperability (power.org, eglibc, etc.). There were a couple of key embedded customers who dominated the development requirements.
Now there are millions of customers, and many different flavors of Ubuntu, and thousands of user space applications. The Linux kernel, gnu toolchain, and firmware changes come from the upstream projects and manufacturers.
In the last job, there were about 500 open space projects to worry about interacting with, and only 3 with a high rate of change, that we tracked. Now there are 12 official flavors in Ubuntu on multiple hardware architectures, and 18,558 packages (as of 2011/08/12), as well as the interactions and system integration issues. Quite a bit different!!!
The common denominator is getting useful images into developers and customers hands in a reliable and predictable fashion and working with great people on various open source community projects on improving standards for interoperability and performance tuning for specific requirements of target audiences.
AG: As the Ubuntu Release Manager at Canonical what are the biggest challenges you face personally and as a product and how do you over come them.
KS: My biggest personal challenge over the last year has been learning about the interactions in the user space applications and the different flavors' user interfaces. It's very challenging to figure out what the implications of a specific change are after we freeze, and to decide if it makes the product overall better or not. I expect I'll be learning for as long as I'm in this role (since the contents of a release continue to evolve), which is one of the reasons I'm enjoying myself so much. Luckily for me, the other members of release team span a wide range of different backgrounds and have been doing releases for quite a while, and are very willing to share their knowledge.
The biggest challenge from an Ubuntu product perspective is getting an accurate overview of the quality of a specific image. Having a decent automated regression infrastructure to run against the images will definitely help. Also, our bug infrastructure has evolved over time, and is inconsistently used between teams and projects, which makes getting an overview a bit of a challenge! Efforts are underway to improve the modeling of the bug lifecycle based on some plans figured out at the UDS-O, and get some standardization of practices between the teams. The quality assurance team, defect analysts, bug control, launchpad team and release team are all working together to figure out ways to improve the infrastructure and cut down on busywork and improve the bug state accuracy. This is going to be key to help get the important bugs found, triaged and fixed quicker. The earlier we find and fix bugs, the better the experience for our users, and less time we’ll have to work on SRUs (Stable Release Updates).
AG: Can you tell readers what exactly the release process involves? Can the community help with this process, if so how?
KS: The process for each release cycle involves producing monthly 'milestone' images for the alphas, betas and then the final release. The first 3-4 months of a cycle is when we pull in the latest and greatest from the upstream projects. As a result there is a high rate of change, and the goal for the alphas is to keep things basically functional for the developers and testers. After we feature freeze, the rate of change decreases, letting us get the integration bugs get fixed and make things usable for the wider user community with the betas.
At each milestone, the process of creating images consists of a stabilization/testing phase, then a publishing phase. In the stabilization phase, we start to restrict the flow of changes to the archive, by declaring either a soft or hard freeze. We then focus on getting the images tested for some mandatory and optional test cases, and fixing those bugs that prevent usable images from being created and booted, i.e. the "blockers". Then, when we have a set of images that don't have "blockers" in them, we work with the web team to publish them to standard locations, make sure the links work and they are accessible, check the release notes for installing and using them are available. ... and then the announce goes out!
Help from the community is very welcome at all stages and with all the flavors of Ubuntu! Especially around the time of a milestone release, the more folk who can help us try out the images (according to their comfort level, ie. don't try the alphas unless you're comfortable dealing with breakage), and report bugs found, the better the release becomes for everyone. Of course, contribution of bug fixes are always welcome ;), as are proof readers, and content providers for the release notes.
AG: How many official derivatives of Ubuntu are now being released and what are they? How is the Ubuntu Release team involved with these derivatives?
KS: We just introduced two new flavor of Ubuntu, 'Lubuntu', and ‘Ubuntu Core’ with the Oneiric Alpha3 release. This brings us up to 12 official flavors, we currently have Ubuntu, Ubuntu Server, Ubuntu Cloud, Ubuntu Netboot, Ubuntu Core, Kubuntu Desktop, Kubuntu Mobile, Xubuntu Desktop, Edubuntu, Mythbuntu, Ubuntu Studio and Lubuntu.
The release team works with each of the product managers for these flavors, and decides if an image is going to be produced and published for a specific milestone. Then, the release team produces the all images as part of the stabilization phase, and works with the QA team and official flavor product managers to decide which of them to published for a mile stone.
We're really excited for the opportunity to be able to start working closer with the localization teams in this release, and beta test out some newly introduced technologies that will help developers in the locos create language specific images (with help from the local translation teams, of course!).
AG: Why is it important for users to wait for the official release announcement to be issued before downloading or announcing any of the milestones or the final release is ready? What problems arise from not waiting on the Official release announcements? Where can readers find the official release announcement?
KS: Thanks for asking this! Until the announce goes out, the image can be replaced and updated at any point. The release team needs to do final checks to make sure all the right bits are in the right places, and no blockers have cropped up as a result of the last bug fix or upload. If people are trying to download the images during this final bit of testing, the slower the testing goes (and they run the risk of pulling down a flawed image) and it delays the time until we can actually release.
The official release announce is mailed out to ubuntu-announce maillist. Copies of prior release announces can be found in the mail list archives. Once we hit send on that email, the IRC channel is updated, as is the News & Announcements section on the Ubuntu Forums, a post is made on the release blog, and the Launchpad project is updated.
AG: What features are you looking forward to personally in Ubuntu 11.10?
KS: I'm looking forward to seeing how well the loco teams are able to use the new tools to be able to spin language specific localized Ubuntu images. Getting their input on his initial version of the localization tools, and figuring out to further help them, and the translation teams make Ubuntu easily accessible to a wider audience is exciting.
We're not sure if it will land properly in time or not, but we're also looking to replacing the traditional DVD image with one targeted towards a 2G USB stick.This will give us a bit more space than the CD image to include commonly used applications, without the long download time of a traditional DVD.
On an infrastructure side, I'm getting very excited about the automated regression testing that is starting to become available as Oneiric progresses. Very much looking forward to the day when I can get an auto generated health report on the daily image builds when I log on each morning. Being able to spot integration issues as soon as they occur will get things fixed much quicker, and let us know if we should hold off on updating to the current daily image.
AG: Are you involved in other FOSS projects beside Ubuntu?
KS: Yup, am one of the co-founders of the SPDX project, which is now being sponsored by the Linux Foundation. Our first deliverable is an specification for standardizing copyright and licensing information for software packages using machine and human readable formats, and once the spec is released hope to contribute to tools to detect and generate these files. We've been working for the last 2 years with license compliance consultants, legal experts, business supply chain management, open source distros, and technical teams to create a standard way of referring to common licenses and encoding the information. The goal is to make it easier to understand what has to be done to comply with the licensing if you choose to use an open source project. Its not limited to being used for open source projects though. We've gotten some prototype open source translation tools available to check the specification and some companies have been implementing prototypes around the specification. Exciting times, if you geek out on this sort of thing, and yes, I know not everyone does.... ;) If you do, and want to learn more, see SPDX website.
AG: Is there anything I haven’t asked you about that you would like to tell readers about?
KS: I'd just like to take the opportunity to say a big THANK YOU to all members of the Ubuntu community (users, developers, testers, upstream projects, translators, documenters, loco teams, etc.) for making me feel so welcome and helping me transition from embedded linux ecosystem over the last year. I'm looking forward to continuing to learn from each and every one of you through the upcoming release cycles, and doing my best to help improve Ubuntu and the ecosystem that makes it possible.