Today on the occasion of his Millenium Technology Prize award, TechCrunch ran an interview with Linux kernel creator Linus Torvalds. The most interesting bit of the interview came when Torvalds was asked what question he wished he was asked about in interviews. He then began talking about the importance of the process of programming:
In fact, to get a bit “meta” on this issue, what’s even more interesting than improving a piece of software, is to improve the *way* we write and improve software. Changing the process of making software has sometimes been some of the most painful parts of software development (because we so easily get used to certain models), but that has also often been the most rewarding parts. It is, after all, why “git” came to be, for example. And I think open source in general is obviously just another “process model” change that I think is very successful.
“It’s impossible for me to overstate the importance of adopting development models from open-source software and from distributed version-control systems like git,” writes RedMonk analyst Donnie Berkholz in response to this passage. “After spending nearly 10 years working on Gentoo Linux, I’m deeply familiar with how huge of an advantage these processes give you. You don’t even need to use open source to learn from what the OSS world is doing — just leverage the same techniques within your company.” (Emphasis mine.)
These are exciting times for Linux and open source – RedHat just became the first $1 billion open source company – so its’ worth considering the less obvious lessons of open source. One of those is the power of working in the open. In many cases sharing code or other business process decisions with the general public might not be possible. But it’s often possible to open up internally. That’s a powerful idea for DevOps in particular.