Ian Murdock Answers
1) Distributions
(Score:5, Interesting)
by Chalst
What's your second-favourite Linux distribution?
Ian:
I got started with Linux in 1993 using a distribution called SLS. I started Debian later that year, and have been using Debian ever since. So, I guess that makes SLS my second-favorite distribution.
2) Debian stuff
(Score:5, Interesting)
by Uruk
What do you think about the current political problems with KDE in debian, the possible removal of non-free, and any other 'political' issues you care to comment on?
How has debian converged or diverged from what you originally wanted it to be?
If you were Wichert, which direction would you take debian in now?
Ian:
I tend to be more interested in technical rather than political issues, so to be perfectly honest, I don't have too many opinions to share with you. One thing I can say about the non-free removal debate is that many are arguing that changing the social contract would be akin to changing the founding principles of Debian, which isn't entirely true. The social contract came along well into Debian's lifetime. It captures a set of principles that evolved over time, and is really a snapshot of that set of principles taken at the time it was written. Perhaps it's time to evolve further. Perhaps it isn't. I'll leave that question to the Debian folks.
In terms of convergence or divergence, Debian has become so much more than I ever dreamed it would become, so I'm nothing but thrilled with how well it's all come together. Debian is one of the best examples of just how well the open development model can work. I'm immensely proud of all that Debian has accomplished and all that it continues to accomplish, and I'm proud to have been a part of it.
Where would I like to see Debian go from here? I'd really like to see Debian's appeal broadened. For a long time, Debian was the best Linux distribution you'd never heard of, and that's started to change this past year. Debian is a really great system, the best out there in a lot of ways, but a few small things sometimes get in the way. Installation needs to be easier, many things need to be better integrated, releases need to happen more frequently, interfaces need to be designed with a broader range of users in mind. It looks like a lot of this is starting to happen, and I'm very happy about that. And, by the way, I think Wichert is doing an outstanding job.
3) Preview?
(Score:5, Interesting)
by pb
Could you tell us about this "Linux NOW" project you guys are working on now?
Will the filesystem be based on Coda, or are you writing something completely new?
How does the distributed architecture compare with what is currently available?
Will it offer distributed computing, or just centralized administration?
It's great to hear that this will be released back to the community; I'm sure this will be released long before Microsoft makes any real headway on their "Millenium" project. :)
Ian:
Linux NOW makes a network of workstations look like a single integrated system. The basic problem that we're addressing is how to integrate the network, how to make networks easier to manage and use. The basic observation is that many problems become very difficult very quickly as computing environments grow from a single machine to dozens of machines to hundreds to thousands. For example, people have a fairly firm grasp on how to manage a single machine, how to share resources on a single machine, how to provide a good environment for users on a centralized machine. When it comes to dozens, or hundreds, or thousands of machines, however, these issues become much more difficult, and even after twenty years of using networks, people still don't have good ways of approaching them.
Linux NOW makes a network look like a single system to simplify the task of managing the network, sharing resources on the network, making the network secure, providing a consistent environment to users. System administration and security management are much simpler because there is only one system to manage rather than many independent systems. Sharing resources like files and hardware devices is much easier because there is just one set of resources rather than many independent sets distributed around the network in various places. The user's environment is consistent across machines because the system is the network, the network is the system, rather than the network being just a physical medium for connecting systems together. In Linux NOW, the network is more than a mere communications vehicle, a way for systems to talk, it's an integral part of the system, it *is* the system. Linux NOW is about building a good abstraction, about simplifying, about reducing big problems to smaller, more approachable problems.
We are writing a new file system. Many of the features that we need have been implemented in one file system or another, but there is no one file system that does all we need in one package. The file system that we're writing is largely influenced by the Sprite file system (http://HTTP.CS.Berkeley.EDU/Research/Projects/sprite/sprite.html), but we're integrating in various bits and pieces from other file systems where that makes sense. For example, Sprite was written ten years ago, and these days, networks are no longer static things, they contain laptops and mobile devices that come and go, and those mobile devices should be equal members of the network of workstations. So, we're looking very closely at projects like Coda and InterMezzo that provide support for mobile computing and disconnected operation, and borrowing ideas and code from those where that makes sense. We are also looking at cluster file systems, like GFS, and other network operating systems, particularly Plan 9.
In terms of how Linux NOW compares to what is already available, the closest cousin to a NOW is a cluster, like a Beowulf. Both run above a collection of computers, and turn that collection of computers into a larger thing. The main difference is the approach, and the end goal. Most clusters are dedicated collections, tightly-coupled collections, and are specifically designed to do a very specialized task. For example, the task a Beowulf is designed to do is high-performance computing, number crunching and computationally-intensive things. In contrast, Linux NOW is a general-purpose system and infrastructure for large networks. Linux NOW's goal is to simplify system administration, resource sharing, security management, user environments, and so on, general-purpose tasks rather than specialized tasks. And Linux NOW is designed to drive the workstations that sit on people's desks, whereas clusters are usually dedicated things that sit in the machine room. Furthermore, a cluster is usually a tightly-coupled group of machines, whereas a NOW can include laptops, home offices, and those sorts of things. In short, the underlying foundation is very similar, but what we do with that foundation is very different.
In terms of whether we will support distributed computing, we do plan to provide limited support for things like process migration to make resource sharing easier. That being said, Linux NOW is fundamentally a general-purpose system, so we're only interested in such features to the extent that they solve general-purpose, end-user kinds of problems. Process migration can be used to do distributed compiles, for example, or to move running processes off of a workstation that is being rebooted. So, if you're interested in using a collection of machines to do a specialized thing like distributed computation, or load balancing, or failover, then a cluster is probably a better fit. Of course, Linux NOW has its place in clusters as well. After all, clusters have to be managed, and providing shared storage across the cluster is very important, and Linux NOW can provide that.
4) Distro wars
(Score:5, Interesting)
by BgJonson79
What do you think is the best way to put out the distro flame wars and welcome more people into the world of Linux?
Ian:
We're never going to put out the flame wars. The best we can do is hope that people will learn to devote their energies to more productive things, like making the software better, and not let the flame wars get in the way of making progress. Flame wars are an unfortunate byproduct of the passion that people put into free software. When people are willing to spend hours and hours arguing about things, sometimes arcane things, that means they care very much about them. Can you imagine people arguing endlessly about the merits of a particular toaster or microwave oven? People in this community care very much about their software, and that's a big part of the reason why Linux, and free software in general, have come so far in such a short amount of time. People are willing to pour everything they've got into this. Given that kind of passion, it's inevitable that we're going to have flame wars.
5) Hurd/Linux
(Score:5, Interesting)
by Tiro
Why has Debian tied its long-term future to the Hurd's so long before the Hurd is ready for prime time? We all know about the hopes and dreams the GNU project has for its kernel, but why is Debian going along for the ride when the future is so hazy?
Ian:
I don't think Debian has tied its long-term future to the Hurd at all. Debian is a volunteer project, so it's not like Debian is taking away resources from other projects to work on the Hurd, like a company might have to do. Volunteers tend to work on what interests them, and the Hurd interests many Debian volunteers, so that's where they're going to work. Personally, I'm glad to see that Debian is providing the kind of support that is moving the Hurd's development forward. The Hurd has a very interesting design and incorporates some very interesting ideas, and I hope that something eventually comes of it.
6) Debian development
(Score:5, Interesting)
by fremen
Debian has often been accused of having a very slow development cycle. The "stable" distribution is still using two to three year old technology, while frozen is getting more and more out of date each day. Meanwhile, companies like Mandrake are releasing much more bleeding edge distributions. These distributions have more bugs in them, but are also ahead of the game in terms of performance enhancements, newer software, and fixes for older bugs that still plague the older software in Debian. How do you respond to companies like this, and what do you see as Debian's place among these companies?
Ian:
I agree that the slow release cycle is a problem. The Debian folks recognize it as a problem too and are taking steps to address it. Release management is very hard, especially when you're dealing with hundreds and hundreds of people, many of whom have never met and most of whom work on the thing purely as a hobby. It's far easier when you have a company and people are all in the same place and getting paid. So, this is a common problem among free software projects, and Debian is having to deal with it on a scale larger that most projects have had to deal with it. And they're getting there.
7) What would you add to *nix?
(Score:5, Interesting)
by miahrogers
If you could take 2 features from two other operating systems and add them to *nix what would they be?
Ian:
The first feature I would add to Unix is a good distributed file system. Unix has been lacking in this department for a long time. This is really unfortunate, because the file system is such a central abstraction in Unix, arguably *the* central abstraction in Unix. In Unix, if you can get the file system right, solutions to a remarkable number of very difficult problems just fall out, so the lack of a good distributed file system has really been the central thing that has made networks of workstations so hard to manage and use.
The most important thing that a file system does is provide a name space, a high-level view of data storage. In spite of this, this is exactly where most network file systems for Unix fall short. Network file systems for Unix tend to be designed to share private name spaces, rather than to build common, network-oriented, network-wide name spaces. Look at the current state of affairs in Unix. Each machine on the network has its own disk and its own private name space built above it. Unix gives us NFS and AFS and other file systems to share name spaces, but the end result is that all these machines still have their own disks and their own name spaces built above them. Resources are scattered all over the network, and you end up with this crazy quilt of name spaces stitched together in haphazard ways. Some of the name spaces are shared, some aren't, and some parts of the private name spaces need to be shared but can't be shared easily. So, you end up with all sorts of problems, like how do you keep configuration consistent, how do you provide a consistent environment to users, how do you keep software up to date, and things get very complicated in a hurry.
In terms of what other operating systems have done with file systems, Sprite got the name space issue right. Sprite provided a single system image across a cluster of machines, including a single file system image; so, although there may be many computers and thus many disks in the network, there is one file system shared by all of them. Unix needs a file system that builds a network-wide name space, and provides high performance, high availability, good security, support for mobile computing, and other things too.
The second feature I would add to Unix are the per-process name spaces of Plan 9. That is just an incredibly good idea. Although they are different in many ways, Plan 9 is like Sprite in that it builds a single system image across a network of machines, and there is one file system providing access to a global set of resources, just as there is in Sprite. The difference is that, in Plan 9, machines, users, and even processes can build their own local view of this global name space, rather than sharing one common view. This is a very powerful mechanism because you don't always want to see the same name space. For example, how do you deal with heterogeneity in a network of workstations? How do you deal with different classes of machines or users with varying access rights to the network's resources? Plan 9's per-process name spaces address these kinds of issues in a very elegant way.
8) Mobile Linux and Other Debian-based distros
(Score:5, Interesting)
by zeevon
Despite promises from Lineo and Blue Cat to be the embedded Linux specialists, Transmeta is using Debian as a base for its Mobile Linux. In addition, Corel uses Debian for its own distro.
Do you see Debian becoming a base upon which other distributions are built instead of "just another Linux distribution[1]." Given the amount of ports Debian has expanded to (x86, 68k, Sparc, Alpha, ARM, i-opener, etc), do you see it becoming the uber-distro for embedded (and unorthodox) systems?
Ian:
Sure. Debian is a great foundation for building systems, embedded or otherwise. It's the foundation for Linux NOW. It allows people to concentrate on doing what they do best, to concentrate on building value, rather than on reinventing the wheel.
The nice thing about Debian in this respect is that it's modular. The package concept lends itself very well to modularity. That was the whole reason behind basing Debian on packages. I wanted others to be able to contribute to Debian, to participate in the development process, and breaking the system into modular packages seemed the best way to enable that.
Other distributions have almost universally adopted the package concept by now too, but most of them still tend to be arranged as complete, take-it-or-leave-it systems. Debian is more of a collection of packages that can form a complete system, custom-tailored just the way you want it. So, because of the package concept, the resulting modularity, and the "collection of packages" approach to constructing the system, it's very easy for someone to take just those parts of Debian that he needs and build value above them. And that's why Debian is a better system for this purpose than any other.
The system is the network, the network is the system" ...
... and we are all together. See how they fly like pigs in the sky see their stock soar.
I'm buying.
Sitting on a hard drive, waiting for the 'net to load.
Pornographic pictures, stupid NT systems, man you've been a naughty boy you got your sendmail old.
I am the admin. WHOOO!
They are the admins. WHOOO!
I AM THE PENGUIN! GOO GOO GOO JOOB!
--
Friends don't let friends misuse the subjunctive.
Interview him again! What's his FIRST favorite Linux Distribution?