Posted in

In the history of computing, few programmers embody the myth of the lone genius better than Linus Torvalds and Terry A. Davis.

Both were born in 1969. Both became obsessed with operating systems. Both believed they could build something better than what was available to them.

But their stories went in almost opposite directions.

Linus Torvalds built Linux and eventually coordinated one of the largest collaborative software projects in history. Terry Davis built TempleOS largely by himself: an operating system, compiler, programming language, graphics system and countless other components created according to his own highly personal vision.

Torvalds began Linux in 1991 while studying computer science at the University of Helsinki. Frustrated by the systems available to him, he started developing his own Unix-like kernel. He famously described it as a hobby that would not become “big and professional.” 😉

Linux attracted developers from around the world and evolved from a student project into infrastructure that powers servers, phones, supercomputers, embedded devices and much of the cloud.

Torvalds’ crucial achievement was not simply writing Linux. He learned how to stop being its sole author.

Linux became increasingly decentralized. Trusted maintainers took responsibility for different parts of the kernel, companies contributed engineers, and thousands of developers participated.

Torvalds remained at the center, but Linux became larger than Torvalds.

Terry Davis took another path. As a gifted programmer, Davis spent years building what eventually became TempleOS, a free 64-bit operating system. Rather than assembling existing components, he created an extraordinary amount himself. TempleOS included its own kernel, compiler, programming environment, graphics and a programming language called HolyC.

Technically, it was an unusual achievement, but TempleOS was never designed to become the next Linux.

He deliberately imposed strange limitations. The system used a fixed 640×480 resolution and 16-color graphics reminiscent of an earlier era of computing. It had no networking stack and ignored many conventions that modern operating systems had accumulated over decades.

Davis also publicly discussed his mental illness, and his later life cannot be separated entirely from it. His religious beliefs became deeply intertwined with TempleOS, which he described in spiritual terms. He died at the age of 48.

Building an operating system largely from scratch requires knowledge spanning compilers, memory management, filesystems, graphics, hardware and programming-language design. Very few programmers ever attempted that breadth. Actually I did attempt, but failed.

The contrast with Linus is revealing. Torvalds understood that software becomes powerful when other people can extend it. Linux succeeded not because one programmer could build everything, but because one programmer created a system that thousands of others could improve.

That same philosophy later appeared in Git, which Torvalds created in 2005 when existing version-control systems did not meet the Linux kernel project’s requirements. Git itself was designed around distributed collaboration.

One surrendered parts of his creation so it could grow beyond him. The other maintained extraordinary control over nearly every layer of his system.

That may be the most interesting lesson in comparing them is that you don’t grow alone, you have to let other people get in.

Leave a Reply