Slashdot Mirror


Torvalds: I Made Community-Building Mistakes With Linux

electronic convict writes In a Q&A at LinuxCon Europe, Linux creator Linus Torvalds — no stranger to strong language and blunt opinions — acknowledged a "metric sh*#load" of interpersonal mistakes that unnecessarily antagonized others within the Linux community. In response to Intel's Dirk Hohndel, who asked him which decision he regretted most over the past 23 years, Torvalds replied: "From a technical standpoint, no single decision has ever been that important... The problems tend to be around alienating users or developers and I'm pretty good at that. I use strong language. But again there's not a single instance I'd like to fix. There's a metric sh*#load of those." It's probably not a coincidence that Torvalds said this just a few weeks after critics like Lennart Poettering started drawing attention to the abusive nature of some commentary within the open-source community. Poettering explicitly called out Torvalds for some of his most intemperate remarks and described open source as "quite a sick place to be in." Still, Torvalds doesn't sound like he's about to start making an apology tour. "One of the reasons we have this culture of strong language, that admittedly many people find off-putting, is that when it comes to technical people with strong opinions and with a strong drive to do something technically superior, you end up having these opinions show up as sometimes pretty strong language," he said. "On the Internet, nobody can hear you being subtle."

6 of 387 comments (clear)

  1. Re:Society hypocrisy.... by x0ra · · Score: 4, Informative

    If you are referring to Linus' 'Guys, this is not a d*#@-sucking contest. If you want to parse PE binaries, go right ahead. If Red Hat wants to deep-throat Microsoft, that's *your* issue.' from http://linux-beta.slashdot.org..., then it is a fully technical criticize of Red Hat policy choices. I don't see anything personal in that. If you have any other quote, please provide information on their context.

  2. Re:O_DIRECT by Anonymous Coward · · Score: 5, Informative

    Way to go with the selective quote there, Ace. Here, let me be so kind as to include the footnote you left out of your quote:

    [*] In other words, it's an Oracleism.

    Let's also provide some context, shall we?

    Here's the entire message:

    Date Sat, 11 May 2002 11:04:45 -0700 (PDT)
    From Linus Torvalds
    Subject Re: O_DIRECT performance impact on 2.4.18 (was: Re: [PATCH] 2.5.14 IDE 56)

    On Fri, 10 May 2002, Gerrit Huizenga wrote:
    > In message , > : Li
    > nus Torvalds writes:
    > >
    > > For O_DIRECT to be a win, you need to make it asynchronous.
    >
    > O_DIRECT is especially useful for applications which maintain their
    > own cache, e.g. a database. And adding Async to it is an even bigger
    > bonus (another Oracleism we did in PTX).

    The thing that has always disturbed me about O_DIRECT is that the whole
    interface is just stupid, and was probably designed by a deranged monkey
    on some serious mind-controlling substances [*].

    It's simply not very pretty, and it doesn't perform very well either
    because of the bad interfaces (where synchronocity of read/write is part
    of it, but the inherent page-table-walking is another issue).

    I bet you could get _better_ performance more cleanly by splitting up the
    actual IO generation and the "user-space mapping" thing sanely. For
    example, if you want to do an O_DIRECT read into a buffer, there is no
    reason why it shouldn't be done in two phases:

      (1) readahead: allocate pages, and start the IO asynchronously
      (2) mmap the file with a MAP_UNCACHED flag, which causes read-faults to
              "steal" the page from the page cache and make it private to the
              mapping on page faults.

    If you split it up like that, you can do much more interesting things than
    O_DIRECT can do (ie the above is inherently asynchronous - we'll wait only
    for IO to complete when the page is actually faulted in).

    For O_DIRECT writes, you split it the other way around:

      (1) mmwrite() takes the pages in the memory area, and moves them into the
              page cache, removing the page from the page table (and only copies
              if existing pages already exist)
      (2) fdatasync_area(fd, offset, len)

    Again, the above is likely to be a lot more efficient _and_ can do things
    that O_DIRECT only dreams on.

    With my suggested _sane_ interface, I can do a noncached file copy that
    should be "perfect" even in the face of memory pressure by simply doing

            addr = mmap( .. MAP_UNCACHED .. src .. )
            mwrite(dst, addr, len);

    which does true zero-copy (and, since mwrite removes it from the page
    table anyway, you can actually avoid even the TLB overhead trivially: if
    mwrite notices that the page isn't mapped, it will just take it directly
    from the page cache).

    Sadly, database people don't seem to have any understanding of good taste,
    and various OS people end up usually just saying "Yes, Mr Oracle, I'll
    open up any orifice I have for your pleasure".

                            Linus

    [*] In other words, it's an Oracleism.

    Linus is good naturedly criticizing the interface as too database centric (Oraclesim). He's not calling out anyone, or maligning them.

  3. Re:The language in the old west by Anonymous Coward · · Score: 5, Informative

    Well why the fuck not?

  4. What you read has been cleaned up by dbIII · · Score: 4, Informative

    Get some older relatives to tell you some stories of when they were growing up without sanitising them and you'll learn how wrong you are. You've likely missed the boat for 1914, but I managed to talk to some relatives about it a few decades ago. What you read about days gone past has been cleaned up and is not an accurate indication of how people spoke, and we are furthur hampered by talkies corresponding with the rise of a moral crusade aimed at Hollywood which gives very distorted view of the 1930s etc from film and recordings.

  5. Re:Git is an example of Linus Torvalds at his wors by jareth-0205 · · Score: 3, Informative

    If we care about him, and we should, we must help him become more socially capable. For example, he could recognize when his anger is caused by not getting enough caring in childhood,

    Who the FLYING FUCK are you to determine that? What gives you the right to judge the way someone else goes about their interactions? To decide that they are in need of you help?

    This sort of bullshit moral superior armslength personal judgement makes me So Fucking Angry. You don't know him. You are not his therapist. You have no right to tell someone you do not know how they are in need of your help.