Interview: Linus Torvalds – I don't read code any more
h-online.com
h-online.com
tl;dr:
Linus doesn't read kernel patches anymore, because subsytem maintainers do and just send him a summary. He's been working with them for about 10 years, so he trusts them. Most of his work on the kernel is sorting out arguments, and making sure things go to the right person.
First of all, it's a direct quote from the article. Second, I think some people (like you) object to any attention-grabbing headline, for no reason at all. It was a good article, and that was a good quote to use to get people to click and read.
I can't even imagine how terrible Hacker News would be if all the titles were like what one of the people who responded to your comment said:
"How I learned to delegate and realise people were part of the asernal of tools available at my command prompt"
This is a drab, dull, and terrible headline.
I think that's unfair. If an attention grabbing headline is deceptive but leads to a good article, it's still deceptive.
That is why it is deceptive.
Now, of course you could say that you should read the article and then you would not be left with the wrong impression... but I think few people read the articles of every headline that they see. Nor should they be expected to, our time is all valuable, we can't all do HN 24/7. Certainly you should always read the article before commenting, but as it stands this headline is deceptive to people who plan on doing neither.
Nor is it reasonable to expect people to not take away impressions from headlines that they don't plan on investigating further. Even if you decided to do that, it would be near impossible to prevent yourself from making unconscious associations.
Headlines should be short, more or less informative, but never deceptive. "Massive PHP bug ...that I almost let through code-review" and "Massive PHP bug" could both be headlines to the same article, but one is deceptive. Unfortunately, it is also the one that is likely to get more hits... Readers who do not particularly find PHP of interest will skip reading either, but the second headline will also (unjustly) form/strengthen a negative association they have with PHP.
No, it doesn't. I read the title, then I read the entire article, and at the end, I was left with the understanding that Linus Torvalds no longer reads the code for kernel patches, which was exactly what I expected from the title.
The only people who might possibly be confused by the title are people who try to be hyper-literal and pedantic, but those are the same people who would see a quote that says "I don't read" and assume it means the person quoted is illiterate. That kind of thing is a reader-specific problem, and not a problem with the quote.
>"!?! ...something seems off, I better check the comments for quick clarification"
I then went to the comments, found (as the top comment) a clear clarification, and upvoted it.
Now, that initial "!?!", roughly described as a combination of apprehension and alarm, was not the product of hyper-literalism. Rather it was the product of the headline text and several fuzzy associations I have formed over the years, conscious and otherwise. A quick sampling of some of the prominent conscious associations, translated to english, could be "HN loves when Linus says crazy things", "Linus doesn't write code, he manages and merges.", and "News means something has changed".
Had I been less interested in the topic of "Linus says things", I would have left it at that and moved onto another article.
I think I would describe the notion "It cannot be deceptive because it is a quote and true" as the real hyper-literalism. Truth and deception are not mutually exclusive by any means.
As for you thinking he's suggesting something outlandish, I don't see him suggesting anything. The quote is a statement about something he does.
Not really... Not from what I already perceived it.
> I don't see him suggesting anything
Um, I am not suggesting that he is?
What are you trying to get at here? Do you think I am lying when I say I felt deceived? I don't doubt you when you say you didn't feel deceived.. both are legitimate experiences.
What did/do you perceive his role to be? He manages and he doesn't read code, exactly what the headline says.
> Um, I am not suggesting that he is?
Then I have no idea what you mean when you said "or that he was suggesting something somewhat outlandish".
> What are you trying to get at here? Do you think I am lying when I say I felt deceived? I don't doubt you when you say you didn't feel deceived.. both are legitimate experiences.
I'm just trying to understand what you felt deceived about. If you felt deceived, then you felt deceived, and I'm not disputing that. I just don't understand why you felt deceived.
Certainly different people can have different take-aways from the same content. Yours is no less legitimate than mine, but I can only speak to my own.
The quality of a headline has nothing to do with attention-grabbiness; it's a good headline if I can read it and know whether I'm interested in the contents. To optimize for attention-grabbiness over helpfulness is to defect in the HN posting game.
"How I learned to delegate and realise people were part of the asernal of tools available at my command prompt"
tl;dr for your tl;dr:
Linus Torvalds is, in fact, a good manager.
> Now people are taking adding a USB device for granted, but realistically that did not use to be the case. That whole being able to hotplug devices, we've had all these fundamental infrastructure changes that we've had to keep up with.
Did anyone else notice this? In the last ~5 years, half a decade, we went from every major OS crashing on hot swaps or usb plugins or not recognizing devices or other crippling issues on hot swapping almost any hardware, to being able to swap out everything including memory and CPUs without major kernel panics on most mature platforms.
That is really amazing tech, and in this era of touch phones and web apps, we are still having huge leaps at the lowest levels of usability.
> being able to swap out everything including memory and CPUs without major kernel panics on most mature platforms
Are we really at that point? I know you can swap USB devices and even hard disks, but I thought that unplugging almost anything inside the computer would lock it up?
My new Proliants can hot plug memory, disk controllers, disk drives but definitely not the CPU (offline, yes). vSphere has the capability to hot add vCPUs and memory. As far as I know swapping out CPUs in a running system is still uncommon.
I won't make any comment about how common they are, one way or another.
IBM has made some amazing tech over the years.
This has been true on pretty much every release of OS X Lion 10.7. Every two-three months I drop in a new driver from the FTDI site, and upgrade to a new patch of Lion - but both devices continue to sporadically black-screen me.
Every time I pull out a USB cable/Plug it it it's like I'm rolling dice.
The FTDI drivers on Windows XP are pretty mature (I've never had a crash on that platform), and I think they're built into recent releases of the Linux kernel - and I've heard no complaints there (or experienced them myself)- so, perhaps this is actually proving your point somewhat.
We still have a ways to go before we experience 5 9s reliability on USB Hot Plug though...
No problems on Windows, and yes, the ftdi_sio module has been a part of the Linux source tree for quite some time (even OpenBSD has an FTDI driver).
Is that the HM65 chipset in that notebook? I have a Ivy Bridge CPU on the HM77 chipset and I had initially some problems with the scaling not working correctly but after a few reboots cpupower has worked without ever having a problem anymore...
There are still a lot of weird bugs for example i915.rc6=1 would produce the problem with the GPU not even entering the (lower) power states that the default settings would.
What custom filesystem is he referring to? Does anyone know?
I felt kind of ripped off too when I got to that part. Again, it betrays the trust of Linus, who gave his time to do the interview, and the reader, who gave of their time to read it.
Harsh, perhaps (a function of his brutal honesty). But, I don't think you would find more than 1 out of 10 people who would agree with you that he's selfish. He did license the linux kernel via the GPL, and, he's dedicated pretty much his entire software to writing software that you can freely copy, modify, and distribute.
There's a very large difference between Linus's definition of "Selfish" (Which is basically people scratching their own itch, serving their own need) - and societies definition of selfish, "MW Def: concerned excessively or exclusively with oneself : seeking or concentrating on one's own advantage, pleasure, or well-being without regard for others"
To some degree, all human behavior is "selfish" - we're all driven to do those things that bring us pleasure. The question is, in doing so, do we do so exclusively, and without regard for others. Traditionally, when we use "selfish" in the pejorative, that's the differentiator in how we use the word and Linus does.
The genius of the GPL, of course, is that it aligns ones own self interest with those of a greater community. You can use the software as much as you want, just as long as you contribute back your changes to others. An enforced quid-pro-quo, if you will.
I absolutely understand the argument that Linus is making, and I agree with him - that, long term, people need to be driven by the need to satisfy some personal need, not some greater community good. But suggesting that contributing software to the GPL is selfish is using language in the same way that suggesting affirmative action is racist. This is only true if we stretch the definitions of the words selfish and racist.
For example:
- There is no existing project that completely meets my needs. This one almost does. I can patch it, but maintaining a separate fork would be a lot of trouble. Therefore, the easiest thing to get what I want is to contribute a patch to the main project.
- I want to prove to the world that I'm a good developer so that I can achieve my career goals. I can't easily show off my closed-source code. Therefore, the easiest way to get what I want is to release good open source code.
- I like having lots of open source software available for free, and I want to keep that paradigm functioning, therefore I view contributing as an investment with a good payoff for me. (This one is a bit more of a stretch.)
I think you can contribute to open source for truly selfish reasons, and that can work out well for everyone. It's similar to how you can run a business purely for profit, and as a necessary means to that end, provide a good product for a good price.
However, in practice, I personally contribute to open source partly for selfish reasons and partly out of altruistic ones.
I agree. That's basically what Linus also said in the continuation of the quoted interview. I also think that being "selfish" (to some healthy degree) is not a bad thing per se. If we put it in a proper context (like GPL) it can have better results than many truly altruistic efforts in the same direction. It is simply more natural.
One interpretation of this statement is that, if I'm trying to contribute altruistically by solving a problem I don't personally have, it may be that nobody has that problem, or it may be that my solution doesn't help those who do.
Whereas if I solve a problem I have in a way that satisfies me, there's at least one data point to say that it's a good solution, and it's likely that others will benefit.
The common phrase for this is "scratch your own itch."
Open software is often narrow in scope, tied to some preconceived notion of how its going to be used, and spotty in implementation. E.g. Gimp, which is useful for some but useless to me - I have GB of layered images that won't import into GIMP except as flattened bitmaps - I'll need to continue editing my layers in future. I could write my own image importer for GIMP, but hey! paying for a PS license is cheaper and faster.
Other examples: file format interpreting libraries. I've used them lots. Each time I have to untangle the actual code that interprets formats, from the cruft around it that assumes I'm going to run a command-line script, or link with a certain runtime, or have a dialog-based interface, or whatever was the itch somebody scratched when they created the code.
If its in nobodies best interest to separate the actual IP from the scaffolding that surrounds it, then Open Source is delegated to hobby projects by people with time to burn.
Maybe more altruism would make Gimp fit your use cases, but I doubt it. Some work just won't get done without a profit motive.