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}$/
Linus takes on approach, the BSDs take another. I think there's a place for both in thr world, and that the BSD's is the approach for saner, safer integration of technology. Linux, which takes a faster approach, is where the actual technology comes from but oftentimes in an untested manner.
BLING BLING. Meet the architecture that's changing everything.
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.
The article doesnt even mention the devices that run Linus... what a let-down.
I, for one, would have welcome our new Linus-run overlord stuff.
^_^
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.
"Preston: What's the latest happening in the kernel development?
Linus Torvalds: Oh, it's been more of the same. Worrying about drivers, fixing interfaces to make it harder to write bugs by mistake, and just keeping up with new hardware and new ideas. The kernel is definitely maturing in the sense that a lot of the exciting really _new_ things are all in user space, and the kernel is sometimes called upon to make them easier to work with..."
Let's stay at the word "maturing". I'm more interested in opinions from.. mature programmers. Is there a point that when it's reached - in the case of the linux kernel in about say.. 10 years - then software is only touched for fixing minor bugs? Or is the hardware/marketing/rest software world changing in a way that something can never ever be called mature but only 'for the time being'?
-someone
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.
This whole comment sounded a lot better in my head.
When you get to hell -- tell 'em Itchy sent ya!
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.
The kernel is mature he thinks. Everyone he works with agrees with him. Such a failure of imagination....
I think this is the difference between researcher/architect types and coders.
To a researcher, there is so much that needs to be done to enhance the kernel that
the problem is picking one thing to focus on.
To coders, ok, Linux now does everything that Unix did 5 years ago, what more can be done?
The coders were needed back when there was no free version of Unix. Now that there is one, some of these old guys (30 something and managing to be over the hill, CS is a great field....) need to step aside and let the researchers take the lead.
The sad thing is that of course they won't. They'll just keep right on copying plan 9 and everything else 5 years old, and probably do well in the market, sigh.
The problem with HURD is that their fundamental design is performance ineffective. Having a grand vision is not the problem, having a mistaken vision is.
It would be nice if BSD came back to life.... that was researcher driven, and they did a lot to advance the state of the art.
He is a nice guy though.
Gag Halfrunt...
Donald 'Duck' Dunn: We had a band powerful enough to turn goat piss into gasoline.
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.
I'd have to disagree with this one too. When you buy a piece of hardware for windows, the driver was written under incredible time pressure -- remember the difference between financial success and failure for a product is measured in weeks, so the driver just cannot be late.
By comparison, shortly after the device comes out a reverse-engineered driver will be available for linux. It will be clunky and hard to install, slower, more buggy, etc. Later versions will fix the bugs, then fix the efficiency, then fix the installation issues, then tie in with hardware autodetection. Soon enough, the linux drivers exceed the windows ones.
So, if you get your hardware the moment it is released to the public, you will probably find the windows drivers better. If you wait until things become affordable then you're probably going to find linux drivers at least as good.
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.
Its great. I'm only running it because its the first platform that Duke Nukem Forever will run on.
What's wrong with Linux is it doesn't come with *A* DVD decoder, *A* CD burner, *A* decent text editor, *A* PDF reader, *A* popup blocker, *AN* FTP client, or *A* graphics file converter. It comes with at least a half-dozen of each that have differing feature sets and no clear direction of which one is "optimal" for the new user to start with.
Linux needs to focus on progressive discoverability - Only expose as much of the interface, programs, and power as necessary. Keep it all in reserve for people who want it, but don't constantly throw it and the millions of settings right in a new user's face.
I don't know what kind of crack I was on, but I suspect it was decaf.
- Any performance improvement you get from having a highly-optimized driver is typically swallowed up by the general inefficiency of Windows itself.
- While the hardware vendor's coders may know their hardware, they don't (and CAN'T, due to it's closed nature) know the Windows internals and how their code will interact with Windows, hence the need for Microsoft to certify the drivers. IME, A *HUGE* number of BSOD errors (perhaps even the majority) are due to misbehaving or buggy vendor-supplied drivers.
The only place Linux falls behind is support for bleeding-edge hardware. This generally isn't a problem for me as I rarely if ever buy leading edge hardware due to it's lousy price/performance ratio. One or two steps back from top-of-the-line usually gives you >90% of the performance for 50% of the price.Why is it that the proponents of "one nation under God" are so eager to get rid of "liberty and justice for all"?
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