• Aucun résultat trouvé

A history lesson

Dans le document SYSTEM DEBIAN (Page 30-34)

The Debian project in a nutshell

2.1 A history lesson

When the Debian project was born, the Linux kernel was still in its infancy, but growing at a quick rate. Linus Torvalds, the founder of Linux, was inspired in part by the GNU project when he adopted an open community approach for the de-velopment of the Linux kernel. From the very beginning, enthusiastic and capable developers contributed to the kernel code and pushed improvements where they were most needed. The kernel became more and more usable, and the combina-tion with the GNU user-space utilities allowed it to mature at an unforeseen pace, with updates published on a daily, if not hourly basis. Staying up to date became impossible for those interested in workingwiththe system rather thanonorfor it. Administrators especially, whose task was to provide higher-level services to a group of users, were unable to track important updates (if for no other reason, then because the code was being released faster than it took to compile it on contem-porary processors.

With computers becoming more and more integral in academic as well as com-mercial environments, it became increasingly important to be able to install them in larger numbers without continuously bootstrapping from scratch and compiling the required software by hand. As a result of these developments, several groups of developers teamed up to package precompiled software in a way that would allow for simple installation on end-user systems1. Despite the first business models cre-ated around the distribution of assorted free software, many of these distributions quickly fell prey to their own cause: with quality control and interoperability, main-taining a distribution was even more time-consuming and harder to handle than expected. As the count of external sources and updates grew, most groups threw in the towel and left buggy collections of aging software behind. In this situation, where bootstrapping and manually compiling a usable system was too daunting a task for the inexperienced, these distributions remained the primary entry point for new users — it is not difficult to imagine the grief that ensued.

In 1993, Ian Murdock, an undergraduate student at Purdue University and an avid user of the SLS distribution, which was similarly struggling at the time, found an answer to the dilemma: if the Linux kernel was developed decentrally by hun-dreds of people in parallel, then a distribution should be maintained decentrally by hundreds of people in parallel. Following Ian’s first announcement2, dozens of interested users joined forces and set the grounds for the Debian Linux project. In an article for Linux Journal3, he brought forth a number of ideas, which were later formalised in the Debian Linux Manifesto (see appendix D). A new distribution with the ambitious goal of being carefully maintained and high quality had been born.

In January 1994, the public was given a first glimpse at the release of Debian 0.91.

1Interestingly, recent developments on the distribution market are trying to revive the nostalgia.

2http://lists.debian.org/debian-devel-announce/2003/08/msg00008.html

3http://www.linuxjournal.com/node/2841; at this point I would like to thank the Linux Journal for deciding to open older articles to the general public without requiring a subscription (confirmed by the editor in chief, 27 January 2005)!

The approach to system administration taken by the Debian project could be poeti-cally described as “academipoeti-cally-inspired applied functionalism.” Debian developers approach problems patiently and academically in search of solid, long-term solu-tions. Consequentially, in the Debian system you will often find tools and concepts that are far more powerful and robust than needed for most situations; at the same time, however, these tools can be put to use in standard and complex sce-narios alike, allowing administrators to stay on familiar ground while growing with their tasks.

Despite its academic spirit, Debian is everything but theoretical and inapplicable in the real world. “Applied functionalism” primarily refers to the system develop-ment process: the tools and concepts that make up the Debian system were not conceivedad hocand put to use. Instead, they have emerged out of the practical needs of Debian’s users. Administrators often struggle to keep their custom solu-tions synchronised with the rest of the Debian system. To attack this problem at the root, experienced administrators stepped forward and made clever approaches to common challenges available as part of the Debian system. In addition to the usual benefits of being freely available, the software also became an official part of the Debian system and improved the overall integration of its numerous components by enabling the reuse of standard solutions for common tasks.

Half of what makes a good system administrator is the ability to automate repeti-tive tasks before they become repetirepeti-tive. The other half is to turn challenges around and reuse simple solutions rather than developing individual solutions for every problem4. The Debian system gives you everything you need to work by these prin-ciples. Repetitive tasks can be automated in a flexible way. And the universality and simplicity of the existing tools invites you to make use of them, rather than to expend extraneous effort implementing custom solutions that might break.

The project name “Debian” is a conglomeration of the names of Ian Murdock’s wife Debra and Ian himself. It is officially pronounced “deb-ee-an” (/’debi e n/), yet other pronunciations are common in other parts of the world. Chances are that people will recognise the name.

In the following, you will find a brief account of the history of Debian. The debian-historypackage, which resides in the official archive, also contains some informa-tion about the evoluinforma-tion of the project and its operating system. The document is available online5, too. Note that it makes no attempt to be complete.

The early days

Ian Murdock steered the project from its inception to 1996. By that time, thanks to the invaluable work of Ian Jackson,dpkg, the Debian package management tool,

4Actually, the real trait that identifies the ingenius system administrator is laziness, and the tools to make sure others do not find out.

5http://www.debian.org/doc/manuals/project-history

had become an indispensable part of the distribution, and first ports of the Debian operating system to other processor architectures began to surface. Ian Murdock withdrew from the project in favour of his family as well as future plans, and Bruce Perens was invited to be the next leader.

Under Bruce’s guidance, about 60 developers migrated all of Debian from the pre-viousa.outto the ELF executable format and in June 1996, Debian 1.1 was released as Debianbuzz6for thei386architecture.

Debian 1.0 was never officially released because a CD-ROM manufacturer had mis-takenly labelled an unreleased version of Debian as 1.0 in December 1995, so this version was skipped to avoid confusion.

The next version, Debian 1.2, codenamedrex, followed in December 1996. By that time, 120 developers were maintaining a total of 848 packages; the project had doubled in size since the release ofbuzz. Eight months later, in July 1997, 200 developers released Debian 1.3bowith just under 1 000 packages.

Figure 2.1:

Bruce Perens, who led Debian through three releases in less than two years, also formalised and published two documents that became substantial to the Debian project: the Social Contract established the priorities and ideals of the project (see appendix E), and the Debian Free Software Guidelines (DFSG) defined the criteria a software’s licence must meet in order for the product to qualify for inclusion in the official Debian archive (see appendix F). In addition, Bruce spearheaded the founding of Software in the Public Interest (SPI) as a legal entity to manage the parts of the project which can only be managed by a legal entity (such as trademark applications, as well as monetary funds).

6At that time, Bruce was an employee of Pixar, the company behind the famous computer-animation movie seriesToy Story. Starting with Debian 1.1, every Debian release received a code name based on characters from the movie series: Debian 1.1:buzz; 1.2:rex; 1.3:bo; 2.0:hamm; 2.1:slink;

2.2:potato; 3.0:woody; 3.1:sarge; The next release followingsargewill be namedetch, based on the Etch-A-Sketch character of Toy Story.sid, the name of the malicious kid from the movie, is used as the code name for the Debianunstablerepository, since the name is also an acronym for “still in development,” or rather, “still in development” is a “backronym” for the code name, as it was coined only after the code name had been used in Debian.

Over the following years, the project grew in number of developers and available packages. By 1997, 400 developers were working together under the leadership of Ian Jackson culminating in the first multi-architecture release, Debian 2.0hamm, in July. This release was fully based onlibc6, consisted of 1 500 packages, and officially supported them68kseries architectures in addition to thei386platform.

Wichert Akkerman took over in the beginning of 1999 and, under his guidance, Debian 2.1 slink added support for theAlpha and SPARC architectures. 2 250 packages required the expansion of the official distribution set to a second CD.

Debian 2.1 was released in March and includedAdvanced Package Tool (APT). To date, APTmaintains its highly innovative position as Debian’s package manage-ment interface, providing a means to install software with unheard of simplicity and robustness.

Into the next millenium

One and a half years later, in August 2000, Debian released version 2.2, code-namedpotato, which featured almost 4 000 packages and additionally supported thePowerPCandARMarchitectures.

The interval to the next official release, Debian 3.0 woodywas two years, which explains Debian’s reputation of being outdated. By the time of the release, the project had grown to 900 developers managing just under 9 000 software packages (7 CDs) that ran equally well on a total of 11 architectures (IA-64,HP PA-RISC, MIPS(big and little endian), andS/390were added in these two years). Over this timespan, the project was restructured to accommodate its massive growth, adding thetestingrepository to facilitate the release cycle.

In April 2002, Bdale Garbee was elected project leader and in July 2002, woody was the first Debian release to feature internationalisation, and include crypto-graphic software as well as the popular Desktop environmentKDE.KDEcould not be distributed in Debian due to the non-free Q Public Licence of the underlying Qtlibrary. It was a major accomplishment for the Debian project whenQt’s pub-lisher, Trolltech, agreed to licence the library under the GNU Public Licence (GPL) for non-commercial use.

In 2003, Martin Michlmayr won the Debian project leader election and held the position for two years.

Debian today

At the time of writing, the next official release, Debian 3.1sargeis expected in the first half of 2005. However, as before, this will only happen if the next release is ready by that time (see chapter 2.2.3). Despite great efforts to shorten the release

cycle, the high goals for the next release7required more work than initially planned.

sargewill provide a powerful new installation system and feature new versions of core software, e.g. GCC3.3, Perl5.8,XFree86 4.3,KDE3.3, Gnome2.8, and glibc2.3.

The release followingsargewill be namedetch. Several of the developers want to move towards a time-based release cycle foretchand its successors. The size and complexity of the Debian project makes this an extraordinary challenge. A time-based release cycle can only be instituted when the entire project reaches a consensus and agrees to work towards a common goal. At this time of writing, such a goal has not been formulated, but a proposal to relax the support of some of the less popular architectures is under discusion8. An online brainstorming page about possible future release strategies has been launched on the Debian Wiki9. In April 2005, the Debian developers elected Branden Robinson as project leader. In his platform10, Branden identified the lack of visibility of some of Debian’s internal processes as a major source friction within the project, and pledged to increase the level of transparency. He is also a member of the newly-founded “Project Scud,”, a team of developers who joined forces to support the Debian project leader with his work11. This form of group leadership was heavily debated during the time leading up to the project leader election. Some developers feared Debian could split into a two-class society, and lead to the further exclusion of the general public from important processes (such as the release cycle). It remains to be seen whether Branden will succeed in dispelling these fears by establishing a working group leadership model for Debian while making the administrative internals of the Debian project more accessible to all developers.

Dans le document SYSTEM DEBIAN (Page 30-34)