Welcome!

Linux Authors: Gilad Parann-Nissany, Maureen O'Gara, Glenn Rossman, Hovhannes Avoyan, RealWire News Distribution

Related Topics: Linux

Linux: Article

Debian GNU Linux

All you need to know to get started with Linux in 'its purest form'

Linux is rapidly becoming a household name. More and more people are aware of the various distributions that make up the Linux scene - but until now the vaguely science-fictionish sounding Debian has not entered the public consciousness in the way of names like Red Hat or SUSE. Through this article I hope to help LinuxWorld Magazine readers enter the world of what many consider to be Linux in its purest form.

The Debian Project: History and Aims

If you think Linux is hard to install today, pity the poor pioneers of the early '90s. They had to scour the Internet to find software to run, porting and integrating it themselves. There were a few fledgling distributions that made the task easier, but Linux was still only for the most dedicated and knowledgeable.

In 1993, an Indiana college student named Ian Murdock became dissatisfied with the existing Linux offerings and decided to create a Linux distribution that was community based, composed entirely of free software, and technically excellent. The name Debian (pronounced "deb-ee-an" with stress on the first syllable) is a contraction of the names of Ian and his wife Debra.

The new project attracted a lot of interest from like-minded Linux enthusiasts and began to grow steadily. Its fervent stance in favor of free software attracted the attention of Richard Stallman's Free Software Foundation (see www.gnu.org), which sponsored it for a while. Although that formal relationship has ended, Debian still shares many of the FSF's aims. The FSF's GNU project also provides much of the core software that makes up Debian, so the developers were proud to formally name the distribution Debian GNU/Linux.

Today, despite its lack of glitz and PR, Debian is estimated to be the second- or third-most popular Linux distribution and the only major noncommercial one. It is committed to supporting the Linux Standard Base (see www.freestandards.org) and takes part in other initiatives to enhance the Linux operating system. It has also become the base for other distributions: from commercial desktop-oriented products like Libranet, Lindows, and Xandros to government-sponsored efforts such as Spain's LinEx and Scandinavia's Skolelinux, and live CDs such as KNOPPIX and Morphix.

In 1997, the Debian developers decided to formally state their goals in a social contract with the free software community. A set of guidelines as to what the project considers to be free software was also issued.

The Debian Free Software Guidelines (DFSG) later became the source of the Open Source Definition.

The Debian GNU/Linux Social Contract

The Debian Project is an association of individuals who have made common cause to create a free operating system. This is the "social contract" we offer to the free software community.
  1. Debian will remain 100% free software: We promise to keep the Debian GNU/Linux Distribution entirely free software. As there are many definitions of free software, we include the guidelines we use to determine if software is "free" below. We will support our users who develop and run nonfree software on Debian, but we will never make the system depend on an item of nonfree software.
  2. We will give back to the free software community: When we write new components of the Debian system, we will license them as free software. We will make the best system we can, so that free software will be widely distributed and used. We will feed back bug-fixes, improvements, user requests, etc., to the "upstream" authors of software included in our system.
  3. We won't hide problems: We will keep our entire bug-report database open for public view at all times. Reports that users file online will immediately become visible to others.
  4. Our priorities are our users and free software: We will be guided by the needs of our users and the free software community. We will place their interests first in our priorities. We will support the needs of our users for operation in many different kinds of computing environments. We won't object to commercial software that is intended to run on Debian systems, and we'll allow others to create value-added distributions containing both Debian and commercial software, without any fee from us. To support these goals, we will provide an integrated system of high-quality, 100% free software, with no legal restrictions that would prevent these kinds of use.
  5. Programs that don't meet our free software standards: We acknowledge that some of our users require the use of programs that don't conform to the Debian Free Software Guidelines. We have created "contrib" and "nonfree" areas in our FTP archive for this software. The software in these directories is not part of the Debian system, although it has been configured for use with Debian. We encourage CD manufacturers to read the licenses of software packages in these directories and determine if they can distribute that software on their CDs. Thus, although nonfree software isn't a part of Debian, we support its use, and we provide infrastructure (such as our bug-tracking system and mailing lists) for nonfree software packages.

