This chapter has several parts. Each part builds upon the previous ones to give
you a full understanding of the process. If only one part of the process
interests you—say a later one, like packaging—that is okay. You will benefit
from reading the previous sections of the chapter even if you only end up
focusing your work on later steps in the process. You can participate in any
part of the process provided that you are willing to learn how to do so. This
chapter gets you started, but it is not the end of your required study. The
process described in this chapter is accurate, but there are more interesting
and intricate details that are not included here.
Software development, especially on a big project, is not something to be
done lightly or flippantly. For that reason, patches and bug fixes are only
accepted from people willing to put in the effort necessary to produce detailed
work with the highest quality. Those who don’t have the time or aren’t
interested in learning the steps properly will probably write software that
reflects this, and they therefore will not help the community. The Ubuntu
community is really nice, but they are also really busy. They will make time
to mentor new developers and packagers who do their homework and make
quality efforts, but it isn’t polite to waste their time with half-hearted attempts
at getting the details correct.
Introduction to Ubuntu Development
Ubuntu development follows a six-month cycle. The process begins with
planning and discussion, with the goal of unifying the efforts of all those who
will be involved to make the best use of limited resources. Developers get
together via remote online participation, and in live discussions they make
decisions about the priorities for the upcoming or the current release. These
meetings happen once every three months, once at the start of a development
cycle and once in the middle of the same cycle.
When a new release is created, it is given a new code name such as “Bionic
Beaver.” The release is referred to using this code name until its official
release date, when it starts to be officially referred to using the release
number, such as 18.04. See https://wiki.ubuntu.com/Releases for all the
release names ever used by Ubuntu.
Some development begins by taking the newest versions of software from
upstream software developers, either via Debian or directly from a specific
application’s source. In some cases modifications, or patches, are added to the
code. All these modifications and patches that are added to the code are made
into Ubuntu packages.