How Ubuntu is built: the inside story

The big freeze

Shortly after comes the User Interface Freeze, which is designed to lock down the visual changes. This typically includes theming alterations, Unity changes and other visual components.

While this is a freeze we strive to maintain, we've often struggled to get everything finalised by this date and sometimes it slips a little. Nonetheless, the User Interface Freeze again latches the team into an even more quality-focused mindset and those with an interest in Ubuntu's UI now switch to fixing bugs.

At this point in the cycle we're ready to put out a first beta release and all hands are on deck to test, review and prioritise the bugs that are reported, and fix them. In this phase, all the engineering managers and community leaders focus on getting prioritised bug lists together.

We can never fix all the bugs, so we focus our efforts on the most critical areas to ensure we deliver the best possible user experience.

Shortly after the first beta release, we provide a kernel freeze to reduce the risk of hardware regressions, and we also have a String Freeze when we don't accept any more changes to the translatable pieces of the system. After these freezes are complete, we release our second and final beta, bang the drum to encourage people to test it and encourage users to file bugs for problems they see.

We continue to review these reports and prioritise them. The goal now is about fixing as many as we can before the Final Freeze. After a few final bits of buffing up, we kick out the new release and everyone in the Ubuntu community sleeps for an entire weekend.

A few days later, we start all over again…

The U Team

The u team

GO, TEAM!: The Ubuntu community at the Ubuntu Developer Summit in Budapest in May 2011

So far we've focused on the development of Ubuntu, but there are many teams who are working around the clock while all of this is going on.

The Information Services team runs the different servers and build farms, and so on, while the Engineering Managers provide governance and handle day-to-day decisions in the community (see Ubuntu Governance box, above right).

Other important teams include:

Web team: Prepares www.ubuntu.com for the new release, creates product showcases, prepares for the beta, and puts the professional sheen and face of Ubuntu across our web resources.

Communications team: Creates marketing materials, prepares the press for the beta and final releases, organises press calls, and liaises with different news outlets about features and interviews.

Design team: Works on Ubuntu itself, preparing visual assets for the web teams, the CD covers and brochures, and so on.

Admin team: Coordinates venues, travel and resources for the different sprints and rallies we run throughout the cycle and for the Ubuntu Developer Summit.

Finally, my team, the Community team, organises learning weeks throughout the cycle (including Ubuntu Open Week, Ubuntu Developer Week, Ubuntu Community Week, Ubuntu Cloud Days and Ubuntu App Developer Week). We also arrange worldwide events such as the Ubuntu Global Jam, Release Parties and more.

On the horizon

To provide some context, let's get a feel for what you can expect in the Ubuntu 11.10 release, scheduled for 13 October. These plans were discussed and agreed upon at the Ubuntu Developer Summit in Budapest, Hungary, back in May.

As ever, you can track the progress at http://status.ubuntu.com. Key features include:

Unity fit and finish

Ubuntu 11.04 delivered the first Unity desktop environment. In 11.10 the focus is on fit and finish, fixing reported bugs and improving on some areas of the interface. You'll see some new features, but the focus will be very much on quality.

Ensemble

A hugely compelling cloud deployment and management tool for making the deployment and scaling of cloud services a matter of a few commands. Ubuntu Server 11.10 will ship Ensemble as a key component and we're working to grow the availability of Ensemble formulas for popular server applications.

Thunderbird replacing Evolution

Although the final decision will be made later in the release cycle, work is ongoing to replace the Evolution email and calendar application with Mozilla Thunderbird. Work is currently going into building Unity support into Thunderbird and ensuring that the application is fully integrated.

Qt

The popular toolkit will be available in a default Ubuntu installation, thus opening up the available application and developer pool significantly to Qt developers. Qt is a powerful toolkit and first-class support will continue to make Ubuntu a strong developer platform.

Developer story

We'll continue to refine with a new release of Ubuntu Developer Platform, http://developer.ubuntu.com, to reflect the different application development opportunities open to developers.

Worth the work

While we cram a huge amount into every release cycle, the organised chaos approach that the team has managed to carve out has resulted in a series of predictable releases of the distribution. In fact, since the formation of the Ubuntu project back in 2004, we've only ever delayed a release once – and that was a planned delay designed to accommodate the first long term support (LTS) release of the distro.

While it's an intense process, it's also incredibly rewarding and what makes it so are the phenomenal people who pour their heart and soul into every release. Release plans, freezes, milestones and other essential elements would be nothing if it weren't for these incredible people.

Some of you will love Ubuntu, and some will love another distro, but irrespective of your views, few could fail to be inspired by so many moving parts working together on something they believe in.

Jono Bacon is community manager at Ubuntu