MY NOTES
It takes design and good taste to be simple.
"To somebody who does it, it's the most interesting thing in the world. It's a game much more involved than chess, a game where you can make up your own rules and where the end result is whatever you can make it.
And yet to the outside, it looks like the most boring thing on earth.
Part of the initial excitement and programming is easy to explain: just the fact that when you tell the computer to do something, it will do it hourly forever without a complaint, and that's interesting in itself."
"But blind obedience on its own, while initially fascinating, obviously does not make for a very likable companion. In fact, that part is pretty boring fairly quickly. What makes programs engaging is that while you can make the computer do what you want, you have to figure out how."
"I'm personally convinced that computer science has a lot in common with physics. Both are about how the world works at a rather fundamental level. The difference, of course, is that while in physics, you're supposed to figure out how the world is made up, in computer science, you create the world within the confines of the computer. You're the creator; you get to ultimately control everything that happens. If you're good enough, you can be God. On a small scale."
"Most of the time you're not building the worlds; you're simply writing a program to do a certain task. In that case, you're not creating a new world, but you are solving a problem within the world of a computer. The problem gets solved by thinking about it, and only a certain kind of person is able to sit and stare at a screen and just think things through: only a dweeby, geeky person like me."
"Remember the person in school who always got the right answer? That person did it much more quickly than everybody else and did it because he or she didn't try to. That person didn't learn how the problem was supposed to be done, but instead just thought about the problem the right way. And once you heard the answer, it made perfect sense.
The same is true in computers. You can do something the brute force way, the stupid grind-the-problem-down-until-it's-not-a-problem-anymore way. Or you can find the right approach, and suddenly the problem just goes away. You look at the problem another way, and you have an epiphany. It was only a problem because you were looking at it the wrong way."
"It's still hard to explain what can be so fascinating about beating your head against the wall for three days not knowing how to solve something: the better way, the beautiful way. But once you find that way, it's the greatest feeling in the world."
“I did learn fairly early that the best and most effective way to lead is by letting people do things because they want to do them, not because you want them to. The best leaders also know when they are wrong and are capable of pulling themselves out, and the best leaders enable others to make decisions for them.”
"My method for managing the project with hundreds of thousands of developers, it's the same as when I coded away in my bedroom: I don't proactively delegate as much as I wait for people to come forward and volunteer to take over things. It started when I divested myself of the responsibilities I found less interesting, like the user-level code. People stepped up and offered to take over the subsystems. Everything filters up to me through the maintenance of these subsystems."
“People want to have somebody tell them what to do.”
“It's easy to become a leader. Then, other people who don't have convictions in those areas are more than happy to let those leaders make their decisions for them and tell them what to do.”
"A lot of people believe in working long days and doing double, triple, or even quadruple shifts. I'm not one of them. Neither Transmeta nor Linux has ever gotten away from a good night's sleep. In fact, if you want to know the honest truth, I'm a firm believer in sleep."
"Some people think that's just being lazy, but I want to throw my pillow at them. I have a perfectly good excuse and I'm standing by it. You may lose a few hours of your productive daytime in your sleep, oh, say 10 hours a day, but those few hours when you are awake, you're alert and your brain functions on all six cylinders."
“Like business people with solid technical backgrounds or journalists with a commercial bent, I was a narrowly focused software developer who was naive about what would be required.”
"The technical problems alone would have kept me from embarking on this journey if I had never known how much work it would take and that I would still be doing it 10 years later and that it would be almost a full-time job those entire 10 years. I never would have started."
"The way to survive and flourish is to make the best dang product you can, and if you can't survive and flourish on that, then you shouldn't."
"If you try to make money by controlling a resource, you'll eventually find yourself out of business."
"The fact is that nobody wants an operating system. In fact, nobody even wants a computer. What everybody wants is this magical toy that can be used to browse, write papers, play games, balance the checkbook, and so on. The fact that you need a computer and operating system to do that is something that most people would rather not ever think about."
“Survival defines life and is motivational factor #1.
Social relations is #2. Examples: Romeo and Juliet would rather die than lose their social relationship, or the case of a patriotic soldier willing to risk his life for his country and family, his society
Entertainment is #3. War has long since become a tool for maintaining social order in society. And with the advent of CNN, it has become entertainment. Like it or not, this seems to be the inevitable progression."
Open source developers strive to earn the esteem of their peers. That's got to be highly motivating.
Open source is the best way of leveraging outside talent, but you still need to have someone inside the company who keeps track of the company's needs.
In fact, it can be a benefit to the company if someone on the outside takes it over and does it for free. It's fine if someone on the outside is doing a better job.
In a society where survival is more or less assured, money is not the greatest of motivators.
It's been well established that folks do their best work when they are driven by passion, when they are having fun.
The open source model gives people the opportunity to live with their passion, to have fun, and to work with the world's best programmers, not with the few that happen to be employed by their company.
It's OK to copy until you create something new.
Linus used a compiler from the internet and based most of his stuff on Minix.
User requests can be the ignition.
It wasn’t until people emailed him about features they’d like until it hit off.
Build one feature for one constraint, and it can become universal.
He made a feature for someone whose computer didn’t have enough memory, and it ended up being used in a lot of places.
Let everyone contribute, but keep one person overseeing.
He let everyone add new features, as long as he could oversee things.
If two people build similar things, let the world choose.
If two maintain similar things, he accepts both to see which gets used.
If two developers fight, disapprove both until someone loses interest.
In school he disliked memorization subjects, but loved math, physics, and computers.
He wrote programs faster than the ones that came with the machine.
Technology moves through stages.
Survival, then social, then entertainment.
“Like business people with solid technical backgrounds or journalists with a commercial bent, I was a narrowly focused software developer who was naive about what would be required.”
What sells is perception, not reality.