The Debian Free Software Guidelines

  1. 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.
  2. Source code: The program must include source code, and must allow distribution in source code as well as compiled form.
  3. 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.
  4. 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 group encourages all authors to not restrict any files, source or binary, from being modified.)
  5. No discrimination against persons or groups: The license must not discriminate against any person or group of persons.
  6. 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.
  7. 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.
  8. 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 should have the same rights as those that are granted in conjunction with the Debian system.
  9. 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.
  10. Example licenses: The "GPL," "BSD," and "Artistic" licenses are examples of licenses that we consider "free."

Debian Packages

The software provided by Debian is packaged in a special binary format called deb (after the .deb extension of package file names) which, much like the rpm packages used by other distributions, makes it easy to install, uninstall, and upgrade. Although rpms and debs cannot be used interchangably, there is a utility called alien that converts between the two. Debian has a written policy manual (see www.debian.org/doc/debian-policy) that strictly defines how packages should behave and thus ensure they will work well together.

A common difficulty with binary software packages is that of satisfying dependencies. A particular piece of software may require a certain library to work correctly or two programs may conflict with each other. Debian has developed an advanced packaging tool, aptly named apt, that solves this problem. When you install a package using the command-line program apt-get or one of the graphical apt front ends, the most recently packaged version is downloaded from the Debian servers along with any other packages it may depend on. You are also prompted to remove any conflicting packages. This ensures your system is in a consistent state at all times with a minimum amount of manual intervention. Needless to say, this idea has proven to be quite popular. Other distributions either developed their own variations on the theme or ported apt. Even Apple's Mac OS X has an apt port (see http://fink.sourceforge.net).

Debian Distributions and Ports

At any given time, there are actually three Debian distributions: stable, testing, and unstable. Each distribution has a name, taken from characters in the Pixar animated film Toy Story, which a former Debian project leader worked on. Publicly released distributions also have a version number, with sub-version numbers (X.Y or X.Y rZ) to indicate updated point releases that are not complete new versions.

