Debian |
project.
Debian is known for its adherence to the Unix philosophy and free software philosophies, and for its abundance of options —the current release includes over fifteen thousand software packages for eleven computer architectures, ranging from the ARM architecture commonly found in embedded systems and the IBM s390 Mainframe computer architecture to the more common x86 and PowerPC architectures found in modern personal computers. Debian GNU/Linux is the basis for several other distributions, including Knoppix and Ubuntu Linux.
Debian is also known for its package management system, especially APT, the Advanced Packaging Tool, for its strict policies regarding the quality of its packages and releases, and for its open development and testing process. These practices afford easy upgrades between releases without rebooting and easy automated installation and removal of packages.
Debian is supported by donations through Software in the Public Interest, a non-profit organization umbrella organization for free software projects.
= History =
Debian was founded in 1993 by Ian Murdock, then a student at Purdue University, who wrote the Debian Manifesto which called for the creation of a Linux distribution to be maintained in an open manner, in the spirit of Linux and GNU. He chose the name by combining the first name of his then-girlfriend (now wife) Debra with his own first name Ian , forming the portmanteau Debian , pronounced as the corresponding syllables of these names are in American English: .
The Debian Project grew slowly at first and released its first 0.9x versions in 1994 and 1995. The first ports to other architectures were begun in 1995, and the first 1.x version of Debian was released in 1996. In 1996, Bruce Perens replaced Ian Murdock as the project leader. At the suggestion of fellow developer Ean Schuessler, he guided the editing process of the Debian Social Contract and the Debian Free Software Guidelines, defining fundamental commitments for the development of the distribution. He also initiated the creation of the legal umbrella organization Software in the Public Interest.
Bruce Perens left in 1998 before the release of the first Glibc-based Debian, 2.0. The Project proceeded to elect new leaders and made two more 2.x releases, each including more ports and more packages. Advanced Packaging Tool was deployed during this time and the first port to a non-Linux kernel, Debian GNU/Hurd, was started as well. The first Linux distributions based on Debian, Corel Linux and Stormix s Storm Linux, were started in 1999. Though no longer developed, these distributions were the first of many #Distributions based on Debian.
In late 2000, the Project made major changes to archive and release management, reorganizing software archive processes with new package pools and creating a testing branch as an ongoing, relatively stable staging area for the next release. In 2001, developers began holding an annual conference called Debconf with talks and workshops for developers and technical users.
: See [http://www.debian.org/doc/manuals/project-history/ A Brief History of Debian] for a more comprehensive history.
= Debian releases =
The latest released version of Debian is called stable . As of 2005, the latest stable release is version 3.1, also called sarge .
In addition, a stable release gets minor updates (called point releases ) marked, for example, like 3.0r1.
The list of Debian releases, their code names and release dates includes:
Because a CD vendor made an unofficial, broken release labeled 1.0 , an official 1.0 release was never made. The release after 3.1 is codenamed etch .
The code names of Debian releases are names of characters from the movie Toy Story .
: See http://debian.semistable.com/releases.gif for a graph of release dates, updates, and security support.
= Ports to various kernels =
The Project describes itself as creating a Universal Operating System and is developing ports of all Userland software to various operating system Kernel (computer science):
There have been no official releases of the non-Linux ports yet, so currently Debian is exclusively a GNU/Linux distribution.
= Development versions =
Software packages in development are uploaded to branches called unstable (alias sid ) and experimental . Normally, software packages uploaded to unstable are versions released by the original upstream developer that are themselves stable, but with packaging and other Debian-specific modifications introduced by Debian developers that may be new and untested. Software which is itself unstable or otherwise not yet ready for the unstable branch is typically placed in experimental .
After a software package has remained in unstable for a certain length of time depending on the urgency of the changes in the new version, that package is automatically migrated to another branch, called testing , if no more serious ( release-critical ) bugs in the package are reported and if the other packages on which that package depends for functionality are themselves qualified for inclusion in testing by the same criteria.
Because updates to Debian software packages between official releases do not contain new features, testing and unstable branches are used by some for their newer packages. However, the software in testing and unstable is less tested; in the latter, incautious upgrades can sometimes seriously break operating software functionality.
= Project organization =
The Debian Project is a volunteer organization with three foundational documents:
Currently, the project includes more than a thousand developers. Each of them sustains some niche in the project, be it software package maintenance, software documentation, maintaining the project infrastructure, quality assurance, or release coordination. Package maintainers have jurisdiction over their own packages, although packages are increasingly co-maintained. Other tasks are usually the domain of smaller, more collaborative groups of developers.
The project maintains official mailing lists and conferences for communication and coordination between developers. For issues with single packages or domains, a public computer bug tracking system is used by developers and end-users both. Informally, Internet Relay Chat channels (primarily on the OFTC and freenode networks) are used for communication among developers and users as well.
Together, the Developers may make binding general decisions by way of a General Resolution or election. All voting is conducted by Schulze method, a Condorcet method of voting. A Project Leader is elected once per year by a vote of the Developers. The Debian Project Leader has several special powers, but this power is far from absolute and is rarely utilized. Under a General Resolution, the Developers may, among other things, recall the leader, reverse a decision by him or his delegates, and amend the constitution and other foundational documents.
The Leader sometimes delegates authority to other developers in order for them to perform specialized tasks. Generally this means that a leader delegates someone to start a new group for a new task, and gradually a team gets formed that carries on doing the work and regularly expands or reduces their ranks as they think is best and as the circumstances allow.
Perhaps a more important person to Debian than the Leader is the software release Manager, who sets goals for the next stable release, supervises the process, and makes the final decision as to when to release.
A list of many important positions in the Debian Project is available at [http://www.debian.org/intro/organization the Debian organization web page].
= Developer recruitment, motivation, and resignation =
The Debian Project has a steady influx of applicants wishing to become Developers. These applicants must undergo an elaborate vetting process which establishes their identity, motivation, understanding of the Project s goals (embodied in the Social Contract), and technical competence. More information on the New Maintainer process is available at [http://www.debian.org/devel/join/newmaint the Debian New Maintainer page].
Debian Developers join the Project for any number of reasons; some that have been cited in the past include:
Debian Developers may resign their positions at any time by orphaning the packages they were responsible for and sending a notice to the developers and the public key infrastructure maintainer (so that their upload authorization can be revoked).
= Debian package life cycle =
Each Debian package has a maintainer who keeps track of releases by the upstream authors of the software and ensures that the package is compliant with Debian Policy, coheres with the rest of the distribution, and meets the standards of quality of Debian. In relations with users and other developers, the maintainer uses the bug tracking system to follow up on bug reports and fix bugs. Typically, there is only one maintainer for a single package, but increasingly small teams of developers co-maintain larger and more complex packages and groups of packages.
Periodically, a package maintainer makes a release of a package by uploading it to the incoming directory of the Debian package archive (or an upload queue which periodically batch-transmits packages to the incoming directory). Package uploads are automatically processed to ensure that the upload is well-formed (all the requisite files are in place) and that the package bears the digital signature -- produced with OpenPGP-compatible software -- of a Debian developer. All Debian developers have public keys. Packages are signed to be able to reject uploads from hostile outsiders to the project, and to permit accountability in the event that a package contains a serious Computer bug, a violation of policy, or malicious code.
If the package in incoming is found to be validly signed and well-formed, it is installed into the archive into an area called the pool and distributed every day to hundreds of mirror (computing)s worldwide. Initially, all package uploads accepted into the archive are only available in the unstable suite of packages, which contains the most up-to-date version of each package.
However, new code is also untried code, and those packages are only distributed with clear disclaimers. For packages to become candidates for the next stable release of the Debian distribution, they first need to be included in the testing suite. The requirements for a package to be included in testing is that it:
Thus, a release-critical bug in a package on which many packages depend, such as a shared library, may prevent many packages from entering the testing area, because that library is considered deficient.
Periodically, the Release Manager publishes guidelines to the developers in order to ready the release, and in accordance with them eventually decides to make a release. This occurs when all important software is reasonably up-to-date in the release-candidate suite for all architectures for which a release is planned, and when any other goals set by the Release Manager have been met. At that time, all packages in the release-candidate suite ( testing ) become part of the released suite ( stable ).
It is possible for a package -- particularly an old, stable, and seldom-updated one -- to belong to more than one suite at the same time. The suites are simply collections of pointers into the package pool mentioned above.
= Criticism =
An oft-stated criticism of Debian is that the released, stable branch can get too old to be useful for some purposes. This criticism is countered to some degree by the existence of:
Debian s much-vaunted stability can be attributed, in part, to the long release cycle. Releases are not made until they satisfy stringent release criteria for all 13 platforms supported by Debian. This can be contrasted to other community distributions from commercial Linux providers that assemble latest versions of all packages thrown together without much concern for either software stability or interoperability.
Another criticism is that some software is not available on Debian because it does not satisfy the Project s strict requirements of freeness. For example, the Adobe Acrobat reader is not available in Debian, but there are other Portable Document Format readers available in the Debian distribution. These free PDF readers might lack certain functionality, but are otherwise serviceable. In general, proprietary software is available on Debian, maintained by individuals and not the Debian project (e.g. Sun Microsystems s Java platform). Where such proprietary software is not available in the Debian package format, there is usually a way to convert software from the RPM Package Manager format to Debian s own format through the use of the Alien (computing) program.
An additional notable criticism revolves around the Debian community itself. The Debian community is sometimes portrayed as hard to work with as well as having a tendancy to biting newcomers. This is similar to certain complaints aimed towards the Slashdot community.
= See also =
*List of Linux distributions *Comparison of Linux distributions
== Distributions based on Debian ==
*Kanotix - a Live CD and Debian installer. *Knoppix - a Live CD, with several derivatives (including Morphix, Whoppix, Xfld). *Libranet - a distribution aimed at being easier to configure. *Mepis - a KDE-centric distribution for novices. *Ubuntu Linux - a GNOME-centric distribution. A Live CD is available along with several derivatives (including Kubuntu). *Xandros - a commercially supported derivative of Corel Linux.
: A more comprehensive list is available at http://www.debian.org/misc/children-distros.html.
= External links =
== Official Project resources ==
*[http://www.debian.org/ Official Project website] *[http://www.debian.org/releases/stable/installmanual Installation Manual] for the current stable release *[http://www.debian.org/doc/manuals/reference/reference.en.html Debian Reference] Manual *[http://www.debian.org/doc/manuals/project-history/ A Brief History of Debian] *[http://www.debian.org/doc/debian-policy/ Debian Policy Manual]
== Community sites ==
*[http://www.debianplanet.org/ Debian Planet] news and discussion site *[http://planet.debian.org/ Planet Debian] developer weblogs *[http://forums.debian.net/ Debian User Forums] *[http://wiki.debian.org/ Official Debian.org collaboration Wiki] *[http://www.debianguide.org/wiki/moin.cgi/FrontPage Unofficial Debian Guide Wiki]
==Guides and additional documentation==
*[http://newbiedoc.sourceforge.net/ NewbieDoc] *[http://wiki.linuxhelp.net/index.php/Debian_GNU/Linux Linuxhelp]. *Krafft, Martin F. [http://debiansystem.info/ The Debian System]. [http://www.opensourcepress.de/index.php26&backPID=15&tt_products=16 Open Source Press] / [http://www.nostarch.com/frameset.phpstartat=debian No Starch Press], 2005. ISBN 3-937514-07-4 / ISBN 1-593270-69-0
== Miscellaneous ==
|
|