The Open Development of Debian

Ian Murdock

Issue #3, June-July 1994

The Debian project has always been open to anyone wanting to participate in discussion of its development, but it was only recently that the actual task of package maintenance was allocated to members of the project. This was an extremely important step in the development of Debian, and in this month's column I will explain why it was done, why it could not have een done any sooner, and why this step will only make the Debian system better.

Since the early days of Debian, I have described it as the first distribution of Linux to be developed openly in the spirit of the operating system and the free software movement. My justification was the success of the kernel; after all, open and distributed development had worked so well for the kernel, why couldn't it work just as well for a distribution?

The justification made sense, of course, but the reality was not quite that simple. Before any open development could be done, a cohesive development group had to be organized, a solid foundation upon which to develop had to be made available, and most importantly, it had to be proven that open and distributed development could actually work for a distribution. At the beginning, there were many strong supporters of Debian, but there were just as many people who said that it simply could not be done.

For the first months of the project, although many volunteers helped prepare Debian for distribution, I was the one who actually assembled the version to be released, since the guidelines for creating all the pieces of the distribution changed from day to day as we improved the system. Also, the most recent versions of most of the guidelines were often only to be found in my head.

Because one person has limited time, I could only do this job by myself for so long, while the system was still small, even with volunteers helping get many of the pieces ready. As the guidelines began to stabilize, and as the system became large enough that I could not put the system together single-handedly (as I found out when I tried), it became clear that the time had come to take the next step.

With an organized system for creating the Debian distribution in hand, the volunteers who had already been helping to create Debian packages were able to step forward and take complete responsibility for them, without fear of anarchy. They can package their own software, knowing that it will fit smoothly into the rest of the Debian system.

It has been a rough ride, but the Debian project survives and is stronger now than it has ever been. We are organized, we have a solid foundation coming in the release of Debian 0.93 BETA, and, as proven by the support that Debian has received and the enthusiasm of the Debian project volunteers, we have proven that the idea of an openly-developed distribution can work. I remain the maintainer of the base system and several development packages, and I serve as the leader of the project as a whole. But I am now only a part of a larger movement, a movement that is gaining momentum. So, what does all of this mean to the users of Debian?

It means high quality.

We have many well-respected members of the Linux community directly involved in the development of Debian. We have experts working directly on the parts of Debian involving their area of expertise. We have package maintainers that closely follow new releases of the software that they are packaging, and in many cases, participate directly in the development of the software itself.

It means consistency.

We now have drafted guidelines which define the construction of Debian binary and source packages. With the help of these guidelines, package maintainers may put together packages that are consistent with those put together by other package maintainers. The Debian leadership checks to ensure that each package is assembled correctly and that the system as a whole is solid; the end result is a set of packages that, though developed and maintained by many different individuals, are as consistent and as professionally constructed as if they were developed by a single person or closely-knit group, but without the limitations imposed by centralized development.

It means modularity.

No longer does one person have to shoulder the burden of constructing every package. As mentioned earlier, I maintain the base system and many of the development packages; others maintain the networking packages, the XFree86 packages and so on. When a new component is available, the package maintainer may simply update that package and make the newest version available, without a complete update of Debian. The days of massive, comprehensive re-releases of Debian are over; each component of Debian will be fairly independent of all others, and it will be easy for the end-user to upgrade his system or any component of it.

And, most importantly, need I mention that you, too, can become involved!