[ previous ]
[ Contents ]
[ 1 ]
[ 2 ]
[ 3 ]
[ 4 ]
[ 5 ]
[ 6 ]
[ 7 ]
[ 8 ]
[ 9 ]
[ 10 ]
[ 11 ]
[ 12 ]
[ A ]
[ B ]
[ C ]
[ D ]
[ E ]
[ F ]
[ G ]
[ next ]
Debian Policy Manual
Chapter 2 - The Debian Archive
The Debian GNU/Linux system is maintained and distributed as a collection of
packages. Since there are so many of them (currently well over 6000),
they are split into sections and given priorities to simplify
the handling of them.
The effort of the Debian project is to build a free operating system, but not
every package we want to make accessible is free in our sense (see the
Debian Free Software Guidelines, below), or may be imported/exported without
restrictions. Thus, the archive is split into the sections based on their
licenses and other restrictions.
The aims of this are:
-
to allow us to make as much software available as we can
-
to allow us to encourage everyone to write free software, and
-
to allow us to make it easy for people to produce CD-ROMs of our system without
violating any licenses, import/export restrictions, or any other laws.
The main and the non-US/main sections together form the
Debian GNU/Linux distribution.
Packages in the other sections are not considered to be part of the Debian
distribution, although we support their use and provide infrastructure for them
(such as our bug-tracking system and mailing lists). This Debian Policy Manual
applies to these packages as well.
2.1 The Debian Free Software Guidelines
The Debian Free Software Guidelines (DFSG) form our definition of "free
software". These are:
- Free Redistribution
-
The license of a Debian component may not restrict any party from selling or
giving away the software as a component of an aggregate software distribution
containing programs from several different sources. The license may not
require a royalty or other fee for such sale.
- Source Code
-
The program must include source code, and must allow distribution in source
code as well as compiled form.
- Derived Works
-
The license must allow modifications and derived works, and must allow them to
be distributed under the same terms as the license of the original software.
- Integrity of The Author's Source Code
-
The license may restrict source-code from being distributed in modified form
only if the license allows the distribution of "patch files"
with the source code for the purpose of modifying the program at build time.
The license must explicitly permit distribution of software built from modified
source code. The license may require derived works to carry a different name
or version number from the original software. (This is a compromise. The
Debian Project encourages all authors to not restrict any files, source or
binary, from being modified.)
- No Discrimination Against Persons or Groups
-
The license must not discriminate against any person or group of persons.
- No Discrimination Against Fields of Endeavor
-
The license must not restrict anyone from making use of the program in a
specific field of endeavor. For example, it may not restrict the program from
being used in a business, or from being used for genetic research.
- Distribution of License
-
The rights attached to the program must apply to all to whom the program is
redistributed without the need for execution of an additional license by those
parties.
- License Must Not Be Specific to Debian
-
The rights attached to the program must not depend on the program's being part
of a Debian system. If the program is extracted from Debian and used or
distributed without Debian but otherwise within the terms of the program's
license, all parties to whom the program is redistributed must have the same
rights as those that are granted in conjunction with the Debian system.
- License Must Not Contaminate Other Software
-
The license must not place restrictions on other software that is distributed
along with the licensed software. For example, the license must not insist
that all other programs distributed on the same medium must be free software.
- Example Licenses
-
The "GPL," "BSD," and "Artistic" licenses are
examples of licenses that we consider free.
2.2 Sections
2.2.1 The main section
Every package in main and non-US/main must comply with the
DFSG (Debian Free Software Guidelines).
In addition, the packages in main
-
must not require a package outside of main for compilation or
execution (thus, the package must not declare a "Depends",
"Recommends", or "Build-Depends" relationship on a
non-main package),
-
must not be so buggy that we refuse to support them, and
-
must meet all policy requirements presented in this manual.
Similarly, the packages in non-US/main
-
must not require a package outside of main or non-US/main for
compilation or execution,
-
must not be so buggy that we refuse to support them,
-
must meet all policy requirements presented in this manual.
2.2.2 The contrib section
Every package in contrib and non-US/contrib must comply with
the DFSG.
In addition, the packages in contrib and non-US/contrib
-
must not be so buggy that we refuse to support them, and
-
must meet all policy requirements presented in this manual.
Furthermore, packages in contrib must not require a package in a
non-US section for compilation or execution.
Examples of packages which would be included in contrib or
non-US/contrib are:
-
free packages which require contrib, non-free packages or
packages which are not in our archive at all for compilation or execution, and
-
wrapper packages or other sorts of free accessories for non-free programs.
2.2.3 The non-free section
Packages must be placed in non-free or non-US/non-free if
they are not compliant with the DFSG or are encumbered by patents or other
legal issues that make their distribution problematic.
In addition, the packages in non-free and non-US/non-free
-
must not be so buggy that we refuse to support them, and
-
must meet all policy requirements presented in this manual that it is possible
for them to meet. [3]
2.2.4 The non-US sections
Non-free programs with cryptographic program code need to be stored on the
non-us server because of export restrictions of the U.S.
Programs which use patented algorithms that have a restricted license also need
to be stored on "non-us", since that is located in a country where it
is not allowed to patent algorithms.
A package depends on another package which is distributed via the non-us server
has to be stored on the non-us server as well.
2.3 Copyright considerations
Every package must be accompanied by a verbatim copy of its copyright and
distribution license in the file
/usr/share/doc/package/copyright
(see Copyright information, Section 12.5 for
further details).
We reserve the right to restrict files from being included anywhere in our
archives if
-
their use or distribution would break a law,
-
there is an ethical conflict in their distribution or use,
-
we would have to sign a license for them, or
-
their distribution would conflict with other project policies.
Programs whose authors encourage the user to make donations are fine for the
main distribution, provided that the authors do not claim that not donating is
immoral, unethical, illegal or something similar; in such a case they must go
in non-free.
Packages whose copyright permission notices (or patent problems) do not even
allow redistribution of binaries only, and where no special permission has been
obtained, must not be placed on the Debian FTP site and its mirrors at all.
Note that under international copyright law (this applies in the United States,
too), no distribution or modification of a work is allowed without an
explicit notice saying so. Therefore a program without a copyright notice
is copyrighted and you may not do anything to it without risking being
sued! Likewise if a program has a copyright notice but no statement saying
what is permitted then nothing is permitted.
Many authors are unaware of the problems that restrictive copyrights (or lack
of copyright notices) can cause for the users of their supposedly-free
software. It is often worthwhile contacting such authors diplomatically to ask
them to modify their license terms. However, this can be a politically
difficult thing to do and you should ask for advice on the
debian-legal mailing list first, as explained below.
When in doubt about a copyright, send mail to debian-legal@lists.debian.org
.
Be prepared to provide us with the copyright statement. Software covered by
the GPL, public domain software and BSD-like copyrights are safe; be wary of
the phrases "commercial use prohibited" and "distribution
restricted".
2.4 Subsections
The packages in the sections main, contrib and
non-free are grouped further into subsections to simplify
handling.
The section and subsection for each package should be specified in the
package's Section control record (see Section, Section
5.6.4). However, the maintainer of the Debian archive may override this
selection to ensure the consistency of the Debian distribution. The
Section field should be of the form:
-
subsection if the package is in the main section,
-
section/subsection if the package is in the contrib or
non-free section, and
-
non-US, non-US/contrib or
non-US/non-free if the package is in non-US/main,
non-US/contrib or non-US/non-free respectively.
The Debian archive maintainers provide the authoritative list of subsections.
At present, they are: admin, base, comm,
contrib, devel, doc, editors,
electronics, embedded, games, gnome,
graphics, hamradio, interpreters, kde,
libs, libdevel, mail, math, misc,
net, news, non-US, non-free,
oldlibs, otherosfs, perl, python,
science, shells, sound, tex, text,
utils, web, x11.
2.5 Priorities
Each package should have a priority value, which is included in the
package's control record (see Priority, Section
5.6.5). This information is used by the Debian package management tools to
separate high-priority packages from less-important packages.
The following priority levels are recognised by the Debian package
management tools.
- required
-
Packages which are necessary for the proper functioning of the system. You
must not remove these packages or your system may become totally broken and you
may not even be able to use
dpkg
to put things back. Systems with
only the required packages are probably unusable, but they do have
enough functionality to allow the sysadmin to boot and install more software.
- important
-
Important programs, including those which one would expect to find on any
Unix-like system. If the expectation is that an experienced Unix person who
found it missing would say "What on earth is going on, where is
foo
?", it must be an important package.[4] Other packages without which the
system will not run well or be usable must also have priority
important. This does not include Emacs, the X Window
System, TeX or any other large applications. The important
packages are just a bare minimum of commonly-expected and necessary tools.
- standard
-
These packages provide a reasonably small but not too limited character-mode
system. This is what will be installed by default if the user doesn't select
anything else. It doesn't include many large applications.
- optional
-
(In a sense everything that isn't required is optional, but that's not what is
meant here.) This is all the software that you might reasonably want to install
if you didn't know what it was and don't have specialized requirements. This
is a much larger system and includes the X Window System, a full TeX
distribution, and many applications. Note that optional packages should not
conflict with each other.
- extra
-
This contains all packages that conflict with others with required, important,
standard or optional priorities, or are only likely to be useful if you already
know what they are or have specialised requirements.
Packages must not depend on packages with lower priority values (excluding
build-time dependencies). In order to ensure this, the priorities of one or
more packages may need to be adjusted.
[ previous ]
[ Contents ]
[ 1 ]
[ 2 ]
[ 3 ]
[ 4 ]
[ 5 ]
[ 6 ]
[ 7 ]
[ 8 ]
[ 9 ]
[ 10 ]
[ 11 ]
[ 12 ]
[ A ]
[ B ]
[ C ]
[ D ]
[ E ]
[ F ]
[ G ]
[ next ]
Debian Policy Manual
version 3.6.1.1, 2004-06-25
The Debian Policy Mailing List