Slashdot, the 15-year old popular technology discussion site, recently had their readers come up with a list of their top questions to ask Linus Torvalds, Linux's creator. The results were interesting.
For example, the first question presumed that Torvalds was anti-patent and copyright. Eh... no, he's never really been either. As Torvalds explained, "I like copyrights, and even on patents I'm not necessarily in the 'Patents are completely evil. camp. When I rant about patents or copyrights, I rant against the *excesses* and the bad policies, not about them existing in the first place."
And, as for copyright, "I don't understand why people were that surprised, but I understand even *less* why people then thought that 'copyrights have problems' would imply 'copyright protection should be abolished.' The second doesn't follow at all."
What Torvalds does have problems with are, "I was talking about things like 'life of author+70 years' and the corporate 95-year version. That's *ridiculous*. Couple that with the difficulty of judging fair use etc, and it really hinders things like archival of material, making of documentaries, yadda yadda..."
He was also asked the ever popular question of "What would you have done differently with Linux?" Torvalds replied, "I get asked this quite often, and I really don't see how I could possibly have done anything better. And I'm not claiming some kind of great forethought - it's just that with 20:20 hindsight, I really did choose the right big things. I still love the GPLv2, and absolutely think that making Linux open source was the greatest thing ever.
He finished, "Have I made mistakes? Sure. But on the whole, I think Linux has done incredibly well, and I've made the right decisions around it." If you think about it, it's hard to disagree with him. In Linux's 20+ years, the operating system has become the dominant operating systems on the Web; smartphones, thanks to Android; supercomputers; and on and on. Linux has turned out pretty darn good for something that started out as "just a hobby."
Some operating system architectural questions just won't go away and so someone asked for perhaps the 2012th time if there was any time he'd ever thought about going with the "Hurd-style micro-kernel route?"
As always, Torvalds answer was No! "I think microkernels are stupid. They push the problem space into *communication*, which is actually a much bigger and fundamental problem than the small problem they are purporting to fix. They also lead to horrible extra complexity as you then have to fight the microkernel model, and make up new ways to avoid the extra communication latencies etc. Hurd is a great example of this kind of suckiness, where people made up whole new memory mapping models just because the normal "just make a quick system call within the same context" model had been broken by the microkernel model."
He continued: "Btw, it's not just microkernels. Any time you have 'one overriding idea,' and push your idea as a superior ideology, you're going to be wrong. Microkernels had one such ideology, there have been others. It's all BS. The fact is, reality is complicated, and not amenable to the 'one large idea' model of problem solving. The only way that problems get solved in real life is with a lot of hard work on getting the details right. Not by some over-arching ideology that somehow magically makes things work."
As anyone who's followed Torvalds and his method of development over the years knows, Torvalds believes in the Thomas Edison quote, "Genius is 1% inspiration, 99% perspiration."
Next, someone asked about how Linux has managed to avoid the Unix fragmentation wars of the 80s and 90s. These lead Unix to losing its grip on servers first to NetWare and Windows in the office and eventually to its decline in data centers and Web servers to Linux.
Torvalds replied, "I really do think that encouraging merging is the most important part for a license for me. And having a license like the GPLv2 that basically *requires* everybody to have the right to merge back useful code is a great thing, and avoids the worry of forking."
Indeed, not is forking not "bad. Forking is absolutely *required*, because easy forking is how development gets done. In fact, one of the design principles behind git was to make forking easy, and not have any technical barrier (like a "more central repository") that held back forking. Forking is important, and forking needs to happen any time there is a developer who thinks that they can do a better job in some area. Go wild, fork the project, and prove your point. Show everybody that you can make improvements.
If there was no good way to merge things back then forks would be bad. And in Linux, it's not been just about the license. Sure, the license means that legally we can always merge back the forks if they prove to be good forks. But we have also had a culture of encouraging forking and making forking be something that isn't acrimonious. Basically *all* the Linux distributions have had their own "forks" of the kernel, and it's not been seen as something bad, it's been seen as something natural and good."
As for actually coding, alas, Torvalds doesn't get to do that much of it anymore. "You do realize that I don't get all that close to the code any more? I spend my time not coding, but reading emails, and merging stuff others wrote. And when I *do* get involved with the code, it's not because it's 'cool,' it's because it broke, and you'll find me cursing the people who wrote it, and questioning their parentage and that of their pets."
That said, Torvalds wished more programmers "understood the really core low-level kind of coding. Not big, complex stuff like the lockless name lookup, but simply good use of pointers-to-pointers etc. For example, I've seen too many people who delete a singly-linked list entry by keeping track of the "prev" entry, and then to delete the entry. … Whenever I see code like that, I just go 'This person doesn't understand pointers.' And it's sadly quite common."
Even though he doesn't get his hands dirty that much with programming these days, Torvalds is in no danger of burning out. That's because, "I really enjoy what I do. And I actually enjoy arguing too, and while I may swear a lot and appear like a grumpy angry old man at times, I am also pretty good at just letting things go. So I can be very passionate about some things, but at the same time I don't tend to really hold on to some particular issue for too long, and I think that helps avoid burn-out."
So it is he doesn't see himself retiring anytime soon. And, come the day he does, he's not worried about it.
As he's said before to the "What if Linus gets hit by a bus?" question, "We've got several 'top lieutenants' that could take over, and I'd worry much more about many other open-source projects that don't have nearly the same kind of big development community that the kernel does. That said, I've been doing this for over twenty years now, and I don't really see myself stopping. I still do like what I'm doing, and I'd just be bored out of my gourd without the kernel to hack on."