Currently the three distributions are:
1.  Stable (Woody or 3.0 r2): This is the version usually found on CDs. It is the most recent officially released Debian distribution and is suitable for production servers and other environments where high reliability is essential. No new code is added to a stable release except for fixes of security vulnerabilities, which are back-ported from newer versions. While this conservative approach may appear to make stable lag behind other Linux distributions, it ensures that it is as bug-free as possible. It is possible to run some of the latest Linux software on Woody thanks to the third-party Debian Backports Project (see www.backports.org).

  • Unstable (Sid): This is where new development takes place. Although there might be occasional breakage, unstable refers to the fact that this distribution is constantly in flux with new packages being added, bugs fixed, etc., not to the quality of its software. Developers and other power users tend to use unstable.
  • Testing (Sarge): This distribution attempts to fall between stable and unstable. When packages in unstable are deemed sufficiently bug-free, they are added to testing. When testing itself is bug-free and any other release goals are met, it becomes the next stable distribution. It is a good choice for desktop users.

    You can find older Debian distributions at www.debian.org/distrib/archive. A listing of third-party packages is available at www.apt-get.org.

    Within each distribution, there are three sections:

    1. Main: The official distribution made up entirely of free software packages.
    2. Nonfree: For packages that fail the DFSG.
    3. Contrib: For those that are free but depend upon a nonfree component.
    Debian has been ported to many different architectures:
    • i386: Intel's 80386 and its descendants and clones. Binaries optimized for Pentiums, AMD's Athlons, etc., are not provided, but can be created by the user.
    • m68k: Motorola 68000 chips as used in Sun3, early Apple Macintosh, Atari, and Amiga machines.
    • sparc/sparc64: Systems based on Sun Microsystems' 32- and 64-bit SPARC processors.
    • alpha: Compaq's (formerly Digital's) Alpha processors.
    • powerpc: IBM and Motorola PowerPC processors used in IBM servers and newer Apple Macintoshes.
    • arm: ARM processor used in the Netwinder and many embedded devices.
    • mips/mipsel: MIPS processors which can be big-endian (as used in SGI machines) or little-endian (e.g., DECStations).
    • hppa: Hewlett-Packard's PA-RISC architecture.
    • ia64: Intel's 64-bit Itanium processor. AMD's Opteron is not yet supported, but a port to that architecture has just begun and may be available by the time you read this.
    • s390: IBM's S/390 mainframes.
    • sh: Hitachi Super/H chips as used in the Sega Dreamcast.
    Debian is branching beyond Linux with ports in progress to the GNU Hurd, FreeBSD, and NetBSD kernels. For more information on each port, such as exactly which hardware is supported, see www.debian.org/ports.

    Support for such a wide variety of often quite esoteric hardware may seem like a waste of time. However, apart from the innate geek appeal, porting to exotic hardware has advantages even for people who will never use anything other than a standard PC because the porting process often picks up subtle bugs that would otherwise go unnoticed.

    Obtaining Debian GNU/Linux

    Debian makes its distribution available for free on the Internet for all to use as they wish without licenses or royalties. You can download it as a set of software packages by rsync or anonymous FTP (see www.debian.org/distrib/ftplist for servers) or as ISO9660 images suitable for burning on to CD-ROMs (see http://cdimage.debian.org). If you don't have Internet connectivity or it is too slow for large downloads, you can get Debian by purchasing a CD set from a third-party vendor (see www.debian.org/CD/vendors). Many vendors allow you to make a donation to the Debian Project along with your order.

    Getting Help

    Most of Debian's business is conducted via public e-mail discussion lists. A full list plus subscription info can be obtained from www.debian.org/MailingLists. Here are some of the major ones. (Those marked with a * are moderated or otherwise restricted.)
    • debian-announce*: Important announcements from the Debian Project.
    • debian-changes*: Notice of new or updated packages in stable.
    • debian-devel-announce*: Announcements from the Debian project of interest to Debian developers.
    • debian-devel-changes*: Notice of new or updated packages in unstable.
    • debian-devel: Technical discussion among Debian developers.
    • debian-news*: A weekly roundup of what's going on in the Debian world.
    • debian-policy: Discussion of Debian policy and proposed amendments to it.
    • debian-project: Discussions concerning the operation of the Debian Project.
    • debian-security-announce*: Security advisories from the Debian Project.
    • debian-security: Open discussion of security issues.
    • debian-user: The main discussion and support list for users.
    Support is available via IRC in channel #debian on the Freenode IRC network. (For a list of servers, see www.freenode.org.)

    The Debian Web site www.debian.org is your starting point to learn about all things Debian. For the benefit of international users, it is translated into almost 20 different languages. Some third-party Web sites focusing on Debian are Debian Planet (www.debianplanet.org) and Debian-Help (www.debianhelp.org).

    You can contact the maintainer of any Debian package by using our public bug-tracking system at http://bugs.debian.org or by sending an e-mail to packagename@packages.debian.org

    See www.debian.org/consultants/ for a list of companies and consultants who provide paid support.

    How to Help the Debian Project

    To this day, Debian remains a community project without paid staff. It depends on the help of volunteers and well-wishers to further its aims. There are several ways in which you can support the activities of the project:
    • Join us as a developer: www.debian.org/join/newmaint describes the process for becoming a member of our team.
    • Help with support and quality assurance: You don't have to be a Debian developer to help improve our operating system. See http://qa.debian.org/howto.html for instructions and a TODO list. Or you can assist users by answering questions on the mailing lists or by sharing a copy of Debian with them.
    • Donate money or resources: Debian relies on donations of cash, servers, bandwidth, etc., for its operation. You are under no obligation to contribute, but if you would like to do so, a noprofit organization registered in New York, called Software In The Public Interest Inc., has been set up to accept donations on behalf of the Debian Project. For further details, see www.spi-inc.org/donations or send an e-mail to treasurer@spi-inc.org.
  • More Stories By Jaldhar H. Vyas

    Jaldhar H. Vyas is a consultant and Hindu priest who has been a member of the Debian Project since 1997, He lives in Jersey City, New Jersey, with his wife and daughter.

    Comments (0)

    Share your thoughts on this story.

    Add your comment
    You must be signed in to add a comment. Sign-in | Register

    In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.