Debian - the Universal Operating System? Do We Provide What Users Need? Do Users Get What They Really Want?
Total Page:16
File Type:pdf, Size:1020Kb
Debian - The Universal Operating System? Do we provide what users need? Do users get what they really want? Andreas Tille 22. June 2007 Abstract Debian GNU/Linux is a Linux distribution that is heavily used as a base for several derivatives - there is no other distribution that has such a large number of derived distributions. This is one reason to make us proud because we are considered solid and rock stable. But the question remains: Why do these people not use plain Debian instead of building their own distribution? Debian wants to be “The Universal Operating System” - at least the title of the homepage says so. What means universal? One of WordNet answers is “adapted to various purposes, sizes, forms, operations”. If we agree to this definition we have to experience: Debian is not really adapted to various purposes but it is perfectly adaptable. It is not really bad if Debian is adaptable to various purposes and the fact that Debian and even its derivatives are used as a base for adaptations makes us proud. It is a good sign that Debian is an unspecialised base system which is not really modified for a particular purpose or function which makes it attractive for adaptation to any purpose because it is known to be very robust and stable. So in short: We do a quite good job but it does not really qualify for the attribute “universal”. The first question is: Do we really want to be universal? If we answer this with yes, the next question is: Can we as a group of more or less independent maintainers afford this? My answer to this question is yes and the method to do this are Custom Debian Distributions. Currently we leave most of the work that could be perfectly done inside Debian to outsiders. The fact that outsiders constantly are working on enhancing Debian in a certain direction means: There are things missing in Debian and there are things our users are needing that we do not provide. Over several years I was constantly seeking for reasons, why we seem to fail the task of making adaptations and derivatives superfluous. What makes people keen on changing Debian to fit their needs. The answer to this question goes in two directions: 1. The current structure of Debian does not allow the creation of an universal, multipurpose system. 2. It is impossible to fit all needs - so why not at least making it brain dead easy to adapt Debian. 1 In the talk I try to discuss issues that might help us to change Debian from a geekish system to something people who consider themselves “only simple user” (whatever this might be) want to use instead something they are afraid of. Even if we members of the conference know that there is no reason to be afraid of Debian ... This is not really a technical paper but it concerns considerations about organi- sational structure, ways to widen the view from single maintainer - single package (1:1) or maintaining group - single package (n:1) development model to a customi- sation group - Custom Debian Distribution (n:m) development model to offer our users who need m packages interacting together the optimal system. 1 Different viewpoints of users 1.1 Poor users view Debian users can be divided into several user types and there are also types of poten- tial users who could be really happy with Debian in principle but either do not know this or have no real chance to learn about the fact that Debian is great because they run into certain trouble before it comes to real usage. Admittedly there are users who should be refered as “poor users” as a shorthand. For instance the friend of my son. If he would decide to install Debian on simi- lar hardware as my son he would be in vain. It took me several attempts to get the r1000 network adapter up and running (inclusive downloading, compiling and fixing the driver, by asking for help on lists and finally got a working kernel). Moreover the 3D acceleration with the ATI card needed several trials with different kernels and took me finally two days until everything was up and running. So the short answer to the question why the friend of my son does not install Debian GNU/Linux is just because his father is no Debian developer or at least a Linux expert. I admit, buying by chance a network adapter that is not supported (even if there is a free driver is currently quite seldom and you have to be a very poor user to face this situation. Having some hardware with non-free drivers is not that seldom. The usual advise is to check before buying hardware – but honestly, those users who have no idea how to circumvent a problem with drivers that do not exist in Debian are not aware of the fact that checking before is a good idea. They expect a system to run from scratch and they tend to not accept our reasoning that in most cases we can not do anything to solve this Problem. 1.2 Lucky users view The lucky user is able to proceed to the whole installation process flawlessly either because he has verified whether his hardware is supported or just was lucky enough to grab fully supported hardware by chance. They reach the point where they are asked to choose a certain task via tasksel. While these users are lucky that their hardware was detected nicely and Debian will probably run flawlessly on their computer they now need a certain knowledge about the tasks they want to solve with this computer. If the user has no idea about the 2 huge amount of software that comes with Debian he hopefully has an idea about clever strategies how to find the software that is helpful for his day to day work because tasksel is a quite raw and there will probably be no user that has to continue the package selection with other tools like aptitude, synaptic or something like that. 1.3 Upstream developers view Sometimes upstream developers of a piece of software are using Debian GNU/Linux and sometimes they just use other systems. Also in the latter case they might be called Debian users in a wider sense. If Debian is distributing their software they just gain some profit from it because Debian is serving as vehicle for their code to the end user. This might be a very welcome way to advertise a software if it is distributed via Debian. Moreover Debian might serve as a quite good quality assurance instance for a project – it is just a good sign if the software installs and runs flawlessly. While com- mercial developers relay on LSB standard developers of small free projects either have no time or interest in reading all the documents and running certain tests – if inclusion into Debian works a certain level of quality is ensured. A further point for Debian is the fact that the maintainer is asked for writing some documentation like a man page. This is just being nice to the upstream author. Finally Debian packages will be auto builded for different architectures which of- ten uncovers porting problems. Once a program is packaged for Debian the author has evidence that the result of is work at least compiles on several hardware architectures. 1.4 Debian Developer view In the Debian world the maintainer is some kind of missing link between upstream developer and user. He is doing the grunt work of obtaining the sources from up- stream, building and installing. This process is often boring and boring things are just error prone. So this is the kind of work users can get rid of thanks to the Debian maintainers. Every Debian developer picks such pieces of Free Software as packaging target that are interesting for his day to day work or his hobbies. In both cases the driving force to maintain a certain software is the fact that it is anyhow useful to solve a certain problem the maintainer has and were he is competent in - at least to a certain level. This kind of motivation is comparable to the principle that Free Software devel- opment is based on: Find a solution for your own problem and share the code to get help of other people who try to solve the same problem. Debian developers just try to solve the problem to develop an operating system instead of writing a certain soft- ware for a specific problem. This operating system should meet the interest of an as wide as possible user base. The independence of commercial interest of the producer of this system guarantees that it is even possible to support niche groups, that have no large customer base. If a commercial distributor would like to support small specialised user groups this would conflict with the interest to recruit a large customer group. So Debian is able to support those users who might need special applications natively which is not the case by other main distributors. 3 This feature might lead to Debian developers who act like hunters and collectors of Free Software applications – which is not really a bad thing but to make users really happy it needs more than just a huge collection of any application for certain purposes. It needs some design of a complex and comprehensive system that the user enables to find and use all these applications. 1.5 Derivers view Debian GNU/Linux has a lot of derivatives for several reasons: 1.