![](/file/22360/VPR0403.ISO/gfx/pixel.gif) |
![](/file/22360/VPR0403.ISO/gfx/pixel.gif) |
![](/file/22360/VPR0403.ISO/gfx/pixel.gif) |
![](/file/22360/VPR0403.ISO/gfx/pixel.gif) |
![](/file/22360/VPR0403.ISO/gfx/pixel.gif) |
![](/file/22360/VPR0403.ISO/gfx/pixel.gif) |
![](/file/22360/VPR0403.ISO/gfx/pixel.gif) |
// LinuxTag 2004
Besuchen Sie uns auch n臘hstes Jahr wieder auf dem LinuxTag 2004
im Karlsruher Messe- und Kongresszentrum. Fr n臧ere Details und den
genauen Termin besuchen Sie bitte die LinuxTag Homepage.
|
![](/file/22360/VPR0403.ISO/gfx/pixel.gif) |
|
![](/file/22360/VPR0403.ISO/gfx/pixel.gif) |
![](/file/22360/VPR0403.ISO/gfx/pixel.gif) |
![](/file/22360/VPR0403.ISO/gfx/pixel.gif) |
|
![](/file/22360/VPR0403.ISO/gfx/pixel.gif) |
EUROPAS GRヨSSTE GNU/LINUX MESSE UND KONFERENZ KONFERENZ-CD-ROM 2003 |
![](/file/22360/VPR0403.ISO/gfx/pixel.gif) |
![](/file/22360/VPR0403.ISO/gfx/pixel.gif) |
|
![](/file/22360/VPR0403.ISO/gfx/pixel.gif) |
|
|
Hauptseite//Vortr臠e//Managing Debian |
![](/file/22360/VPR0403.ISO/gfx/pixel.gif) |
![](/file/22360/VPR0403.ISO/gfx/pixel.gif) |
Managing Debian
Martin Michlmayr
Introduction
Debian is one of the most unique Free Software projects in existence
today. Not only is it one of the largest and most successful projects, it
is also unique in its stance towards the philosophy of Free Software. The
project has defined the Debian Free
Software Guidelines which have later been adopted as the foundation
of the Open
Source Definition. Furthermore, Debian has a Social Contract in
which the project lists its priorities and its promises explicitly. The
document consists of five points:
Debian Will Remain 100% Free
Software: the project promises that the Debian GNU/Linux
distribution will always be free according to the Debian Free Software
Guidelines.
We Will Give Back to the Free Software
Community: software written for Debian will be free and made
available to the whole community. Furthermore, bug fixes and enhancements
for existing software will be given back to the author of that
software.
We Won't Hide Problems: the project
maintains an open Bug Tracking System (BTS) in which information about all
known bugs can be found.
Our Priorities are Our Users and Free
Software: we will be guided by the needs of our users and the
Free Software community.
Programs That Don't Meet Our Free-Software
Standards: software which is not free according to the Debian
Free Software Guidelines might still be needed by our users. While such
software cannot become a part of the Debian distribution, there are
contrib and non-free areas on our
FTP servers for software which is free but depends on non-free software and
for non-free software itself, respectively.
![](/file/22360/VPR0403.ISO/talks/252/picture-252-01.jpg)
Debian GNU/Linux is the most comprehensive Linux distribution
available to date. It has over 10,000 packages and is available for 11
architectures. Debian GNU/Linux 3.0 (woody) has been released for alpha,
arm, hppa, i386, ia64, m68k, mips, mipsel, powerpc, s390 and sparc and
other ports are in development. Debian is created by a large number of
volunteers who are distributed all over the world. In total, there are
over 800 official Debian developers and more than 200 other contributors.
An interesting question is how Debian actually works. How can so many
volunteers, distributed all over the world, work together effectively and
produce a distribution with such a high degree of complexity?
One important factor which helps to keep Debian together and
work smoothly is certainly the project's organizational
structure and its infrastructure. Debian has existed for almost
10 years and, over the time, the project has established a solid
infrastructure which works very well. In the following, the
organizational structure and infrastructure which makes Debian
work will be introduced. It will also be investigated who
carries out coordination and management tasks in the project and
how this is done.
The Officers
In general, Debian has a very flat hierarchy. With some exceptions,
all official Debian developers have the same rights. This is one of the
reasons why Debian has a very thorough application process. Once an
application is accepted, they can upload packages to the main archive of
Debian. Those packages are installed on an individual's computer as
root and therefore packages can maliciously or
accidently cause great damage. Hence, the New Maintainer process, which admits
new Debian developers, checks the identity, philosophy (with regards to
Free Software and the Social Contract) and technical skills of an
applicant.
The great exception to the flat hierarchy are Debian's officers who
have a special status as defined in Debian's constitution. As
the Debian project grew, it became apparent that there needed to be a set
of semi-formal rules to help in conflict resolution, and as a result the
constitution was written. The Debian constitution describes the
organizational structure for formal decision making in the Project. The
constitution delineates who makes decisions, and what powers are attached
to each such decision making individual or body. The officers listed in
the constitution consist of the Debian Project Leader (DPL), the Project
Secretary and the Technical Committee.
The Project Leader
The Debian Project Leader (DPL) is the official representative of the
Debian Project. He or she has two main functions, one internal and one
external. In the external function, he represents the Debian Project to
others. This involves giving talks and presentations about Debian and
attending trade shows, as well as building good relationships with other
organizations and companies. Internally, the Project Leader manages the
project and defines its vision. He should talk to other Debian developers,
especially to the delegates, to see how he can assist their work. A main
task of the Project Leader therefore involves coordination and
communication.
The Project Leader is chosen in an election in which all Debian
Developers are eligible to vote. The Project Leader's term of office is
one year. Nine weeks before the leadership post becomes vacant, the
Project Secretary initiates a new election. During the first three weeks,
any Debian Developer can become a candidate for this post by nominating
themselves. The next three weeks are used for campaigning. Each candidate
posts their platforms and everyone can direct questions to one or all
candidates. The last three weeks consist of the polling period during
which developers may cast their votes.
Here are some examples of specific tasks the DPL performs:
Appoint Delegates or delegate decisions to the
Technical Committee: the Project Leader may define a specific area of
responsibility and delegate it to a Debian developer.
Lend authority to other Developers: the Project Leader
may make statements support of support for points of view or for other
members of the project.
Make any decision which requires urgent
action.
Make any decision for whom nobody else has
responsibility.
Together with SPI, make decisions affecting property
held in trust for purposes related to Debian: the Project Leader may make
decisions about how money owned by Debian is to be used.
The current Project Leader is Martin Michlmayr.
The Project Secretary
Unlike other delegates, who are appointed by the Project Leader, the
next Project Secretary is appointed by the Project Leader and the current
Project Secretary. In case the current secretary and the project leader
disagree, they must ask the board of Software in the Public Interest (SPI),
Debian's legal organization to appoint a Secretary.
Conducting votes: The most visible task performed by the
secretary is conducting votes for the project -- notably the Project Leader
elections, but also any other votes that are run (General Resolutions, for
example). Running a vote also entails determining the number and identity
of the people eligible to vote, for the purpose of calculating
quorum.
-
Standing in for other Officers: The Project Secretary can
stand in for the Leader, together with the Chairman of the
Technical Committee. In this situation, they may jointly make
decisions if they consider it imperative to do so -- but only
when absolutely necessary and only when consistent with the
consensus of the Developers.
If there is no Project Secretary or the current Secretary is
unavailable and has not delegated authority for a decision then
the decision may be made or delegated by the Chairman of the
Technical Committee, as Acting Secretary.
Interpreting the Constitution: The secretary is also
responsible for adjudicating any disputes about interpretation of the
constitution.
The current Project Secretary is Manoj Srivastava.
The Technical Committee
The Technical Committee is the body which makes the final decision on
technical disputes in the Debian project. It can consist of up to eight
members and usually has at least four members.
The Technical Committee may:
Decide on any matter of technical policy: This includes
the contents of the technical policy manuals, developers'
reference materials, example packages and the behavior of
non-experimental package building tools.
Decide any technical matter where Developers'
jurisdictions overlap: In cases where Developers need to
implement compatible technical policies or stances (for example,
if they disagree about the priorities of conflicting packages,
or about ownership of a command name, or about which package is
responsible for a bug that both maintainers agree is a bug, or
about who should be the maintainer for a package) the technical
committee may decide the matter.
Make a decision when asked to do so: Any person or body
may delegate a decision of their own to the Technical Committee,
or seek advice from it.
Overrule a Developer (requires a 3:1 majority): The
Technical Committee may ask a Developer to take a particular
technical course of action even if the Developer does not wish
to; this requires a 3:1 majority.
The current Chairman of the Technical Committee is Ian
Jackson.
Teams
In addition to the officers whose roles and powers are explicitly
described in the constitution, several teams have formed naturally. These
teams have clear areas of responsibility, and are almost exclusively
technical in nature. Since very few Debian developers are paid for their
work on Debian, they tend to do what they most enjoy.
The teams (and there are a number of them) form simply; when more
than one Debian developer wishes to work on a given task, and when that's
technically feasible, they do. Having demonstrated both the skill to
perform a given task, and the willingness to do so, the teams are typically
well-staffed with knowledgeable and enthusiastic participants.
The end result is that it's rare that any single Debian developer is
overburdened, and a level of peer review and technical excellence that is
widely held with respect.
Quality Assurance
The Quality Assurance (QA) team tries to make sure that high quality
standards are held up. It maintains packages which temporarily do not have
a maintainer. Also, it searches for inactive maintainers and buggy
packages. If a maintainer is found who does not maintain their packages
anymore, the packages are taken away so other maintainers can take them and
take care of them properly. Although no one gave the Quality Assurance
group the explicit power for this, they have established authority by doing
it.
FTP Master
The FTP masters are responsible for Debian's software archive. They
maintain the software which drives the archive and perform the day-to-day
work which is needed. This involves processing new packages and removing
packages on the request of the maintainer of the QA group.
Listmasters
Debian offers about 150 mailing lists to facilitate the communication
between developers and users. The listmasters make sure that the mailing
lists are working properly and that as few spam as possible reached the
mailing lists. They also deal with user questions and requests regarding
the mailing lists.
Debian Admin
Debian Admin is responsible for the debian.org machines and hence
much of Debian's infrastructure. Debian offers a wide variety of ports to
many architectures and has many different machines on which architecture
specific bugs and packaging issues can be tested. Furthermore, Debian
Admin is responsible for the main infrastructure, such as machines running
the web, FTP and mailing list services.
Web Team & Translations
The web team maintains Debian's extensive web pages. They are
internally maintained in CVS and written in WML from which HTML is
generated. There is a large number of volunteers who translate the web
pages to other languages.
Security Team
The Security Team tracks security issues in released Debian packages
and issues advisories and updated packages. There are full members and
secretaries. The security secretaries cannot publish advisories on their
own, but primarily track security issues and provide patches and updated
packages to full members, who can then issue an advisory.
Release Management
Release management is a very important task in every Free Software
project because someone has to do the coordination effort needed in order
to get new releases out of the door. In the past, Debian had one Release
Manager working on this. Since recently, he is helped by Release
Assistants who help making sure Debian is ready to release. The decisions
about the release are made solely by the Release Manager, however.
New Maintainer
New Maintainer (NM) is the process which admits new Debian
developers. The Debian Account Manager (DAM) is a delegated position who
has the authority to create new accounts. The NM Front Desk coordinates
the overall process and makes sure that everything works smoothly. They
coordinate with the DAM, the applicants and also with the Application
Managers (AM) who lead applications through this process.
Policy
Debian has 10,000 packages created by almost 1000 different people.
In order to ensure that Debian is an integrated system, a set of guidelines
has been created which describe to which standards a package has to
conform. This document, Debian Policy, is maintained by a group of
experienced developers. There are also detailed guidelines how the Policy
document may be changed.
Legal
There are always important legal issues to discuss when distributing
software created by others. The legal team is responsible for making a
coherent decision about legal questions. For example, they are the first
contact when the question arises if a particular license can be regarded as
Free Software.
Infrastructure
One of the most important factors which holds Debian together is the
project's solid infrastructure. Most coordination and communication is
carried out through public mailing lists, IRC channels and the Bug Tracking
System (BTS). One aspect of Debian's development model is that it is open
for anyone. All mailing lists (with the exception of
debian-private where sensitive or confidential issues
are sometimes discussed) are open and everyone can subscribe to them or
read the archives on the web. Also, all bugs found in Debian packages or
feature requests are submitted through the Bug Tracking System. In
accordance with the 3rd point of the Social Contract, We Won't
Hide Problems, the BTS is open to anyone. If a bug is not
documented there, we probably don't know about it.
This infrastructure is essential for the way Debian works. The
developers are distributed all over the world and hence effective means of
communication had to be created. The mailing lists, the IRC channels, the
Bug Tracking System and recently also the Package Tracking System (PTS)
facilitate communication and coordination. In fact, they do not only allow
communication between developers, but also between developers and users.
Users can follow the mailing lists and describe their problems with the
current system, their requirements and wishes. Debian's development model
is truly open -- anyone can get involved and make a change, be it by
reporting bugs, providing good comments or patches to known problems. This
is also beneficial for companies which use Debian. They see exactly in
which direction Debian is moving and can also get involved to drive a
release forwards.
The Mailing Lists
There are about 150 mailing lists, each with a specific topic. There
are mailing lists where users can ask questions, such as
debian-user, as well as user mailing lists in specific
languages. Most mailing lists, however, are mainly aimed for Debian
developers or other interested parties to discuss specific technical
aspects of Debian. The list debian-devel is the big
development discussion list, but there are many smaller lists dedicated to
a specific topic, such as various porting mailing lists. Additionally,
there is debian-devel-announce which is required for
all Debian developers since important announcements regarding the
development of Debian are made there. The lists
debian-announce and
debian-security-announce are for general and security
announcements, respectively, and are a must for every user of Debian.
Also, debian-news is a good way to stay up-to-date
what is happened around Debian. A complete index of mailing lists can be
found on the web -- everyone
who is interested in Debian or specific aspects of Debian's development can
subscribe to the lists of their choice.
IRC
IRC (Internet Relay Chat) is a real-time chat system with different
channels dedicated to specific topics. There are various Debian related
channels on irc.debian.org, the biggest being
#debian. Many user questions are discussed on this
channel and there are other channels more specifically aimed for
developers.
Bug Tracking System
The Bug Tracking System
is an important foundation in Debian's development. Using tools like
reportbug, users can easily submit bug reports and
feature requests. The maintainer of the package automatically receives all
bug reports and can then follow-up and ask for more information or
immediately fix the bugs. When a developer uploads a new package to the
unstable archive of Debian, they can automatically
close bugs with the upload -- that way, users are informed that their bugs
have been solved in that specific upload.
Package Tracking System
The Package Tracking
System (PTS) is a great way to see all kinds of information about a
specific package at one spot. Different information is collected by the
PTS and displayed on one summary page. Furthermore, the PTS allows users
or developers of a piece of software packaged for Debian to subscribe to
all bug reports filed against a specific package. This is a great way to
stay informed of what is going on with a package and to help out -- when
you know a solution for a bug, you can simply respond to the mail and it
will be sent to the bug submitter, the maintainer of the package and get
archived on the web so everyone has access to the useful
information.
Summary
There are many means of coordination in Debian. The infrastructure,
consisting of the mailing lists, the IRC channels and the Bug Tracking
System among others, are a very solid foundation which enable efficient
communication. Furthermore, there are various members of the project who
are involved with coordination tasks. The constitution defines the roles
and power of the Project Leader, the Project Secretary and the Technical
Committee. However, there are many additional teams which have formed to
fullfill a specific role. It is very often the case in Debian that
organizational structure is generated implicitly over time when someone
starts working on a job by themselves. Since all Debian developers are
volunteers to Debian, nobody is paid for a specific task. Instead,
everyone does what they like to do. Once someone has performed a specific
job for some time and do a good job, other developers will recognize this
and acknowledge their authority. The best advice for people who are
interested in helping with Debian's development is therefore to simply get
involved, and perform good work which is needed. Do not wait until someone
assigns you a specific task, but find an area which needs help and get
involved.
|
![](/file/22360/VPR0403.ISO/gfx/pixel.gif) |
|