Slashdot Mirror


Cox on Torvalds and Linux Kernel Development

sebFlyte writes "Alan Cox' speech at FOSDEM sounds like it was interesting... according to this ZDNet report on it he has some interesting views. For one, he says: 'Linus is a good developer, but is a terrible engineer.' He also has a few digs at Torvald's methods surrounding security fixes, and some other interesting insights in the kernel development process: 'Sometimes you see a fix and think "this is perfect, move my fix into the kernel tree." Later you think, "I must have been drunk. Don't apply that patch."'"

37 of 323 comments (clear)

  1. Odd by Kip+Winger · · Score: 4, Insightful
    It's funny how petty squabbles between key developers could tear even what is now a major, corporation-funded project apart that millions of machines and companies depend on.

    I'm willing to be if such things continue, some entity, perhaps IBM, will set down their foot and use pressure put maintenance of the kernel project under the jackboot of a truly dictatorial manager, making Linux more an open source Cathedral than a bazaar.

    --
    - - - - - Fear not the reaper, but my shiny white teeth.
    1. Re:Odd by kaiser423 · · Score: 2, Insightful

      Um, how do you see IBM having more power than Linus? He created the thing, and people love him. IBM could start their own branch, but you'll still have Linus'.

      Anyone want to guess which branch would be more popular?

    2. Re:Odd by servognome · · Score: 5, Insightful

      Anyone want to guess which branch would be more popular?
      For the geeks... Linus, for the companies with money... IBM
      The money trail will probably end up deciding the winner.

      --
      D6 63 0D 70 89 81 BB 8E 7B 7C 5F 5D 54 EA AB 73
    3. Re:Odd by Soko · · Score: 4, Insightful

      I'm giving up mod points to try and dispell what seems to me a sensationalised headline.

      Alan Cox is not showing disrespect to Linus here, read the whole quote:

      "Linus is a good developer, but is a terrible engineer," said Cox. "I'm sure he would agree with that."

      Alan and Linus have been working together for a very long time, so I'm sure Linus wouldn't give this statement a second thought. Each must know they compliment the other and make the whole of the Linux kernel better - even if they have the odd disagreement - or the kernel would have been truly forked (no pun intended) a long time ago. As it is, they work together on patches and ideas. We don't have much to worry about, I think, since Linus' sense of who's a good dev and who fits into his team well is uncanny.

      Soko

      --
      "Depression is merely anger without enthusiasm." - Anonymous
    4. Re:Odd by Anonymous Coward · · Score: 4, Insightful
      squabbles? go read al viro's lkml posts.

      these folks flame and flame well. Similar fireworks seem to be an important hallmark of a healthy project.

      You are speaking, in ignorance, from the wrong orifice.

    5. Re:Odd by Abcd1234 · · Score: 4, Insightful

      Wow, someone hasn't grown up. Those who don't understand their own limitations, or get pissy when they're discussed/joked about in public, are nothing more than egotists and/or immature morons. Then again, I'm not surprised you wouldn't understand this, as the concept of humility is lost on a very large number of people in this world...

    6. Re:Odd by Anonymous Coward · · Score: 1, Insightful

      Err, what about Intel, Sony, Toshiba, HP, Sun, NEC, Fujitsu, SGI, RedHat, SUSE (Novell), Montavista, Dell, AMD, etc?

      I assume they're all developing on and investing in Linux because they like the openness and it is better than the alternative of being pushed around by the big guy... You think they'd queue up to start doing things IBM's way?

    7. Re:Odd by WindBourne · · Score: 2, Insightful

      First, this same shit occurs in any major corporation. Always has, and always will. Most of the development teams that I have been on, routinely have issues like this.

      2'nd, no corporation controls this. Not one of the companies out there will be jackbooting anybody. They may underfund (fire) a developer for inability to do what they want (there have been some great examples of this, but no sense dragging up shit). None of these companies have any direct say in what happens. As it is, they have to pretty much beg Linus to include their stuff if it is important to there future direction (think oracle). So this is the best bazar of all.

      3'rd, Do you really think that Alan was showing any disrespect? If so, then you really do not know alan and certainly do not read him. Alan is not a political creature. He says what is on his mind. If he was truely pissed at Linus, there would be words in the lists and it would be ALL OVER the rags. Many of these are waiting to do as much harm to Linux as they can (Pays top dollar, if you can make up for MS's screw-ups).

      --
      I prefer the "u" in honour as it seems to be missing these days.
    8. Re:Odd by Tony-A · · Score: 2, Insightful

      I'm willing to be if such things continue, some entity, perhaps IBM, will set down their foot and use pressure put maintenance of the kernel project under the jackboot of a truly dictatorial manager

      Not IBM if I'm right that IBM "gets it".

      It's funny how petty squabbles between key developers could tear even what is now a major, corporation-funded project apart that millions of machines and companies depend on.

      Balderdash. Some people enjoy a good argument. The louder the better.
      Of course it's fun to imagine the average PHB stuck in the middle of one.

  2. Linus is authoritarian? by weighn · · Score: 3, Insightful

    I'm not trolling, and am a little ignorant of kernel development - so bare with me, but surely Linus isn't the be-all-end-all overseer of what ends up in the kernel? Why target him exclusively?

    --
    Mongrel News all the news that fits and froths
  3. Odd-You thought you understood open source? by Anonymous Coward · · Score: 1, Insightful

    "I'm willing to be if such things continue, some entity, perhaps IBM, will set down their foot and use pressure put maintenance of the kernel project under the jackboot of a truly dictatorial manager, making Linux more an open source Cathedral than a bazaar."

    Say it with me...GPL.

    One more time...GPL.

    Got it? Good!

  4. Interesting take on Linus by Gopal.V · · Score: 4, Insightful

    "Linus has this bad habit of fixing security holes quietly," said Cox. "This is a bad idea as some people read all the kernel patches to find the security holes."

    I wouldn't advertise my mistakes either ... neither do the OpenBSD folks or any ego driven engineer :)

    The article paints Linus as the typical Flawed Hero of contemporary literature. He's good and yet he's not perfect - at least that's what comes out of it for me. (and no digs on BitKeeper .. hmmm..)

  5. Re:Engineer, programmer, developer, same thing by Kirby-meister · · Score: 2, Insightful

    Are they? I know some "programmers" who definitely do not practice "software engineering" all the time...the engineer who needs a quick tool to plug and chug some calculations isn't really going to care so much about code reuse as someone who's writing a word processor...

  6. ZD states.. by Creepy+Crawler · · Score: 4, Insightful

    That Linus is a person, and not a GOD as some people worship him as.

    Its actually pretty damned nice to see a bunch of people get together and make something as big as the Linux Kernel. Linus started it, but we all will finish it.

    Still, I fail to see how some bugs would be super-bad, as the article seems to say. Id rather have a crash bug, rather than a SUID change bug.. STill, not all security comes from the Kernel. Some security comes from network filter drivers, some com from the application, which many hackers target, and whatnot. Though, the kernel is a great place to attack if you have that guest acct and "want" root ;P

    --
  7. nothing new by sewagemaster · · Score: 5, Insightful

    the /. headline makes it looks like there's quite a bit of fued between cox and torvalds, which isnt really the case if you RTFM.

    different people have different working styles, no matter whether it's kernel coding, software apps, or ASIC designs. if either group/individuals are too giving to the other group, there can never be enough feedback/ constructive critisisms between them. having yes-men surrounding you isnt the best thing. and it's not like that they're arguing so much they've halted any soft of development progress.

    [offtopic]
    gives me an idea though, maybe when job interviewers start asking me those behavioural questions about "a time when you've had disagreements and a way of resolving them", there's no need to bring up something too dramatic.
    [/offtopic]

  8. let the market decide. by mckwant · · Score: 3, Insightful

    So fork the kernel. Unless I'm missing something, OSS is rife with opportunity to make something else happen. Lord knows, there are plenty of branches of the kernel that are available.

    If microkernel is the way to go, then write the code, and we'll see what happens in the OSS marketplace. I'm not going to say "best technology wins," as that's rarely been the case historically.

    There is, after all, a reason that the HURD hasn't taken over yet. I might well be missing something, as this isn't really my area.

    --
    ceci n'est pas un sig.
  9. Who cares about Linus anymore? by mnmn · · Score: 4, Insightful

    Linux has become much bigger than Linus now. The kernel alone has its parts maintained by other people, many of whose patches are applied without much checking to the main tree because they're 'responsible' for it, like certain architectures, driver trees etc.

    Apart from the name, Linus currently has the final say of what goes in. Thats just officially. In real life it seems far more is delegated to others for different parts of the kernel, and Linus is one of the developers, far from the most active, and not really exercising his right to block patches against the majority's will.

    --
    "Give orange me give eat orange me eat orange give me eat orange give me you." -Nim Chimpsky
    1. Re:Who cares about Linus anymore? by bonch · · Score: 4, Insightful

      "Who cares about Linus anymore?"

      Slashdot, apparently, since it usually posts an article on just about every mention of Linus, every minor activity, every little comment, and every little speculation. People glorify him as the guy who single-handedly wrote Linux, when Linux is really the work of thousands of developers who just send patches to him (and now other delegates too).

    2. Re:Who cares about Linus anymore? by nysus · · Score: 4, Insightful

      I'm interested in Linus for purely selfish reasons: I can learn from him. I learn from him even though I've barely looked at any Linux source code or do any programming in C or do any kind of low-level programming for that matter. But as someone who plays a small role on a small open source development project, it's fascinating for me to hear from a person who leads such a hugely successful project and the problems and obstacles he and other developers have to overcome to be successful. It helps me put perspective on my own work.

      That's not glorification, that's taking advantage of somebody else's insights and experience.

      --

      ---Technology will liberate us if it doesn't enslave us first.

    3. Re:Who cares about Linus anymore? by oconnorcjo · · Score: 3, Insightful
      when Linux is really the work of thousands of developers who just send patches to him (and now other delegates too).

      Every leader depends on the efforts of those working for them but that does not mean that great leaders are any less great. Linus LEADS. He is the "queen bee" and as such he makes sure the Linux kernel is a great piece of software though he does little "honey gathering" himself.

      --
      I miss the Karma Whores.
    4. Re:Who cares about Linus anymore? by michaeldot · · Score: 3, Insightful

      The more I learn about Linus from day to day, the more he sounds like a great human being with his priorities in the right place... "Other than software, I've been spending a few hours a week for the last month building a small playhouse for the kids in the backyard." A great role model for young geeks once they grow up.

    5. Re:Who cares about Linus anymore? by whitespacedout · · Score: 2, Insightful

      Linus LEADS. He is the "queen bee" and as such he makes sure the Linux kernel is a great piece of software though he does little "honey gathering" himself.

      Oh yes, and the developers are the flowers, and the grass is MS windows, and the users are the lamb, sheep and cattle that graze upon them, except for the non-MS users who are the cute little bunny rabbits hop-hop-hopping along, and meanwhile the kindly sun that beams down is the throbbing brain of coders that make it all work, while the gentle drizzle that patters down is the soft fall of money that runs off in to the rivulets of gadgets and geek toys, mixing with a light taint of the pesticide of RIAA and MPAA in the the babbling river Patent. And off in the distance the songbirds Stallman and Gates squabble their fight, heard by all but not really noticed, as the zephyr of human progress runs lightly through the pastoral scene.

    6. Re:Who cares about Linus anymore? by rewt66 · · Score: 2, Insightful

      I think his point was that geeks find it way too easy to get all wrapped up in their work, and forget about time with their family, which is ultimately more important. It can matter to have a geek like Linus, that many of us deeply respect, also show that balance, that he has a life outside the kernel.

      On their deathbed, nobody ever said, "I wish I had spent more time at the office..."

  10. Linus ballances bugs & features CORRECTLY by ron_ivi · · Score: 3, Insightful
    The article misses the fact that Microsoft and Linux may be successful BECAUSE they make the Right tradeoffs between bug fixes and features and time to market.

    from TFA: "Cox revealed that although Linus is good at developing code, he does not enjoy some of the other jobs that go along with software development such as bug fixing and beta testing."

    Note that Linus and Microsoft are both being accused of the same thing.... some purists are arguing that they don't focus enough on the bug fixing. The reality is, that no matter what focus you will NEVER have a bug free system. All software makes such feature/stability tradeoffs perhaps the most important challenge of any software project is balancing the tradeoffs of perfectionism vs. time-to-market of bleeding edge features that is best for their market. Other operating systems that do focus excessively on security for their "core" offering tend to fall behind in features (like the old mainframe software banks use, etc). Sure such software has its place; but it's not the mainstream market.

    Note that for the security consious customer, though, Red Hat and SuSE both have higher-security releases of their own (like the Common Criteria vesrions like this one; and releases like Debian Stable that also focus on security and bug fixes only. By people who don't understand that those releases are targeting a different market, those branches are often criticised for being filled with obsolete software.

    It doesn't have to be Linus's job to handle the most conservative customer's needs.

  11. Tabloid fluff by rafael_es_son · · Score: 4, Insightful

    The article is yet another clear piece of filler that pretends to build antagonism between two important figures of the kernel project. How does this stuff keep getting accepted by Slashdot?

    Is this the way Slashdot supports open source, fostering internal divides in exchange of ad eyeballs?

    --
    HAD
  12. Re:Yeah by jericho4.0 · · Score: 2, Insightful
    --
    "A language that doesn't affect the way you think about programming, is not worth knowing" - Alan Perlis
  13. Re:Question - balls in the air? by Abcd1234 · · Score: 4, Insightful

    The question I have is, is it still possible for these kernel gurus/hackers to effectively have the kernel and all its nuances inside their head, fully functional at a theoretical/experimental level? Or does development at this point consist of sub groups that are specialized and don't require a level of understanding to 'run the kernel in your head'?

    in short, it's the latter. However, keep in mind that, in a well designed system that's properly modularized, with neatly spec'd interfaces between components, it isn't always necessary for someone to have the entire picture, with all the nitty-gritty details, in their head. Instead, one need only grasp how the system operates at a high level, from a component-oriented standpoint, where each of the components themselves conforms to a particular contract.

    Put another way, while Linus may not understand how the driver for a particular digital camera works, he probably does understand the interface that driver exposes, and how that interface ties in with the rest of the system.

  14. Re:Also for your perusal by antime · · Score: 5, Insightful

    Heh, wonder why they cut out part of Linus' post quoted at the beginning? (The original post read "just a hobby, won't be big and professional like gnu".)

  15. Sign of a Strong Working Team by kmactane · · Score: 5, Insightful

    I'm sure everyone who doesn't bother to RTFA will now think, "Oh, no, Linus and Alan are bitching each other out in public." That's nothing like what's going on here. For one, the submitter quotes only half of one particular line from the article:

    "Linus is a good developer, but is a terrible engineer," said Cox. "I'm sure he would agree with that." [emphasis added]

    So it sounds like Alan and Linus have discussed this particular difference in their talents before, either over beers at a pub, or over email or something.

    Second, the article makes clear that part of what's going on is that Alan and Linus each have very different responsibilities in keeping Linux going, and so they necessarily focus on different things. Alan points out that as the dev tree maintainer, Linus is trying to keep the code maintainable, while Alan's trying to keep it stable.

    And both of these things are necessary. It sounds to me like rather than being "at loggerheads", or "ready to call off the working relationship", instead Linus and Alan are a very well-matched and complementary team, both of whom contribute enormously to Linux's success and quality.

    Each of them has strengths that make up for the other one's weaknesses, and it sounds like they have a good enough working relationship to give each other constructive criticism when needed.

  16. They both want a stable kernel by Anonymous Coward · · Score: 1, Insightful
    ... But to get a stable kernel you tend to do small horrible fixes. Linus is very keen to have maintainable code, while to have a stable kernel I'm keen to have code that works."
    "Maintainable code" is just a long-term strategy for a stable kernel. Those "small horrible fixes" might get Alan a stable kernel right now, but they'll hinder his efforts later on. Linus ensures the kernel can still be made stable in the future.
  17. Slight exaggeration? by antientropic · · Score: 4, Insightful

    The VFS is a better OO abstraction than anything you will ever come up with in your lifetime.

    Uh, what? The VFS is hardly a brilliant concept, but rather the sort of abstraction that any good designer will come up with. It's also not an original Linux invention (Sun OS has had it since 1985, I think). The kernel developers also seem to have a perpetual problem with defining an interface once and defining it well. It happened to me more than once that FUSE broke during a supposedly minor kernel upgrade. For all its virtues, the Linux kernel is hardly a case study in good software engineering.

  18. Re:Also for your perusal by ttys00 · · Score: 2, Insightful

    Frequently seen in kernel changelogs is something like this:

    torvalds@ppc970.osdl.org
    Linux 2.6.11-rc5


    The 'ppc970' has been there for a while now. I assume this is his PowerPC machine, which would indicate he's been running a Mac for some time.

  19. Maintainable? Stable? by Anonymous Coward · · Score: 3, Insightful

    "Linus is very keen to have maintainable code, while to have a stable kernel I'm keen to have code that works."

    And these things are mutually exclusive?

  20. Most nonsensical statement by Anonymous Coward · · Score: 1, Insightful

    But to get a stable kernel you tend to do small horrible fixes. Linus is very keen to have maintainable code, while to have a stable kernel I'm keen to have code that works.

    I have heard this argument used sooo many times to excuse sloppy coding in production environments. It is bullshit! There is no reason why maintainable code would not be stable. There is every reason to believe (backed by a lot of experience in production) that "small, horrible fixes" would be unstable!

    "One of the hard problems to fix are design errors," said Cox. "These are a pain because they need a lot of refactoring. Linus' approach is to re-write it to a better design."

    From this statement, I know who I'd rather have in charge of kernel development: Linus! There are times when the design shows basic flaws that should be fixed. The correct approach is to redesign and rewrite it NOT to pile fix upon fix on top of a flawed design.

    I think this article shows Cox in a bad light NOT Linus.

  21. Having read the fine article. by doorbender · · Score: 2, Insightful

    it sounds like Cox words were twisted a bit.

    I don't know because i'm not there BUT. it seems like AC is talking about people in general when he is talking about kernel bugs, not Linus approach.

    earlier in the article he does say they have different approaches. But the article on slashdot splices quotes together to appear to make controversy where none may exist.
    Here is the whole paragraph.

    These early issues can be easy to fix as they are often obvious bugs. "Early problems you get are normally very easy to fix," said Cox. "As soon as the release comes out bug reports say 'You've broken this'. Almost immediately you go, 'Whoops, that's my mistake'. Ten minutes later the fix is in the development tree."


    --
    "He's a real midnight golfer"
  22. Re:the BSD TCP/IP was exploited by MS by Ectospheno · · Score: 2, Insightful

    Microsoft openly exploited the BSD TCP/IP network stack because of the liberal BSD license, something the authors of FreeBSD have absolutely no problem with, and in fact encourage. As to whether this is strategicly wise of them or not, well, that is a flamefest reserved for typical GPL/BSD arguments.

    People who license their code under a BSD license don't mind people using their work. Its not like Microsoft using the BSD TCP/IP stack way back when caused it to diasppear from all of the BSD distributions on the planet. Its still there free for anyone to use. Microsoft using it doesn't change that.

    You can only "usurp" a piece of BSD licensed code by making it better than it was. If you make a better version then you deserve to be paid for your efforts. If people agree that yours is better then they will purchase your product. If they don't or think your price is to high then they can always use the orginal code that is still free and still available for anyone to use.

    BSD code only ever "goes away" when other people have made better versions (with or without the original code in question) and people migrate to the better code. Who really cares if some company takes BSD code and slaps their name on it? They'll have to make improvements in some way to get people to use their code over the free code that is still freely available.

    So the problem isn't that Microsoft "took" the BSD TCP/IP stack. The problem is that people keep giving Microsoft money for their crap products.

  23. One arch, PPC or x86, makes no difference, need 2+ by AHumbleOpinion · · Score: 2, Insightful

    The most probable reason for this might be code portability. If you force yourself to write code on a PPC machine then the odds are much better that you'll end up with portable code (as you already know a bazillion x86 users will be testing your code anyway.)

    No, using only a PPC does not really help you write portable code. It is pretty much the same as using only an x86. To write portable code you have to use more than one architecture during development. If you write on PPC and wait for x86 users to find problems you are not writing portable code, you are fixing the non-portable code that you wrote and distributed.