The software that has been packaged for Debian GNU/Linux is available in one of several directory trees on each Debian mirror site.
The directory dists contains the "distributions", and it is the canonical way to access the currently available Debian releases (and pre-releases).
Normally there are two distributions, the "stable" distribution and the "unstable" distribution. Sometimes there is also a "frozen" distribution (see What about "frozen"?, Section 5.4).
They are just "codenames". When a Debian distribution is in the development stage, it has no version number but a codename. The purpose of these codenames is to make easier the mirroring of the Debian distributions (if a real directory like unstable suddenly changed its name to stable, a lot of stuff would have to be needlessly downloaded again).
Currently, stable is a symlink to potato (i.e. Debian GNU/Linux 2.2) and unstable is a symlink to woody, which means that potato is the current stable distribution and woody is the current unstable distribution.
When the unstable distribution is mature enough, it becomes frozen, meaning no new code is accepted anymore, just bugfixes, if necessary. Also, a new unstable tree is created in the dists directory, having a new codename. The frozen distribution passes through a few months of testing, with intermittent updates and deep freezes called `test cycles'. We keep a record of bugs in the frozen distribution that can hold off a package from being released or bugs that can hold back the whole release. Once that bug count lowers to maximum acceptable values, the frozen distribution becomes stable, it is released, and the previous stable distribution becomes obsolete (and moves to the archive).
Other codenames that have been already used are: buzz for release 1.1, rex for release 1.2, bo for releases 1.3.x, hamm for release 2.0, and slink for release 2.1.
So far they have been characters taken from the movie "Toy Story" by Pixar.
It is a special distribution for architectures which haven't yet been released for the first time.
When sid did not exist, the FTP site organization had one major flaw: there was an assumption that when an architecture is created in the current unstable, it will be released when that distribution becomes the new stable. For many architectures that isn't the case, with the result that those directories had to be moved at release time, chewing up lots of bandwidth.
For those architectures not yet released, the first time they are released there will be a link from the current stable to sid, and from then on they will be created inside the unstable tree as normal. sid will never be released nor even accessed directly - only through symlinks in the current stable, frozen, or unstable trees. It is a mix of released and unreleased architectures.
The name "sid" also comes from the "Toy Story" animated motion picture: Sid was the boy next door who destroyed toys :-)
These packages all comply with the Debian Free
Software Guidelines
, and are all freely usable and distributable.
For example, some packages have licenses which prohibit commercial distribution. Others can be redistributed but are in fact shareware and not freeware. The licenses of each of these packages must be studied, and possibly negotiated, before the packages are included in any redistribution (e.g., in a CD-ROM).
The `unstable' directory contains a snapshot of the current development system. Users are welcome to use and test these packages, but are warned about their state of readiness. The advantage of using the unstable distribution is that you are always up-to-date with the latest in GNU/Linux software industry, but if it breaks: you get to keep both parts :-)
There are also main, contrib and non-free subdirectories in `unstable', separated on the same criteria as in `stable'.
Within each of the major directory trees (dists/stable/main, dists/stable/contrib, dists/stable/non-free, and dists/unstable/main/, etc. but not project/experimental/, which is too small to subdivide), the binary packages reside in sub-directories whose names indicate the chip architecture for which they were compiled:
See On what hardware architectures/systems does Debian GNU/Linux run?, Section 3.1 for more information.
Source code is included for everything in the Debian system. Moreover, the license terms of most programs in the system require that source code be distributed along with the programs, or that an offer to provide the source code accompany the programs.
Normally the source code is distributed in the "source" directories, which are parallel to all the architecture-specific binary directories.
Source code may or may not be available for packages in the "contrib" and "non-free" directories, which are not formally part of the Debian system.
There are the following supplementary directories: