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."
That's going in my quotes file.
Moderating "-1, Disagree" is simple censorship. Have the guts to post your opinion.
Linus does not claim victimhood and speaks with humility. Can you think of how this sets him apart from another noted developer?
Also doesn't charge ahead with full-bore stupid against half the user and developer base's advice.
At the end of the day, he created and manages the largest open source project ever. More than 20 years on, it is still going strong. I am not about to find faults with his management style. People have been free to fork it and run with it. Nobody has done that. Perhaps a little bit of screaming every now and then is needed for this job.
He gave us Linux and he gave us git. Maybe we should stop nitpicking and say thank you for once.
"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."
Excuses, excuses. One can easily be heard and still be professional if he wants to. Linux alone is so cool and influential that the leader of the project will certainly get noticed even without peppering everything with insults and cursing.
I think there's a difference between using strong language on a person who demonstrably done something you don't agree with, versus death threats, continuous abuse, stalking or directing said vitriol against large groups people only related by race, gender, etc.
The wild west had a lot of advantages over "civilization", you did not have to suffer fools.
I hope it's not just me, I don't really have a problem with the strong language or pointed critique. Linus only really employs it for smart people who should know better, and will actually engage in conversation, and he's typically constructive. And funny.
The asshats are the people like Pottering, GNOME, and certain figures editing the HTML spec who don't give a damn about users, authors, and/or developers. The people who can't possibly imagine any use-case outside themselves or their company.
They're the maintainers in Open Source who close your bug reports without any questions because they can't imagine how your use case could possibly be relevant to them. Come on guys, at least ask a question if you don't understand the bug report/feature request.
Wonder what the public key field is for?
I thought metric for shitload was fecogram.
As a software developer, frankly I'd rather deal with Linus or someone like him than most of the management I've had to deal with at my jobs. At least with Linus you know exactly where he stands and exactly where you stand with him, and why. When he calls something "stupid", he's usually very clear about his reasons for thinking it's stupid. I can deal with that. I can argue my position with him because I know what his position and his reasoning is. And he won't take my arguing with him personally, or even particularly badly as long as I can trot out facts and hard numbers to back up my positions and counter his. Better that than management that won't tell you what they want, won't say what they mean and try to deny their own decisions in the face of copies of their own e-mails and memos.
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.
Linus uses death threats?
Oh, you should hear the way he talks to a slow compiler...
You have the right to remain sentient. If you give up the right to remain sentient, you will be elected to public office
Well why the fuck not?
Megalomania. Poettering wants Poetterix, and since he cannot be the lead kernel person, he tries to make some kind of "wrapper" around the kernel with systemd. That person is possibly the worst that could have happened to Linux.
Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.