|
Project: Linux Interviews
Torvalds unplugged
By Prakash Advani <prakash@NOSPAMfreeos.com>
Posted: ( 2000-11-15 07:31:29 EST by )
Linus Torvalds, at the LinuxWorld Conference and Expo held in August at
San Jose, took some time off to sit down for an informal QnA session.
Prakash Advani, CEO of FreeOS.com, was there as Linus talked about
the future of Linux and his views on other operating systems.
Which commercial company is doing the most for Linux? I have such a hard time judging that. Most of them tend to be in fairly different markets. I think that there is a lot of power in just numbers. That's what made Windows such an attractive platform. It wasn't Microsoft. It was the fact that there were hundreds - thousands of companies supporting it. I think that it would be wrong to single out any Linux company. Today most of the IT companies are embracing Linux. Are they giving back enough to the community? People expect other people to be nice and take care of things. I don't think that it's true and I don't think it should be. The power of Linux is that even if nobody else helps you an inch of the way, then you still have your copy of Linux, you still have the power to do whatever you want. That's important. In that sense, even if a commercial company were to give back nothing at all, it would not be a loss for Linux. Even with a company like Dell which doesn't do any Linux development, just the fact that they are there, supporting Linux, helps. Just the PR value of it is great. Also as Michael [Dell] mentioned, it's fairly important to have big hardware manufacturers that are known to support you. Dell and IBM have been very good at causing other hardware manufacturers to make sure they have drivers for Linux. So I'm fairly positive. Do you see the growth of Linux in the enterprise, home pc's or in the non-PC market? I don't know. As a Transmeta person, I can say the non-pc market. The advantage of PC's is that they're standard and they're really cheap to make because they're standard. Maybe a new standard is coming up. Anybody who is interested in any emerging technology these days, they tend to actually look at Linux first because it's so easy to adopt. Maybe we'll all leave small big traces in the sand. Did you pick Debian personally for the $25,000 IDG/Linus Torvalds Community Award which was presented to Debian at the LinuxWorld Conference & Expo? I'm allowed to be involved in the discussions. But in practice I don't want to get involved. It's been a fairly conscious decision. Partly because of laziness, but partly just because I want to avoid the politics of Linux. I want to be somebody who everybody agrees is a nice guy and doesn't butt in. So I've actually let IDG do it, who've so far been doing a really good job. I've been very happy to give up the chair. Why did they choose Debian? It is actually a fairly obvious choice. One of the issues is that the award is supposed to be given to non-commercial entities for whom 25 grand [25,000] actually makes any difference and who have done something meaningful. There a number of these groups and there's no question that we'll run out of people to give money to. Debian certainly is one of the better known groups. Maybe not outside the community, but inside the community it's one of the fixtures of Linux, how they've created the whole OS around not just Linux. Basically they're putting all the pieces together, creating this full distribution. Debian also created the Debian open-source guidelines. They've been active not just on a technical level. They've been very instrumental in trying to define what open-source is. The Debian open-source definition is what we agreed to be the one true definition of what open-source is. Which distribution do you prefer, use? I get that question all the time because I don't want to answer Red Hat or SuSE or something else. I actually run different distributions on my machines so that I can honestly say that, ok, at work I happen to have Red Hat, at home I have SuSE, I have Caldera, I have Mandrake. I don't actually have any trouble switching between distributions. They say that for adoption of Linux in the Enterprise, they need to have some standardization. There are actually a lot of these things going on. The LSB [Linux Standards Base] is the most well known. At the same time I kind of disagree because I think that one of the strengths of Linux is that there has been more than one Linux. If you look at Linux 6-7 years ago, the main distribution was Slackware and Ygdrasil. You may have heard of Slackware but you may not have heard of Ygdrasil. The upside of many distributions is that there's competition and the best one wins. Downside is the fragmentation. You have to balance the upside and downside of competition and so far it's been fairly successful. There haven't been that many problems. Part of it is the license. It's very hard to fragment something that is GPL. It doesn't really fragment. Sure it fragments all the time but in the end the strongest one wins. And the strongest might not be one, but it may be multiple distributions for multiple markets. Anyone who thinks that it should solidify is kind of short-sighted. Sure solidifying is good in the short term but in the end it only hurts. I think that's the problem with Microsoft. They haven't very much competition and they haven't had any reason to be aggressive in any sense other than economic. Do you extend the same logic to the GUI? I do and I did. But I also extend the Darwin model that the strongest one wins. I think that's a area where right now there are only two choices, KDE and GNOME. KDE is virtually unknown in the US. So, let's see who wins. GNOME certainly has a lot of momentum behind it. It's definitely good that there has been competition there, even if it's somewhat confusing at times. It's not that bad if in the end it results in a better product. Do you see any problems to having multiple desktops? There are not that many technical problems to having multiple desktops in the same way that you can have multiple anythings. I think the real problem lies in the fact that the desktop is so in your face all the time, it's so visible. You react much more strongly to the fact that there's two of them. There's been a number of technical matters where there have been more than one contender but nobody made much of that. They didn't get very emotional about it. But people get really emotional about their desktops. So you see the discussions a lot more and you see all these flame wars happen. Isn't it a problem for application developers? To some degree, yes. But they're both underlying X applications. If you buy a commercial product, you will find that they work fine on both. You will start seeing applications that will only work on one, there's no doubt about that, but that's part of the competition. There will probably be failures but that's ok. One place where I find a problem between distributions. The good thing is that the core kernel is the same across distributions. That ensures compatibility across distributions. But quite often I keep trying new distributions to check them out and every time I do that, I find that in one distribution this file was in /etc but in this distribution it's not there. That's getting to be less of a issue these days. It used to be partly because of the Unix fragmentation. You had a lot of people with different tastes doing different things and they were different. So you had the strong BSD vs System V split. That's pretty much gone away. There's still detail but most of the annoying one's are disappearing really fast because most distributions don't want to annoy users either. It's bad for business. So the biggest differences these days tend to be visual differences, like how it installs and things like that and what market they are going after which implies what kind of stuff they install by default. I certainly don't have any trouble at all searching for files. Kernel 2.4 has been delayed a lot. What's the current status (as of August 2000)? I'm actually fairly happy about it right now. I'm not so worried about technology. What used to worry me like a month ago was the dynamics of how the development happens and one of the problems was that Alan Cox, who has kind of always been the maintainer of the stable tree, he always takes over when I go to the development version, was too busy doing the previous stable tree 2.2. So he hadn't had the time to catch up to 2.4 and that basically left a vacuum. I've always had a person who keeps track of the new soon to be stable release so he can maintain it. A month ago I didn't have, what shall we call it, my second-in-command. That was not so much a technical problem as a purely logistical problem. For me there was nobody keeping track of issues and we fixed that just three weeks ago. Basically I wanted to have somebody I could trust, that I had been working with for a long time so that I know him and I know when I should ignore him and when I shouldn't. As long as Alan is not available, the guy who is taking over is Ted T'so. He was like the first person to use Linux in the US, so he's a really old timer. Right now he is with VA Linux but every Linux developer is working for some Linux company except for me, so that probably doesn't mean that much. What was the problem? The problem is that I really enjoy the development process which is why I'm always on the development kernels. I'm not really the kind of guy who is good at maintenance. Problem is that when you're getting ready for a new release, you have to get down into maintenance mode. I need somebody to keep me on the straight and narrow and I didn't have somebody to keep me on the straight and arrow because Alan Cox was busy. It's purely a psychological one. The only real problem was that I was allowing patches that I should not have. It's not that I can't say no. They were good patches but Alan Cox always maintained a list of outstanding issues so I knew whether a patch was required or not. Without somebody keeping track of these issues, it was kind of hard for me to say no. There are still some issues with Linux, which are still there, which make it not very enterprise scalable. Like the number of processors it supports, SMP support, memory support, hardware support. A lot of those issues are what 2.4 has been working very hard at addressing so basically the scalability issues in an SMP environment are gone. There's still the NUMA scalability to hundreds of CPU's and that's going to be until the next stable release. 2.4 will scale to how many processors? 2.4 on realistic levels, I can say that we certainly tested 8-way and it scales perfectly. It scales really well. The SpecWeb world record numbers were done in an 8-way. It's interesting actually looking at the numbers. You can go to the SpecWeb website and they have all the numbers for that quarter and you can see Dell machines with 1 CPU, with 2, with 4 and with 8 and it's basically as perfect as it can get. I haven't seen the numbers for 16 CPU machines but I suspect we'll do ok, at least for the web serving kind of thing. But that's judging by how well we do beyond 8. What is the upper memory limit for kernel 2.4? It's basically set by hardware. On Intel it's 64GB. The SpecWeb announcement was kind of fun because like any benchmark, they use completely outrageous hardware. The record was done with 8 CPU, 64GB RAM and 8 Gigabit ethernet cards. Support is really there. The issue for the future is going to be clustering when you have non-uniform memory accesses. That's the kind of work that SGI has been doing with their IRIX'es. We're making sure that Linux clusters well on the Itanium. What about the threads issues in Linux? Linux threading is wonderful. The problem is that most people want to use a standard threading model that was really designed for Solaris. It's basically the Solaris Thread model that they've standardized and the mapping from Linux threads is fairly ugly actually, and that's a problem and we have to fix that. It involves extending the Linux thread model so that it's easier to map from one to the other. That's actually one of the things that's kind of on my wish list for 2.5 which is going to be the next development release once we get 2.4 out the door. Will there be any Journal File Systems like ReiserFS included in the next kernel? ReiserFS is probably going to be part of the standard source base for 2.4. Partly it's also because of PR. For most new features I'd say that it's not in the code base right now so it won't be in 2.4.0. The question that has been dogging Linux for the past 4 years is the lack of a journal file system. That's one of the reasons I'll put it in plus the fact that SuSE has been doing a really good job of showing that it's stable in production environments. We'll probably have ReiserFS included if not the others. That's the one that a lot of people are actually using in production environments. I haven't decided yet if I will make it part of 2.4.0 or gradually kind of get it into 2.4 during the 2.4 time frame. That's likely to happen. IBM and SuSE are going to make an announcement about SuSE version of Linux with a journal filesystem, ReiserFS. Will this be SuSE specific? No, it will not be specific to SuSE. This is probably the filesystem that is going to be standard in 2.4.0. What's SuSE has been doing is that they've been actively supporting the author of ReiserFS. SuSE has been testing it out and they've had this brewing for a long time. They're basically showing that they've got a journal filesystem. If the power goes down some place then it's no big deal. Here again you see that there's a lot happening in Linux outside the embedded device space. Where does file journaling come from ? Is it an open source group or a commercial group ? Actually all of the above. ReiserFS was a pretty new approach to doing file systems. Not just journaling. It makes a lot of changes from the standard UNIX file systems. That's been open source for a long time. But there's also SGI XFS. There's also ext3fs, which is also open source. IBM JFS journal file system is also available. But ReiserFS is probably the one which has already been used in production environments for some time. Which of these will be the default filesystem (XFS, JFS, ReiserFS)? In the end ext2 is the default for a while yet. This is another issue. People have choice. This is the kind of issue where most people don't even have to care. They all look pretty much the same to the user. Just have different performance factors. Machine goes down, whether they're journaling or not. I don't think there has to be one default. A user application can't know, it's a system management issue. Right now, ext2 is the default just because everybody uses it, it works fine, everybody trusts it because it's been around for some 8 years. Does it matter that the Specmark was set on Dell hardware? It could probably have been set on any hardware. But it does matter that it was set on Dell hardware. I'm not trying to push Dell. The reason it was done on Dell hardware because Dell was involved in the testing. Dell actually put in a lot of resources in the testing. It's easy to say that we'll sell you a Linux machine. It actually takes some effort to say that we'll sell you a Linux machine and we'll put up our lab to actually show that this is the right combination. I'm sure that we'll see others doing the same for other benchmarks. This becomes an example of the most effective web serving possible today with commodity hardware and Linux. Is this an announcement that we can beat anybody with Linux? At the same time you know than benchmarks are worse than lies. In this benchmark if you beef up the machine enough, and use a Linux kernel with an internal Web server then you will beat all the others. It's using fairly bleeding edge technology even on the software side. But let's be honest here. Benchmarks are benchmarks. They have nothing to do with reality. Will the internal Web server be available? How will it be available? Right now it's a specialized set of patches on top of the 2.4 test kernels. The intention is that it's not going to be in 2.4. It was fairly new code and it came in after the cut off date. It was so obviously new that I had no problem saying "not 2.4.0". I don't know when. You will probably find that Red Hat or someone will ship it as a server product. Will this be a solution instead of running Apache on top of Linux? It's actually going to a combination so that you can fall back depending on your need. Like if you need Perl, you don't want to have Perl in the kernel. Did you do the internal server for the benchmarks? It was actually done by Ingmarr. His personal quest was to completely destroy the Mindcraft numbers. He took those numbers very personally. It wasn't just him, it was actually a lot of other people but he was at the center of it all. Is that a specialized implementation of Linux or is it going to be an option? It's probably going to be an option. It's actually a very well defined specialized kind of interface. It's probably going to be part of the 2.5 series. There's a cycle time between new kernel releases which is quite high. Do you plan to do something to reduce that? I try very hard and it's really hard to do. I was intentionally aiming to be very aggressive with 2.4 because I knew that it was going to slip. But, by being very aggressive, if it slipped then I would still be shorter than if I were not. Now it's been close to a year and a half and it's going to be another two months at least. Even if I'm really happy I just have to release a final test and let it sit for a while. It's getting closer and closer to two years and that's a long time. Realistically it's fairly hard to do it in a much shorter time. I think a year is what you should aim for but it's probably not going to be possible in practice. Are you going to do anything to ensure that the Linux gets easier to use? I'm more into the hardcore kernel development. We do things like that [plug and play]. To me it's very important to have easy to install hardware so the kernel will just find it automatically and configure it so you don't have to. That's important because especially PC's there's just so much hardware that it's very hard to configure unless it's done automatically for you. In the end most of these kind of end-user, easy to use stuff on the desktop will be easy to do. Are you taking any clues from FreeBSD/BSD? There's been a lot of technology sharing. More than technology sharing, there has been the same kind of competition, as between Linux companies. I think it has been very important to have competition between Linux and BSD, and Linux and NT too. Just the fact that Mindcraft numbers showed us to be lacking in certain areas was very motivational. That's how a lot of the 2.4 improvements came to be. The same is true of the BSD system. It's been kind of a benchmark by which you judge yourself. That's something that has been even more important than some of the technology sharing that has been going on. Is it only a benchmark issue or is there also a license issue? I'm talking benchmark in a more wider sense. A number of issues, we always want to be better than anyone else whether it's BSD or anyone else. It's been useful to have that kind of thing to measure yourself against. The initial approach in many ways is very different. The BSD license is very different. They disagree with the GPL and I disagree with their license. It been kind of friendly, sometimes not so friendly. It hasn't been much of an issue. Quite frankly in the last two years I'm getting asked less and less about BSD's. We've been more interested in getting the features from some of the more exotic animals like Plan 9. There were a lot of good ideas from there. Plan 9 is also open source now does that affect Linux in any way? It also open source but it happened a bit too late. They open-sourced after they noticed that time had passed them by. They didn't get the kind of attention they would have got if they had done that five years ago, which is when they should have. That was a bit sad. Do you see a market for more than one free operating system? Yeah. Basically depending on research patterns, there's a lot of power to having a generic OS. That's part of why people want to go to Linux on embedded devices and supercomputers because it's a powerful notion to have a similar environment regardless of where you are. But there's also downsides to being too generic. Some OS that is specific to some need is always going to be able to provide for that. What if Microsoft decides to open source Windows? That's never going to happen but if it does then I'm all for it. Will if affect Linux in any way? From past experience these projects tend to be fairly self-contained. So there hasn't been that much interaction between the BSDs and Linux. It would make a difference but not that much to Linux. It would make a huge difference to them [Microsoft]. Are you surprised by this flowering of embedded Linux? I am. But after having seen why it happened inside Transmeta, I kind of understand now. There are a lot of small companies making the next gadgets. You have hundreds of companies in Silicon Valley who want to be the next Palm. They usually need a strong software component because technology is just so complex these days and they don't really have much choice but Linux. They could do what Palm did and write their own OS. Or they could go to Microsoft and say that we're a small company and we have this great idea and could you please make these modifications to Windows so that it runs on our device. That's just not going to happen. What about the other embedded device manufacturers? When you're in that kind of niche market then you have all these licensing restrictions. If you go to them and ask them for their code, but say that you don't want to pay any licensing fees yet because it's going to take some time to get your pilot project off the ground, they're just going to ask you to go away. That's where the power of open source lies. You can cut through all the red tape. People who need to do something new and exciting can just go out and do it. 99% percent of those will fail but the 1% that succeed will make a really big difference. That's why Linux is really popular in embedded devices. Part of the reason that Linux was not popular before, was that embedded devices hadn't grown up. Four years ago, you had to have special tailored operating systems because you didn't have space to do a really generic one. Devices have finally grown up to the point where the complexity that you can afford to have has also grown up. Most people want to be on the Internet which requires robust support for networking. You need a real OS for that. A lot of these factors have come together in the past year or so. There has been a lot of interest in embedded Linux as a result of that. Do you get a lot of developers from India? Not that many. I think one of the problems is infrastructure. Even if you have universities with lots of Linux work, it's quite hard. They may not have Internet access or very slow Internet access. I think they're also not used to this kind of collaboration over the Internet. They're probably kind of nervous. Any message for them that might motivate them? What motivates people, and it's certainly worked very well, is that there's going to be all these local issues where Indians want to do things that the American continent don't even care about. It's very motivational when someone in India finds a solution to a local problem and makes his own version of Linux that works for India. I don't think that anything I say will make a difference.
Other articles by Prakash Advani
Current Rating: [ 8.2 / 10 ]
Number of Times Rated: [ 25 ]
|