The Takeda Award Message from Chairman Awardees Achievement Fact Awards Ceremony Forum 2001
2001
Forum


Linus Torvalds
page 1
page 2
page 3
page 4
page 5





Linus Torvalds
   
  back


figure 9
The other problem that some Open Source projects have had is that while competition is good, sometimes competition goes overboard. You do not want to have two projects that stop competing in the ecosystem and instead try to compete against just each other. That's what we call "war." And quite often you have social reasons and economic reasons why this doesn't happen. In the GPL, again the license requirement for recombination makes it really hard to compete in an adversarial manner on a technical level.

The third problem is the problem that all distributed projects have, which is communication. This is why distributed computing is hard. Most of the effort in distributed computing tends to be to limit communication. Obviously, humans are really good at communicating. That is what we do, quite naturally. But at the same time, there are communication barriers and limits to understanding, simple limits like language. Some have technical solutions; the Internet was obviously one of them. Some of them are inherently hard to overcome, and make it fairly hard to create truly global development efforts.

So, my last slide (figure 9). I claim, and I want to note again that this is a personal viewpoint, that development is really about breeding your products. It's a biological thing. And distributed open development tries to do this in a more natural selection and natural competition way. A lot of people breed, even biological entities, in commercial settings. If you have seen, for example, the poultry industry today, they certainly breed their subjects very aggressively and with a very strict rule. The only thing that matters is how well the chicken produces. And everybody, all badly producing chickens are killed and never used again.

The problem with taking this extreme approach, the commercial approach to breeding, is that it tends to create a very lopsided end result. You have chickens that would never ever actually be able to survive in the wild. What the openness of Open Source gives you is a much more balanced viewpoint. You have thousands of people who all try to push their own view of how the products should look. And by having this varied development environment, you avoid the lopsidedness that you often see in commercial companies. This I think was one of the problems that UNIX had historically -- all the commercial companies had a very lopsided view of what they wanted to do with the system, resulting in all the development going into server operating systems, which resulted in a system that was not really very useful for personal use. With Linux you have had a lot of different ideals, and Linux doesn't have a single niche. You have people who used Linux in servers, but you have people who used Linux on the desktop, in laptops, on supercomputers, on just about any kind of computer out there. And avoiding this one-sided view has been, I think, a natural result of Open Source, and not so much of a result of me trying to aim for it.

"Release early, release often" that's one motto for Linux. The reason is to improve the speed of evolution. You want to make each generation as short as possible to get fast feedback in order to make the next generation better. This is something that a commercial company usually can't do. It's just too expensive to release more than once a few years.

I would like to leave you with a thought about the future of computing, which is that computing, and especially software, is getting more and more complex. And the whole meaning of complexity means that it's getting harder and harder to control. What happens in some theoretical future when the software we are trying to run is actually more complex than the organizations that are generating the software. If you look at the most successful, the most complex piece of technology on the planet today, what technology is that? It's not software. It's you and it's me. And guess how that happened. It did not happen through some super-engineer and his controlled team of people. It happened through evolution. Evolution is a proven way to actually generate systems that are potentially more complex than the environment they are generated from. And this I think is why in the long run Open Source and the evolutionary method is the only way we can reliably generate complex systems that are so hard to understand that no single person really knows how they work. Is that where we want to go? I don't know. I think it is where we will end up. Thank you.
 
  back
Remarks

Forum

top