Slashdot Mirror


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. "

24 of 339 comments (clear)

  1. Hurd by abrink · · Score: 5, Interesting

    Does anyone here even use Hurd? How do you like it?

    1. Re:Hurd by micromoog · · Score: 4, Interesting

      There was a time when I thought Ogg Vorbis held the title of "worst name ever". Then I read about the Hurd's name.

    2. Re:Hurd by johnnyb · · Score: 4, Interesting

      Of course, w/ a 64-bit processor that's not a terrible idea.

    3. Re:Hurd by ComaVN · · Score: 5, Interesting

      Damn, that faq page is the funniest thing I've seen all day.

      Some quotes:

      The Hurd throws this historical garbage away. We think that we have found a more flexible solution called shadow filesystems. Unfortunately, support for shadowed filesystems is not yet implemented.

      Eh? throw the (working) garbage away before the new solution is implemented?

      You are using IRQ sharing; GNU Mach does not support this in the least.

      Yeah, because that's such an uncommon thing for hardware to use.

      GNU Mach does not support loadable kernel modules. Therefore, you will have to compile a new kernel and only activate those device drivers that you actually need.

      So much for a microkernel then.

      The Hurd will just as happily swap to any other raw disk space and overwrite anything it finds. So, be careful!

      Thanks for the warning. That will make me want to install it on my machine.

      This FAQ document was probably secretly written by Linus Torvalds to ridicule it, and promote his own views on software development.

      --
      Be wary of any facts that confirm your opinion.
    4. Re:Hurd by SillyNickName4me · · Score: 2, Interesting

      Yeah... came to the same conclusion after reading through their docs. It would be progress, but not somethign I'd be able to undertake on my own I'm afraid.

      Ah well, I like the technical ideas behind it, too bad it seems kinda stuck in this 'not far enough to be really usable, and hence not attracting enough people to get further' issue.

  2. the HURD by MyHair · · Score: 4, Interesting

    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.)

  3. hmm.. by Anonymous Coward · · Score: 3, Interesting

    "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

  4. Re:Linus isn't really one to talk. by Anonymous Coward · · Score: 0, Interesting

    HAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHA!

    OMG man you are funny....

    the hardware support of even the latest Linux distributions is inferior to that of Windows or even Mac OS X

    funny how there are more drivers for linux than there are for windows XP. and I can run Linux on more processors and different system types than every other Operating system ever made put together.

    the world of linux is not the silly "home user" demographic you seem to be obsessed with. It runs on almost everything, including hardware without MMU's or Floating Point Processors. I can run linux of Big IBM iron to a pocket device....

    something that is 100% impossible with microsoft and OSX combined.

    linux supports much more hardware than windows could ever dream of.

    Just because it does not support a crappy $9.00 webcam you bought on a whim means nothing.

  5. Words of Wisdom by jasoncc · · Score: 5, Interesting
    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.
    These are truly words of wisdom! Take note, young software engineer!
    1. Re:Words of Wisdom by Tony-A · · Score: 3, Interesting

      I don't buy it. And perhaps it's because I fall into the young category and might be lacking the "real world" experience.

      Not so much young as that what you can see and think scales linearly while the hidden complexities tend to scale exponentially.
      The devil is in the details and as noted elsewhere "The biggest problem I see with large scale projects that fail is they get bogged down in minutae." It's not just the complexity of the final product, you have to deal with all the complexities all along the path toward creating that final product and most important choosing which path at each fork in the road.

      There's a reason the captian of the ship pilots from the bridge, where he can see what's in front of him. Linus seems to want to pilot his ship from the engine room.

      Sounds good until you get grounded on a submerged reef.
      It's even more fun in uncharted waters.

      Wisecrack from a master sculptor. "I just removed the parts that weren't David."
      At a particular level that is exactly what happens. Linus is right when he says "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."

    2. Re:Words of Wisdom by umoto · · Score: 2, Interesting

      I agree with the spirit of what you're saying. Reuse is progress. However, except when the reusable bits are obvious, it is cumbersome and risky to try to write code for a specific project and simultaneously make it reusable for other projects. Premature generalization is a subtle enemy.

      The 3D engine is a great example. Let's say you're a game company creating two 3D games at once. One game is a board game with a few 3D animations, the other is an immersive 3D experience. Do you develop an engine capable of handling both scenarios before you start work on either game? The board game might need nothing but OpenGL. The 3D engine would probably only be complicated by that scenario. Recognize that the only relevant reuse is already done (since OpenGL is common to both) and ship the board game early by not using your engine.

      Modularity is the key principle of OO design, but the true benefit of modularity is not reuse. Modularity enables you to make complex things simpler. If your 3D game has a networked multiplayer mode, you should modularize the networking so that you don't have to think about networking while you're working on other things. That doesn't mean you should create a network layer that's compatible with other games! Just make a layer that removes details from your focus. Discover reusable bits later.

  6. Re:Linus isn't really one to talk. by Reducer2001 · · Score: 3, Interesting
    You make a mostly good point. I bet your hardware runs a lot better/faster on Windows than Linux. Once the hardware manufacturer's start having Linux guys in-house contributing the kernel, then that will be a lot better.

    This whole comment sounded a lot better in my head.

    --
    When you get to hell -- tell 'em Itchy sent ya!
  7. Re:Linus isn't really one to talk. by Jeff+DeMaagd · · Score: 2, Interesting

    I can run Linux on more processors and different system types than every other Operating system ever made put together.

    You can, but do you?

    You have a point but in the realm of a desktop PC, the fact that you can run Linux on a bunch of different architectures is meaningless, especially when a lot of software is difficult to compile because short-sighted developers code them to compile and work on x86.

    What was being taken out of context here (desktop PC is the context, not servers or embedded devices) is that being able to run any WLAN card in a linux box is incredibly sketchy. The same goes for graphics cards. The ability to take a piece of hardware from a chain store and be able to use it is the context.

    Installation support needs to be improved too. The days where a different package needs to be made for each major distribution and revision should have been gone a few years ago.


    Just because it does not support a crappy $9.00 webcam you bought on a whim means nothing.


    Just because you don't care doesn't mean it is an irrelevant point. Maybe you don't care if Linux becomes a mainstream desktop, not all Linux users want it. If you do, the ability of a typical user to run on existing, paid-for hardware is of critical importance for it to take off. No one is going to dump Windows if they find they have to replace several pieces of hardware to do what they want to do.

  8. the kernel is so far from mature, sigh by Anonymous Coward · · Score: 3, Interesting

    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.

  9. Re:I've always liked Linus... by Yaztromo · · Score: 4, Interesting
    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.

    A quick search of the web -- or heck, just SourceForge -- will show a plethora of projects that "started small" which have also completely fizzled.

    There is nothing wrong with thinking big when starting a project - there are some types of project that simply can't be done on a small scale. Mozilla is pretty damned big, for example, and while it started off with Netscape source code, much of it was discarded. Eclipse is likewise a big project.

    The key to doing a big project is you have to really put your nose to the grindstone and work your butt off to get something online in a reasonable timeframe. The biggest problem I see with large scale projects that fail is they get bogged down in minutae, which slows down their release cycles so much that they don't achieve any developer or user attention. We all forget with Firefox 1.0 imminent how the press used to claim that the Mozilla project has failed a few years back because it had taken them a few years from the time Netscape Open Sourced their browser code, to the point where it was usuable. And yet now we're celebrating the release of a world-class Open Source browser.

    That's a big project which didn't start off small which is going to be a rousing success. Yes, projects which fail to gain traction because of lofty ideas and infrequent releases to tend to fail in the long run. However, there are an order of magnitude more small projects which similarily fail. The only difference between the two is we tend to hear about the "big" ones, but nobody cares one whit about the tens of thousands of small projects which come and go.

    Yaz.

  10. The HURD problem by Animats · · Score: 4, Interesting
    I've been really disappointed with the HURD guys.

    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.

    1. Re:The HURD problem by evilviper · · Score: 4, Interesting
      Why do we really need one?

      Far more reliable, and secure.

      Even a "kernel" bug isn't a root exploit. You can have highly secure systems by just finely tuning the level of privlidge you want to give a process. Even if there's an exploit, you can't break-in. Basically, nothing runs as "root". Think ultra-finely-tuned jails, automatically, for everything.

      Even the most low-level drivers malfunctioning doesn't cause a crash or a reboot. If any of your drivers has a problem, crashes, corrupts memory, etc, it's contained to just that driver, and it will be stopped, and restarted, without your even knowing about it.

      A microkernel can really wipe the floor with a monolitic kernel. QNX really makes Linux look fragile. For a better example, look at OpenVMS. Even after all these years, it's still got an unbelievable reputation.

      You know why even computer experts wouldn't trust their lives to computer-controlled systems? Because they've never used a microkernel-based system.

      No monolitic version of Linux/BSD is ever going to be able to replace a microkernel-based system.
      --
      Slashdot gets worse every day... Pipedot: News for nerds, without the corporate slant
  11. Re:FSF doesn't rush anything, so chill. :) by Brandybuck · · Score: 2, Interesting

    It's been TWENTY YEARS since they started working on a GNU kernel. As even RMS admits, they picked the wrong design for a kernel, but as he won't admit, they're too stubborn to change it.

    --
    Don't blame me, I didn't vote for either of them!
  12. Re:Linus isn't really one to talk. by DA-MAN · · Score: 2, Interesting

    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.

    This is so true in most cases. To this day it surprises me how the intel 10/100 card requires dozens of drivers on windows from model to model on Windows, but only the e100.o on Linux. Sometimes there is no interest or not enough information to create a Linux driver, such as with the 802.11g drivers. The ndiswrapper is a neat hack, but is very limited and unusable on amd64.

    The only option left is to wait for a company to step up to the plate and write a driver from the start. This is why all my 802.11g cards are running Ralink chipsets, because they have a Linux driver.

    --
    Can I get an eye poke?
    Dog House Forum
  13. Re:I've always liked Linus... by gregmac · · Score: 2, Interesting
    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.

    I think it depends on what angle you look at it from. Looking at this from the commerical development side (worked on by many people in one location, not necessarily proprietary), as opposed to the open source (many people, many locations) distributed development side, I've done far too many "small" web applications that get big.

    Originally, they are there to fufill a specific task, and then a month later, when we're still working on it and adding functionality, we find we have to rewrite most of it from scratch because the foundation we designed initially is not flexible enough to support a large application (ie, not putting effort in to make it modular, since it has one task and thus one 'module').

    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.

    I agree that you can overdesign, from what I've seen most overdesigning tends to be because of management issues and not coding. A friend of mine is working on a course management project for a university, and it expanded and added a bunch of scheduling functions and mail etc support (partly because it HAD to have that). It turns out there was another group at the university that has been working on a very similar project (except it's specifically the scheduling part, and a couple other things). They found out what he was doing and it caused a big uproar - because they've been working on it for two years or something, and while they have a fair chunk of code, none of it works and it's still a year off from even being complete. My friend's not even been working there for a year yet, and his entire system is already on-line and in production use. The biggest difference is their team has one coder (who is a freelancer outsourced from the US somewhere) and like 4 management people making design decisions, while on his side it's him coding and desiging most of it, with a bit of input from the faculty.

    They both basically have the same architecture - his system is easy to expand - but theirs is overdesigned in the sense that too many people have their fingers in it and it takes forever to get anything done.

    It's a similar issue with being "scared away" by the size. You can't work on a big project, you HAVE to break it down into smaller sub-tasks and pieces. Then it becomes a lot more manageable, and as long as you concentrate on one thing at a time, you should be ok.

    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.

    I somewhat disagree with this. This logic leads to cutting corners because you can get away with it. For example, maybe you hardcode something because it's easier than writing some stuff to handle reading it from a config file or whatever. That sort of decision can make a LOT more work later on in development when the program gets bigger and you need to have a config file to change things - now you have to write the config handler anyways, plus go through and find all the places something got hardcoded. Much easier to miss something that way, and end up chasing it down later when it gets filed as a bug report.

    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.

    This is absol

    --
    Speak before you think
  14. Re:GNU/HURD by Z4rd0Z · · Score: 2, Interesting

    ...doom and gloom for Hurd...has yet to happen and it's not going to.

    More like Hurd has yet to happen and it's not going to. The doom and gloom already happened a long time ago. Sure, they've got a few developers and hangers-on, I even ran it a few times about 3 or 4 years ago. But every time I check in on it, it hasn't progressed a whole lot, they're just catching up to some minimum level of usability that Linux/BSD has had for years. What's the use of all the "advanced" features if they don't actually advance anything?

    --
    You had me at "dicks fuck assholes".
  15. OT: Does anyone else see a parallel? by TeckWrek · · Score: 2, Interesting

    For the question
    "Do you have any advice for people starting to undertake large open source projects? What have you learned by managing the Linux kernel? ",
    as I was reading the reply...
    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.
    for some reason I was mentally comparing it to the stand that the Bush administration has taken in the "war on terror" and the "desire to spread liberty". I could not help but think, that here is the exact reason why it is flagging and possibly destined for eventual failure.

  16. yeah yeah, but by bobalu · · Score: 4, Interesting

    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.
  17. Mach is not that bad by MemoryDragon · · Score: 2, Interesting

    Examples for systems using Mach are MacOSX and IBMs AIX....
    Mach used to be bad around 1990 but the things have been patched up ;-)