By Rebecca Sobol
July 1, 2009
Ubuntu is over five years old, with
ten releases under its belt. Since that time the archive structure,
envisioned before the first release, has begun to show its age. Recently the
Ubuntu Technical Committee announced that a
change was coming. For the most part users should not notice much if any
difference, but there will be changes for developers.
The Archive
Reorganisation will be done in stages, only a part of the work will be
done during the Karmic development cycle. Though the process is still in
the very early stages and proposals are subject to change, we will take a
look at how things are likely to proceed in the near future.
First we should look at the current organization of the archive, which
has been split into four components; main, restricted,
universe and multiverse. The main repository contains free
software, supported by the core developers. The restricted repository is
also supported by core developers and contains non-free software such as
drivers. Universe and multiverse contain free and non-free software,
respectively and are not officially supported by Canonical, Ubuntu's parent
company.
The MOTU (Masters of the Universe) team supports universe,
multiverse and various other packages that are otherwise untended.
It was initially envisioned that beginning developers would submit patches.
After some experience they would be trusted to upload a limited set of
packages without prior review. Eventually they would gain enough
experience to become a core developer with access to all repositories.
Over time the MOTU team has become increasingly fragmented by the
officially supported flavors (Kubuntu, Xubuntu, Ubuntu Studio, etc.).
Hundreds of packages have migrated to the main repository as the various
flavors became official. Ubuntu Studio alone brought 141 source packages
into the 8.04 LTS release that were not part of any other flavor.
Meanwhile, many MOTU developers tend to only be interested in a subset of
packages and are not interested in becoming core developers. For example
many Kubuntu developers only want to work with KDE packages and are not
interested in having access to the rest of the archive.
As the number of flavors grows to include MythTV packages, netbooks and
mobile devices, cloud computing and other specialties, more and more
packages (and all their dependencies are moved into main, but are still
maintained by MOTU developers, so there are access control issues. Some
packages are "maintained for security updates", while others are
"commercially supported by Canonical", further muddying the waters.
The proposal to alleviate these issues has been divided into three
parts. The first part deals with exceptions useful in specific cases, the
second deals with permission changes and third deals with component
changes. The first part is largely implemented already. The second part
is targeted to take place during the Karmic development period. The
component changes are still being discussed and won't really be addressed
until after Karmic (9.10) is released.
To begin with, those MOTU developers who are doing a good job maintaining
their packages will be granted permission to upload those packages into
main. This has been implemented on a case by case basis as
determined by the Ubuntu Technical Board.
Currently packages are grouped by seeds and seed
collections. "Xubuntu Jaunty desktop" is a seed that contains all of the
source packages and dependencies for a functioning XFCE desktop. "Xubuntu
Jaunty" is a seed collection of all the packages on the Xubuntu Jaunty live
CD. Seed collections are not exposed to users and are subject to
reorganization.
Package sets will likely be based on seeds but will be exposed to users
via package management tools. Packages are grouped into package sets such
as "core", "Ubuntu desktop", "Ubuntu server" and "Kubuntu". A package may
be in more than one package set. Each package set has associated access
control for upload permissions and queue administration.
The Technical Board will be able to manage package sets by adding or
removing packages from them, and will be able to assign upload
privileges at the package set level. Some packages sets will be
restricted to a small set of experienced developers, such as the Linux
kernel or glib. Most package sets will be unrestricted. Granting upload
access to a team implies that the administrators of that team will be able
to grant upload access to additional developers, at least for unrestricted
package sets.
The core developers and the MOTU developers will be collapsed into a
single team of Ubuntu developers. It could be that most developers will be
able to upload packages from any unrestricted package set, but this is
subject to change. It may make more sense to grant many developers access
only to their specific package set. So the average Kubuntu developer would
only have upload permission for a set of KDE packages, not to the archive
as a whole. The line between core and MOTU developers becomes blurred so
does the distinction between the current main and
universe repositories. Packages contained in package sets will be
considered in main while those few packages that are not part of
a set or seed collection will be in universe. Some extensions to
Launchpad will be required for this to work as desired. Again, this is
still subject to change, but should be mostly implemented by the time
Karmic is released.
The third part of the proposal is the reorganization of components.
There will be more review and discussion of this after Karmic is released
so it is best to deffer any discussion for a while.
(
Log in to post comments)