Linus on All Sorts of Stuff
Linux Times.Net writes "
Linus Torvalds
tells of some other programming venues than the Linux kernel, predicts a shadowy outcome for GNU/Hurd, gives some advice to anyone wanting to undertake a large software project and updates us on the latest in kernel development in this email interview by Preston St. Pierre. "
Does anyone here even use Hurd? How do you like it?
This is moments from being /.'ed to death...
;)
Article text
Linus Torvalds: ''Desktop Market has already started''
Preston St. Pierre of Linux Times interviews Linus Torvalds.
Linus Torvalds tells of some other programming venues than the Linux kernel, predicts a shadowy outcome for GNU/Hurd, gives some advice to anyone wanting to undertake a large software project and updates us on the latest in kernel development in this email interview by Preston St. Pierre.
Preston: Your life has been dedicated for quite some time to the Linux kernel. If this project was no longer yours, what kind of project would you most like to take on next (games, user applications, another kernel, development tools, etc)?
Linus Torvalds: I like being close to the hardware, and doing good visuals (ie games or GUI's) is not my forte, so I'd probably work on development tools or similar.
In fact, the only project I've actually spent some time on in the last year (apart from the kernel, of course) has been this source checker application that does some extended type-checking for the kernel. So very much a development tool.
Preston: What is your favorite interpreted programming language, and why?
Linus Torvalds: Heh. I don't much do interpreters. The only one I end up using consciously (ie not part of somebody else's scripts) end up being just the regular shell. It's not that I dislike things like perl/python, it's just that I tend to either just write C, or do _so_ simple things that shell works fine for me.
I might admit to having a soft spot for basic, but I haven't actually used it in closer to twenty years or so. But it was what I started with, so it will always be special
Preston: Do you have any advice for people starting to undertake large open source projects? What have you learned by managing the Linux kernel?
Linus Torvalds: Nobody should start to undertake a large project. You start with a small _trivial_ project, and you should never expect it to get large. If you do, you'll just overdesign and generally think it is more important than it likely is at that stage. Or worse, you might be scared away by the sheer size of the work you envision.
So start small, and think about the details. Don't think about some big picture and fancy design. If it doesn't solve some fairly immediate need, it's almost certainly over-designed. And don't expect people to jump in and help you. That's not how these things work. You need to get something half-way _useful_ first, and then others will say "hey, that _almost_ works for me", and they'll get involved in the project.
And if there is anything I've learnt from Linux, it's that projects have a life of their own, and you should _not_ try to enforce your "vision" too strongly on them. Most often you're wrong anyway, and if you're not flexible and willing to take input from others (and willing to change direction when it turned out your vision was flawed), you'll never get anything good done.
In other words, be willing to admit your mistakes, and don't expect to get anywhere big in any kind of short timeframe. I've been doing Linux for thirteen years, and I expect to do it for quite some time still. If I had _expected_ to do something that big, I'd never have started. It started out small and insignificant, and that's how I thought about it.
Preston: From a user's prospective, what improvements do you see the Linux kernel offering over Hurd? Do you think Hurd might eventually become as popular as Linux?
Linus Torvalds: I think Hurd is dead. See above on why. It has a "big vision", and people forgot about the details, and forgot about admitting when they went wrong. So the project stumbled, and _still_ didn't bother to look down on the ground. But hey, I might be wrong. I haven't actually followed Hurd in any detail, and maybe the project is more down-to-earth now, and more concerned about getting things working, and less about "design". And less
Shadowy outcome for HURD, who could have seen that one coming?
/^([Ss]ame [Bb]at (time, |channel.)){2}$/
Interesting point on the HURD. I hadn't thought of it that way before, but I discovered and used Linux in 1994 when I wanted a cheap or free way to learn Unix. I've followed the HURD off an on for the past couple of years because I think it's a neat idea with potential, but it has no immediate use to me besides geek appeal, and there are many other things with better utility and geek appeal to me.
(I still hope the HURD will be something someday.)
He's not a god or anything, but a very down-to-earth person when it comes to software and the linux kernal in general. He is absolutely correct on what happens to "big vision" software. Too many projects that started big have fizzled, and small applications that work tend to grow and morph into ground-shaking applications as they mature. Take web-browsers for example.
JMD
When all else fails, feel free to panic.
What's with all these so-called interviews which are basically a handful of random questions asked by an interviewer who seems to be doing his junior-high homework assignment? OSNews is bad enough... can't they ask anything interesting, or actually engage in a conversation about the subject? Linus has lots of interesting things to say, but unfortunately these folks can't think of what to ask.
The interviews in ACM Queue, particular the one with Jim Gray interviewed by David Patterson, was much much more intriguing.
Make up your mind. Is it ``immensely flexible'', or ``monolithic and slow-to-change''? I'm pretty sure it's not both.
As for ``too monolithic and slow-to-change to be easy to toss onto a new PC'', try Knoppix. It makes installing Debian easier than installing Windows.
See what I've been reading.
Heh, "provides some infrastructure" ??
Such a sweet deal would normally make one wonder...
Sure, Linus can't see into the future, but he can follow the blinking red arrows that industry is posting.
There are many reasons why Linux won't go to a "shadowy fate." It is largely deployed in the enterprise. There are thousands and thousands of people either directly developing on it or for it. There is millions of dollars being shoveled into it by the likes of IBM and Novel. If all these folks thought that Linux was headed for a shadowy fate any time soon, do you think they would waste their time and effort on it? Do you even read Slashdot? (:
It's not neccesarily just about open source vs closed source, it's about superior product in the market place. Open source is a partial factor, depending on your targeted demographic. I'm not sure how its immense flexibility is a bad thing, or how Linux is too slow to change, but it's true that all people may not be able to enjoy it. Even that is rapidly changing, with easy-to-use distros like Linspire, Ubuntu (or whatever), and Fedora.
More on usability: Because I am a technically-abled person, I prefer to use Linux on the desktop (home computer and work computer). When my laymen friends ask if they should install Linux, I shrug and ask them what's wrong with their Windows? I hope that I will be able to give them an enthusiastic yes within a year or two.
Okay, maybe HURD isn't where we all want it, that is -- on our desktops and running everything... BUT...
Lets not forget, HURD is FSF/GNU, and they've proven time and time again that they are presistant, don't rush to complete their vision, and go the extra distance on a lot of things.
If HURD achieves both the standards and the quality of forethought that all the other FSF/GNU code that has been released so far, then it will doubtlessly be a marvel of OS technology. It has a tall order to fill, though, and honestly -- it there's no rush to see it pushed into production, then I'd let the politics play themselves out. However, it *is* the goal of the FSF. How it finally winds up-- well-- I'm anticipating to see like everyone else, but I've become a believer in the FSF's patience, skills, and collective vision.
Maybe there is a war, but you can't kill something that's already dead. Or haven't you hurd?
In Linux, you may have to install fewer drivers, but the ones that you do have to install are difficult to do so with. This is what prevented me from making the switch to Linux a couple years ago: I couldn't get my wireless NIC running.
It's easy to say that I should buy hardware more carefully, or (as another poster said) it works on everything except "those shitty winprinters," but that avoids the problem. I need it to run on the hardware I've got already, or it becomes cheaper (and easier) for me to go buy a Windows upgrade.
I'm hardly a computer guru, but I'm definitely more competent than most people I know when it comes to them. Nonetheless, every time I've tried to switch to Linux (on average, once every year or two since '96), I've been put off by a piece of hardware I couldn't make work.
First it was sound, then it was printing, then it was a NIC, then it was a video card, then it was a wireless NIC.
*shrug*
I'm sure I could learn how to do it, but I already spend 50+ hours a week fighting with computers at work, I don't want to struggle when I get home.
Reality has a conservative bias: it conserves mass, energy, momentum...
It's only been what, like 15 years?
Who's kidding who?
The revolution will NOT be televised.
Articles that take more time to load than to read?
a man, a plan, a canal, panama
When my laymen friends ask if they should install Linux, I shrug and ask them what's wrong with their Windows?
Overwhelmingly, it seems to be adware/spyware, and the all the other stuff that people install intentionally or accidentally. Within a year or two, the average windows machine gets bloated with semi-removable crap.
The people I've moved over to linux have no problems using it. It's installing it, getting all of the hardware configured, and installing all of the strangely named multimedia software/codecs that is the tricky part. This all usually comes preinstalled on Windows, so it's an unfair comparison.
I am always sickened when I have to use a fresh Windows installation, and it comes without a DVD decoder, a CD burner, a decent text editor, a PDF reader, a popup blocker, an FTP client, or a graphics file converter - all stuff that comes standard with most linux distro, or that I can install (for free) with *one command*.
That's what's wrong with Windows.
Microkernel architecture is really hard to get right. If you get it right, microkernels are fast and stable, like VM for IBM mainframes and QNX. Both have long, long uptimes, run important systems, and are modified very seldom.
But most architects don't get it right. If you get it wrong, like Mach, no amount of patching will fix it. Because open source development has a "patch" mentality, it's almost impossible to fix fundamental architectural problems in an open source project.
The HURD people finally dumped Mach and went to L4, which is a half-finished academic microkernel. That's not working either.
I'd like to see a high-security microkernel OS in widespread use, but the HURD guys aren't going to deliver it. And we really need one.
There is a lot of truth to this. But if you look at the list of things you're giving (sound, printer, ethernet, video, wireless) you'll notice they're getting increasingly 'modern'. Within a year you will likely find wireless works perfectly (it already does for many devices, though my atmel wlan requires a (GPLed) driver not included in the kernel).
But that's not to say your comment won't be applicable in a year, you'll just have to say 'bluetooth' instead of wireless, or whatever the hot new technology of 2005 is. My feeling is that for most people, linux will 'just work' first time now. This was less true two years ago, and it will be even more true in two years time.
Nonetheless, the hardware support of even the latest Linux distributions is inferior to that of Windows or even Mac OS X
I call shenanigans on this. The last count I saw showed that Red Hat FC2 has more than 3 times as many drivers as Windows XP out of the box, assuming that you only count Intel-compatible platforms (if you count all platforms, Linux has an even wider edge).
E.g. my scanner and TV capture card are both supported out of the box under FC2 and not supported at all under XP. The scanner came with Win95 drivers, but no newer ones are available for Win32 and the old ones don't work with Win2k and later. I can't remember exactly which Windows version broke support for the capture card. I have no intention of buying a new scanner when mine is a great workhorse oversized flatbed with true 1200x1200 resolution that still outperforms the modern cheapo models handily.
And while my wireless LAN card is theoretically supported under Windows, it locks up every 10 minutes when WPA encryption is enabled (WEP is forbidden in our environment for security reasons) but runs for weeks with no problems under Linux--and Linux supports advanced features like running it in host AP mode (as a basestation).
Windows has better support in some areas--brand new 3D graphics cards is one, new winprinters and winmodems are others--but as far as overall hardware support Linux is way ahead.
rage, rage against the dying of the light
Listen,
:-)
I give mad props to RMS for the legal hack of the copyleft, and when the chips are counted he'll probably be given saint-hood by several developing countries, but I don't get the impression it'd be fun to work with him. And at the end of the day (and especially in the middle) that's mostly what you need to get through a large complex project.
I could be wrong, I've never met him. But I've got a short fuse on dogma. To get a thing done, at some point you just have to do it.
On the good side, open source says "less defects because we didn't rush it", but there's that other side that says to ship something shoot the engineer. There's a point to that too.
The revolution will NOT be televised.
Which would put it on a par with how useful the Linux kernel was when it was young. It wasn't useful unless one was extremely technical, and even then it lacked a lot of hardware support and one couldn't do a lot of commonly useful things with it. In time, the HURD can mature and become competitive. This doesn't mean GNU/Linux is a piece of cake for jobs people want to do.
But what I find interesting is Torvalds' answer to the question following his HURD answer:
Here, unlike in previous questions, I think Torvalds uses the word "Linux" to mean a complete operating system in which the Linux kernel is being used (typically, a GNU/Linux system), so I'll interpret the answer in that vein.
The main point I wanted to draw out is that it took ten years, by Torvalds' estimate, to get where things are now. I'd argue that that estimate is wrong by half (the free software community began 20 years ago), but even if we take the ten year figure at face value, the HURD hasn't been running on anyone's machine for ten years yet. And even now there are people (such as a fellow I had on my radio show last week who was addressing a caller saying the same thing) saying that the modern GNU/Linux system is too hard to use, too complex to install and to complex to do some jobs with when compared against Microsoft Windows or MacOS X. Those jobs include:
All of these jobs are possible but way more difficult to simply do than they ought to be. And few (if any) distributions make it easy to do these things by including the free software packages available to make them work right out of the box.
Configuration is too hard; getting these things working rely on one's skill with a command line interface or editing technical configuration files. ESR's printer essay was right on the mark when it came to his perspective on hooking up a printer--adding a printer should be automatic and the system should do more network scanning and autoconfiguration to suit what most people most of the time will want.
So, even for those who would complain the GNU/HURD system is too far out of reach, I'd say look closer to home and see the problems that exist for GNU/Linux. GNU/Linux is a heck of a lot closer to what I think people yearn for, but that's no reason to trash GNU/HURD.
Digital Citizen