Linus Torvalds on Why Open Source Solves the Biggest Problems
This month Linux and Git creator Linus Torvalds talked at length about topics near and dear to his heart, in a new two-part email interview with Jeremy Andrews, the founding partner and CEO of Tag1, a global technology consulting firm as well as the second all-time leading contributor to Drupal. For part of a new series of interviews with Open Source leaders, Andrews had wanted to catch up with Torvalds before the 30th anniversary of Linux this August.
Torvalds has spent those 30 years — since the age of 21 — steadfastly presiding over the community that’s maintaining a worldwide phenomenon, the open source operating system that “literally grew kind of haphazardly from me initially just trying to learn the in-and-outs of my new PC hardware,” he wrote.
Now living in Portland, 51-year-old Torvalds describes how he’s spending his days, reading endless emails from maintainers and tech journalists. He describes his home work environment, with dual 4k monitors running Fedora with an oddball text editor called “micro-emacs” that he got hooked on in college, “and now my fingers are hardcoded for it.” Plus, two dogs and a cat.
Although the interview did not expressly address the recent controversy of University of Minnesota researchers sending in spoofed patches to the Linux kernel maintenance team, Torvalds nonetheless delivered the reassuring news that developers are still hard at work maintaining the kernel. He acknowledged that yes, the global pandemic “obviously affected all our lives in other ways — just the social ramifications in general. But on the whole, being a kernel developer who already interacted with people almost entirely over email, we were probably some of the least affected.”
So now in an interview that feels like checking in on an old friend, Torvalds emphasizes what’s keeping the Linux kernel robust and stable – including his crucial early decision about the right open source license, and the ability to find open source developers with that one all-important attribute for success.
Money Doesn’t Motivate
To the big question — does he have any regrets about choosing the GPLv2 license? — Torvalds answers “Absolutely not… I’m 100% convinced that the license has been a big part of the success of Linux (and Git, for that matter). I think everybody involved ends up being much happier when they know that everybody has equal rights, and nobody is special with regards to licensing.”
He describes all the changes in the decades since as “incremental” after that selection of the openness-protecting GPLv2 license, a choice he made in an era fraught with flame wars about the distinctions between the BSD and GPL licenses. (“I think partly fueled by how Richard Stallman really has a knack for pissing people off.”) Torvalds had seen some of those discussions in Usenet newsgroups like comp.arch and comp.os.minix, and heard more from his friend Lars Wirzenius, who “was much more into license discussions etc than I was.” But most of all, Linux had needed a C compiler like GCC — which had used the GPL license — and Torvalds remembers that “I felt indebted to gcc.” And in addition, the GPLv2 license “matched my ‘you have to give source back’ expectations.”
Today he contrasts this with dual-use licenses, where “I think it’s really hard to build a community around that kind of situation, because the open source side always knows it’s ‘second class’.” Torvalds even adds later that “money really isn’t that great of a motivator. It doesn’t pull people together. Having a common project, and really feeling that you really can be a full partner in that project, that motivates people, I think.”
And the other downside of dual-use licensing? “It leads to a lot of just licensing paperwork in order for the special party to always retain their special rights. So it adds a lot of friction to the project.”
In the second part of the interview, Andrews returns to the theme with a question about corporate users profiting off open source projects without contributing or supporting the actual maintainers who are struggling to make a living. But Torvalds demurred, responding “I really don’t have an answer to this, and for some reason the kernel has always avoided the problem… [I]t’s actually very encouraging how many big companies are very openly involved with upstream kernel development, and are major parts of the community.” So to the question of whether open source development is sustainable, Torvalds says he’s convinced the answer is yes.
But then as an aside, Torvalds points out that Linux has consciously welcomed corporate users, avoiding “the almost religious overtones” of the Free Software Foundation which he believes drives away commercial users. There’s even specific outreach efforts to teach companies not just the legalities of open source software, but also the technical aspects of working with an open source community. And Torvalds believes that ultimately even corporate users who don’t contribute or support the kernel directly still end up relying on contractors or distributions, which creates jobs for kernel developers. Later he underscores the point directly. “I do think that some projects may have shot themselves in the foot by being a bit too anti-commercial, and made it really hard for companies to participate.”
And soon he goes even further, adding that “for complex technical issues you really need open source simply because the problem space ends up being too complex to manage inside one single company. Even a big and competent tech company.”
The Importance of Good Taste
The interview also provides some fascinating insights into the way Torvalds thinks. (“As an engineer, I have this strongly held opinion that ‘details matter’. Details are almost the only thing that matters. If you get the details right, the rest will follow,” he wrote.
But along with that there’s also some insight into what, after three decades, Torvalds believes is the crucial attribute for a good programmer — or at least, a good maintainer for vital pieces of open source software. Torvalds tells the story of creating Linux’s source control manager, Git, where from the very beginning he’d wanted someone else to take over its maintenance. “In fact I would have been happiest had I not had to write one in the first place,” he wrote. Within a few months he’d spotted something he liked in Junio Hamano — who from 2005 on has been Git’s core maintainer. Hamano had that rare and elusive attribute that Torvalds describes as good taste:
“Programming is about solving technical problems, but how you solve them, and how you think about them is important too, and it’s one of those things you start to recognize over time: certain people have that ‘good taste’ thing and pick the ‘right’ solution.
“I don’t want to claim that programming is an art, because it really is mostly just about ‘good engineering.’ I’m a big believer in Thomas Edison’s ‘one percent inspiration and ninety-nine percent perspiration’ mantra: It’s almost all about the little details and the everyday grunt-work. But there is that occasional ‘inspiration’ part, that ‘good taste’ thing that is about more than just solving some problem – solving it cleanly and nicely and yes, even beautifully.
“And Junio had that ‘good taste’.”
Torvalds calls Hamano “an exemplary maintainer,” reminding Andrews that “It’s been 15+ years, and I was really only involved with Git in that first year.”
But soon, this led Torvalds into a much larger insight, that may ultimately explain how this attribute of quality development can scale into something magnificent.
“Unlike Git, Linux is obviously a project that I still do actively maintain, but very much like Git, it’s also a project with lots of other people involved, and I think one of the big successes of Linux is having literally hundreds of maintainers around, all with that hard-to-define ‘good taste’…”