Linus Torvalds interview, part one: From VIC-20 to Raspberry Pi
In the first part of a three-part interview, Linus Torvalds talks about how he got Linux off the ground, the 'marketing' of Linux and Raspberry Pi. First published in 2012.
First published in December 2012, Millennium Technology Prize winner Linus Torvalds tells Computing about how he first got into computers, and the development of Linux. The first in a three-part series.
Q. Who were your big heroes in your teens?
I grew up thinking I'd be a scientist and my big heroes were all the big scientists and mathematicians. So I grew up idolizing people like Newton, Einstein and Gauss. On a more personal front, it was probably my (maternal) grandfather, Leo Törnqvist, who was a professor of statistics at University of Helsinki.
Q. What got you into computing and writing code?
My grandfather got a Commodore VIC-20 in the early 1980s. I would have been, maybe, 12 when he got it and he used it basically as a glorified programmable calculator for his work.
He never seemed that comfortable with the machine, though. He would write out BASIC programs with, to me, incomprehensible formulas on paper, and I'd type them in for him. In retrospect, I wonder how much of that was him just being more comfortable with paper, and how much of it was about getting me involved in some way [with computing]. Either way, the end result was that I got pretty familiar with the machine.
I'd play around with it and read the manuals and type in the example programs. In the manuals (and in computer magazines of the time) there were simple games you could type in and study.
While I played some of them - and even a few commercial ones - the actual programming ended up being the most interesting part. Later on, in high school, I'd often do my own games, but game play was never the most interesting thing to me: it would be about having smooth sideways scrolling by using machine code, or having good flicker-free "sprites".
Q. Was the creation of Linux primarily a step in a new direction or largely a reaction to frustration with the limitations of existing systems?
I wouldn't call the main impetus anything so negative as frustration. Sure, I had been a bit frustrated trying to get Unix for my shiny new PC. I'd been introduced to Unix at the university, and wanted it on my own machine too.
But I ended up having access to a reasonable substitute - Minix - and what really drove my early development was the fact that I was playing around with the low level details of the machine; I wanted to learn all about how it worked at a very low level.
That's how I had grown up programming: working with the machine directly on top of the hardware, accessing all the devices by hand, and mostly using assembly code. That's really what you needed to do to get the most out of early home computers. I was kind-of continuing doing the same with my new Intel-based PC.
Everything was unfamiliar, but there were books about how the machine worked, and I was especially interested in the new CPU features of the - at the time - fancy i386.
In fact, the original program that became Linux wasn't even an operating system at first. It started out as a very rough boot loader to first learn how to set up the 32-bit environment on the CPU, and then I started to learn how to write characters to the screen. Then it became a terminal emulation program to connect to the university machines over a modem in order to read news groups, and so on.
[Please turn to page two]
Linus Torvalds interview, part one: From VIC-20 to Raspberry Pi
In the first part of a three-part interview, Linus Torvalds talks about how he got Linux off the ground, the 'marketing' of Linux and Raspberry Pi. First published in 2012.
At some point, I wanted to start downloading files from the university machine so I needed to write the code to access the disk and file system and, at that point, it became clear that "hey, I'm re-implementing the operating system".
A lot of what I did was really just because I like programming. It was one of my "projects". They never really went anywhere, but that really wasn't even the point of the exercise. The point was to do interesting programming.
After a few months, it wasn't quite at the stage where it was useful, but it was at the point where it did some interesting things. A person I knew through having made some postings about what I was working on, Ari Lemmke, was interested in operating systems, and was one of the maintainers of one of the biggest FTP sites in Finland, so I had access to put it out for a kind of geeky "show and tell". And the rest is history.
So the frustration with the limitations of what I had access to was certainly real, and once the project took shape it motivated me a bit more in the sense of feeling "I can do better", but it wasn't really the original plan or the main motivation.
Q. Who and what helped get your invention off the ground?
I already mentioned Lemmke, who was the perfect person to help me make things available. And the timing in general was very fortuitous - the internet was already mostly there and, while "normal people" weren't on it in the early nineties, there were a lot of universities with people eager to try some new programming toy. I guess Tim Berners-Lee had released his first browser by then, but nobody used it yet - people were using FTP and email, and internet news groups to communicate.
And there clearly was a real need. Lots of people had PCs and their needs weren't really being fulfilled by DOS and Windows. So it started out pretty small, with just a handful of people involved, but it grew pretty quickly. And while it wasn't useful in the very first release, within six months it was already at the point where technical people could really use it for "real work".
Sure, you did have to be technical, and you had to be interested in operating systems, but if you were there was now something you could download freely off the net and just use on your regular basic PC.
So it was down to timing, luck, and a lot of just persistence.
Q. When you developed Linux, did you realise what an impact it would have on the world of computing?
No, I had no idea and, in fact, one of the main reasons I think Linux became successful in the first place was that I never had very lofty goals. The goal posts for me were always a few weeks in the future... I actually think that's the only way to make real progress: one small step at a time, not looking too far ahead to see the details.
It's how I still work, in fact. We don't have five year plans in the kernel community (well, at least, I don't). I worry about the next release, and those are roughly three months apart. I tend to quote Edison: "Genius is one percent inspiration, ninety nine percent perspiration". People like to idolise the "ideas" and "inspiration", but in the end, almost anybody can have an idea. Getting things actually done is where people stumble.
[Please turn to page three]
Linus Torvalds interview, part one: From VIC-20 to Raspberry Pi
In the first part of a three-part interview, Linus Torvalds talks about how he got Linux off the ground, the 'marketing' of Linux and Raspberry Pi. First published in 2012.
So looking at the details, not worrying about some big impossible dream of changing the world, that's how you actually get real work done, I suspect. If I had tried to make a huge difference, I just wouldn't even have known where to start.
Q. What element of Linux or consequence of Linux are you most proud of?
I'm proud of a lot of the technical things we've done, but in many ways one of the things I think Linux was particularly instrumental in was in making open source become very mainstream. And at least part of that was not so much about the technology, as it was about the culture around Linux.
Linux was by no means the first open source project... But one thing I think Linux has done particularly well is trying to really work across ideological lines, and trying to also be very supportive of businesses using Linux.
There used to be a rather strong mutual suspicion between traditional software business interests, and the "free software" movement. The Free Software Foundation publicly called (and still calls) proprietary software "evil", and has made it a moral imperative to be free software. There's understandably been a certain amount of friction about it, and it scared off and alienated businesses.
Linux, in contrast, took the ideals of open source software, but we've never been very anti-corporate. For me (and I think that has permeated most of the Linux kernel community), open source is simply a better way to do software development: it gets rid of a lot of totally pointless barriers, and it makes it much easier for everybody to cooperate and work together despite often having very disparate goals both technically and in the market.
And I think that has made it much easier for companies to accept the Linux open source model, when it isn't sold as a moral imperative, but as a practical approach with major advantages (not just the obvious that you can get a source licence for free, you just have to follow a few simple reciprocal rules that everybody else who works with it also has to follow).
Linux hasn't been the only project that has taken that pragmatic approach, but I think it has been one of the big projects that really welcomed all the attention from commercial companies. Sure, there's been doubt about the sincerity and it's not all been "one large happy family" where we all love each other, but mostly I think that part of the project has really been very successful.
Because it turns out that while we want strong technical leadership and attention to all the technical details, taking Linux and using it as part of products with lots of users, and a commercial vendor that wants to sell it, has also been very important. You actually do need marketing, and a certain polish that often would not happen if the project was only driven by technical needs.
Technical people still tend to mistrust marketing (I think most people have read "Dilbert"), but I'm personally very happy with how companies both big and small are using Linux in the most varied areas - uses that I never even foresaw.
[Please turn to page four]
Linus Torvalds interview, part one: From VIC-20 to Raspberry Pi
In the first part of a three-part interview, Linus Torvalds talks about how he got Linux off the ground, the 'marketing' of Linux and Raspberry Pi. First published in 2012.
Q. What things that people have created using Linux are you most impressed by?
I'm really most impressed by the pure breadth of things people have done. Sure, there are all the oddball crazy one-off projects (the first time people told me they had a gas/petrol pump that ran Linux, I was just floored), but what's really interesting is just how different those uses have been. I love hearing about the various small gadgets running Linux: people know about Android on cellphones, but there's a lot of small gadgets with less mindshare that are also based on Linux (such as the "Raspberry PI" teaching computer that has got a lot of press attention lately).
But the fact that Linux runs on those tiny things at the same time as it's the most commonly used operating system on large supercomputers - that's the kind of thing that I'm personally so happy and impressed with. And it's not something I actually believed we could do: I used to think that we'd have to "fork" the project and have one code-base that was specific to the big machines that have thousands of CPU's in them.
So I won't claim it is foresight. All of this happened very organically and naturally, from just the fact that a lot of different interests all worked together on Linux, and they often had very different goals. That to me is really impressive.
Linus Torvald was in conversation with Technology Academy Finland, the body that awards the Millennium Technology Prize, which he won this year.