Over at the Var Guy, Christopher Tozzi asks an interesting question:
Why did Linux succeed so spectacularly, whereas similar attempts to build a free or open source, Unix-like operating system kernel met with considerably less success?
Tozzi doesn’t claim to know the answer but he examines several theories.
- Linux had a decentralized development model.
- Torvalds was pragmatic whereas Stallman was ideological.
- The Linux kernel was better designed.
- The open source community threw its weight behind Linux.
Your JoeDog is not particularly fond of any of these notions. With the exception of number three, most of what is attributed to Linux could also be said of GNU. Yet the GNU kernel never took off while Linux did. But keep in mind, Linux would be nothing without GNU.
Stallman’s team provided the compiler, the debugger, the shell all the command line utilities. Most of what you think of as ‘Linux’ is actually GNU interface utilities. When you type ‘ls’, you’re executing code that Richard Stallman personally wrote. GNU’s only real failure was its kernel but given all its other success, it’s hard to fault its development model. And they were certainly not without community support.
It’s often said that timing is everything and I think that applies to Linux. Torvalds’ kernel arrived at the right time, with the right license, with the right amount of complexity to satisfy the hobbyist. You could do things with Linux. You could breathe new life into an old 386. So maybe there’s some truth to the third bullet but it depends on the definition of “better.” By computer science standards, Linux was primitive compared with GNU’s kernel yet that simple design help align its timing with the stars.