The Origins of Linux—Linus Torvalds

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
and I want to thank you all for attending and as well as bearing with us the flexibility of the environment in the historic days that were in you know some of our lectures are called history lectures we had Jean Amdahl a couple of weeks ago it was a really stirring experience we have other lectures that we call history in the making trying to highlight things that we think are going to be history in the making but the more I thought about it tonight leanness really this is sort of how do you make history so fast lecture series and that's sort of the theme of the whole revolution that one individual and many many thousands and hundreds of thousand people really started to make a difference I'm really honored tonight to have someone who is really in that vast tract and as well his career was only starting as we all know there's so much to be told on the story of how it really happened 1991 - was a second year student of computer science at the University of Helsinki and a self-taught hacker and notice for example that we in the museum world consider 10 years as things of historical significance oh right in that window you know at that time if you recall for all of those in the audience people were inspired by Richard Stallman you know the new free software movement of really quality software that can be used by an awful lot of people there was a good new C compiler at the time but no real operating system and I'm I was told myself I remembered my ARPA days that there was going to be agony colonel but that wasn't fast enough four years down the road for someone called Leena's Torvalds in addition he'd probably read the book operating system by someone by a Dutch professor I think Andrew Tenenbaum who really wanted to teach his students the inner workings of what a real operating system was all about which also published its code and everybody really looked at that of course the operating system was something called mimics operating system another point in time and let me quote from you on August 25th 1991 Leena's posted to the MINIX users group an email he said hello everybody out there using Linux I'm doing a free operating system parentheses just a hobby won't be big in professional a canoe for 386 486 80 clones there has been brewing since April and starting to get ready I'd like some feedback on things that people like and dislike well from there you know there were a lot of comments about it and and I'm told that Tannenbaum responded who was really a hero to a lot of people at the time that I still maintained the point to designing a monolithic kernel in 1991 is a fundamental error be thankful you are not my students you would not get a high grade for such design and later you know he was also reported as saying Linux is obsolete while that if may have hurt - it didn't stop a stubborn guy that had a dream in a vision it really wanted to do something and that I think what we're going to hear tonight and work went on first tens hundreds thousands ten thousands hundred thousands of people all participated in some way shape or form and have been touched by this there's a wonderful individual in my opinion for the short time I've had the opportunity to talk to him and he's going to complete the story this evening I hope and we're happy to have him speak on behalf the computer museum so please give a warm welcome to Linus Torvalds so I'm supposed to talk about the origins of Linux and it may feel strange to you that it's only been 10 years that it feels even a stranger to me also part of the history of Linux is that I used to give a lot of speeches on Linux in about 93 I was starting to go to different conferences talking about Linux because at about that time a lot of the academic world started noticing that some of their students for example sometimes their teachers were actually using Linux sent and it was gathering enough interest that I had to go in and talk about it at the same time I never really liked talking and one thing that is definitely passed part of history for Linux is me giving talks this is one of the first talks I've been getting in in the last two years apart from really small things so so I hope this will be the really last one so in that sense maybe this is a historic occasion too because I don't like giving talks that much I have kind of a brief introduction to the real origins of the origin or origins of Linux what kind of made it all happen what actually happened ten years ago and then I'll stop talking and I'll take questions because questions and answer session can be excused excuse me can be a lot more interesting than than just talks and if you don't have questions then we'll stop early as far as I'm concerned yesterday is history so if you want to talk about the release of two point four point ten three twelve then that's okay but but I think that was not what most people had in mind anyway just kind of a background about me I actually started using computers when I was 11 and I used you may know the Commodore vic-20 they did not have one when I was here a few days ago that they could show to people and I suspect that in this area the Apple 2 is much better known but the vic-20 was a few years later came out in 1980 and and I got my first computer that way in 81 how many you actually used a big 20 Wow ok Saima I mean by some standard I mean I having had seen the first computer as the 20 I'm I'm not historic at all there are people here who have seen a lot more interesting machines but what was interesting was that it was the first machine at least in Europe that was you didn't have to put together and that was reasonably cheap and reasonably cheap is important for me and my family so so I started out as a classic geek there weren't that many games for The Vic anyway and so so like probably a large portion of you I started out programming on the weekly started with basic fairly quickly you started doing machine code and I mean machine code because I never really figured out what an assembler was something like 5 years later so you had to do the numbers like like like a real man right and and I think that when you grow up with that kind of setup and with machines that are still I mean easy enough that you can actually understand the whole machine you think about computers differently and maybe to somebody who understood every single vacuum tube in something that only had 16 thousand of them things that I'm stupid for saying something like that but I'm just I'm convinced that I could understand that machine I started with and I'm convinced that if if I started today I could not understand the kind of machines that you start with today it's just too complex anyone was obviously also the year that the PC was released and I held deep disgust for the PC I was the vic-20 had the 6502 the same as in the Apple 2 the same as in a lot of these kind of things and you may remember the deep chasm between the 6502 people and the C 80 and the PC people so I eventually upgraded my machine and upgrade to PC but to a Sinclair QL and I doubt very many of you have actually used the Sinclair QL even in this kind of crowd how many of you have ever heard of the name Oh fair number her how many have used it a few it's a it was a piece of crap quite frankly it was a very interesting machine but it was extremely unstable but it one of the powers of that machine was that it was only popular in the UK which meant that in Finland especially there was no support for it which meant that even during during Leonard science I never had any ready-made programs I always had to like my own which kind of explains why I eventually ended up writing my own operating system because hey that was just what you did if I had gotten a sane machine like an Amiga or something like that I would probably have gotten very used to actually using programs that others wrote and I never had that possible ideon I was trying to kind of maybe explain some of the background so you should be happy that mostly you haven't used the Sinclair QL but at the same time think of what you lost - right so one thing that Sinclair definitely taught me was never ever buy a piece of hardware that is not bog-standard right I may not like PCs but actually these days I like PCs but I decided the next machine I get would be a PC and happily also the 386 is actually the chip that made pcs acceptable going from this really horrible architecture that was painful in every way you went to this really strange architecture that you could actually make pleasant which was which was a big step so so we skip forward to 1990 I got out of out of the Finnish army and did not look forward to any kind of physical exercise for the rest of my life so so I basically sat down and started preparing for us already mentioned my second year on University and one thing that happened you should realize this is 1990 this is the year before I started writing Linux I did not know C and I had never heard of Unix right but during the semester of the second second year at university one of the courses that was on the curriculum was this course on cen units and to just show how important timing was this is actually the first time that the University of Helsinki had a course in Sein units at all because the university had been this vaccine VMs place so they've had courses on Pascal and VMs and I'd done those the year before and I hated it and I was convinced that that small home computers were pleasant to use and big monster machines like the VAX were where the diggle's invention right so I did not like big machines at all but the university I decided that they wanted to to get on the wave and had a micro box with a 16 user license and they had a small course in teaching C and UNIX and this is so new for the University that the person who gave the course had never actually used C or UNIX insel so so he actually tried hard mostly failing but still to keep abreast with his students the the one thing that was absolutely incredible about this course was the course literature I've never had a course where the books are books that I think about ten years later and we had three books and we had three outstanding books we had the book on SIA was obviously can are the book on operating systems was under Tannenbaum this operating system design an implementation and the book on UNIX was Murray's box the design of the UNIX operating system which is very dated by now but but was is still one of the best books on UNIX as far as I know in in its dated kind of way and that was a turning point for me because honey you've had this micro box which is a horribly slow machine sixteen users and all sixteen users were on at the same time because the course is actually 32 users and the theory was apparently that okay half of them that were on in day time and half of them we're on in in the night time right and and yet I learned that ok I don't actually like microcomputers anymore but I want I want to have units right on my machine at home and and that was kind of a big thing and it didn't take that long for me to realize this is actually what I want to use and and that that that is that is something that really made me convinced about how UNIX was just better than everything else was that you could kind of grasp the fundamental ideas fairly quickly and then there were tons of details but in the end the details didn't matter and that was very unlike and still is very unlike any other operating system out there and I'm probably preaching to the choir here but but I still wanted to mention that that that it was a big thing for me and the problem was I can get UNIX anywhere wait I didn't know about in this area you probably could you could probably drive down to Santa Cruz and ask somebody who worked for a CEO to give you a copy but in Finland it was hard to find UNIX for like for a hobbyist kind of thing it was probably hard to find it even for a company but but for a hobbyist kind of thing I I went out to the trade shows and tried to find interactive or SCO or something like that and I couldn't so what had ended up happening was that I bought this PC which was cheap and standard hardware which was exactly what I wanted to have and I got MINIX for it and thought that would make me happy and eight there were two things a MINIX didn't make me happy and an VI was playing around with this new piece of exciting hardware so the 386 is this wonderous beast but most people who use people pcs don't even realize how strange and wonderful a piece of hardware it actually is especially when you come from from the 68000 world and you didn't have memory management because he didn't have a 1630 or anything same like that the the 386 had everything it had memory management with books paging and the strange segmentation stuff it had task switching in hardware so if you're like geek who's used to programming a in machine code or assembly language by now and you were used to doing everything by hand anyway the obvious project to do was to just test out every new feature of this computer that you had no idea about so I had two projects going on at the same time one of them was I tested out every feature I could find in this book on it 8 and 386 by by Crawford and Gale singer and that included paging segmentation included task switching side had this little small thing that just booted up from real mode turned into protected mode which is where all the interesting stuff is going on enabled paging and previous stuff up to the screen and show that it was actually doing task switching by just switching between two tasks we printed out different things that was one of my projects just clearly for reading for trying to teach me myself but the the PC and the other project that happened was because I disliked minutes so much what ended up being the case is the mix that I needed to read news everybody here is probably addicted to two news groups I know I was still on and I could not do that for meetings because terminal emulation was so horribly bad so I actually wanted to write firmly emulation package and these two projects what well it's not important language the two projects ended up being what became Linux it was a learning about the PC and be using what I learned to actually make a terminal emulation package the task switching ended up being useful because I ended up doing exactly what all UNIX terminal emulation packages do that yeah one process that reads from the keyboard and sends to the modem and the other one that reads from the modem and since the screen I mean so you use task switching for that and and the interesting things that start happening is when you want to start downloading things and uploading things through your terminal emulation package and you realize that hmm I actually need to write stuff to disk so you need to have a disk driver you need to understand the filesystem in my case it was Linux but I was using most the time except when I was trying to read news so I needed to have something that decoded and was able to modify the Linux file system and by this time it's now June or July in eighty and ninety one and I realized that I'm actually going to write an operating system and the fun part is that I mean I've been wasting my time for like four months on just figuring out how protected mode actually worked and that was a really painful part and then when I did then I had all the basics for it I had like just getting a display driver had taken me months but then connected mode did work I had all the infrastructure and from deciding to make an operating system to actually releasing the first version see record zero one was less than three months and admittedly 0.01 wasn't the best OS that ever was but but it was surprising how hard it was to get started and this is probably why most people don't want to do operating systems is because when you don't have anything to start with you don't even see that you're making any progress you're getting one instruction at a time basically but then when you get past a certain phase it actually starts getting much faster and the only point in there's two points in in Linux development where I was ready to give up when was when I realized that I have to write a file system and a disk driver and I had to ask myself is this really worth it and the answer was probably no but at that point I had nothing better to do so in a very real sense that's kind of the reason for Linux the second point was much later on when Linux well not much later on but by the end of of 91 when Linux actually did most of what I wanted to do and I was getting to the point where okay this does everything I envisioned it to do it actually implemented everything Linux did and and having written myself I always thought it was much better and that was the second point where I could have stopped because that's usually what I'd done earlier with my projects and the thing that made me stop not stopped and was two things one was I had released Linux and there were actually people out there using not very many at that point but the other thing was that I by mistake actually you raised my Linux partitions which again I mean the mistake of erasing my Linux partition meant that suddenly I had no choice but to either spend a lot of time reinstalling Linux and redoing everything I had done to make the system or pay or I could just bite the bullet and say okay I will actually fight this until my system is completely self-hosting and then I will just have to use it and and it was close enough at the time that that the mistake actually ended up being what really made the whole system usable at that point nobody else was actually using Linux a lot of people were playing around with it but there's a large difference between using a system for everyday work and just testing out what somebody else's is working on and and why what actually happened was that I had written this auto dialer script to to auto dial up to the University machines to read news again and and by mistake UNIX devices looking pretty much like any other devices I actually auto-dial my MINIX partition which read a lot of 80 DTS to my to my hard disks right which but the fact that I Auto dialed my Linux partition was actually what was the second thing that made Linux really really happen so you have two things that are really the cause of Linux one is I had nothing better to do and I'm a stupid git right and and then everything else is like very much details the reason is I continued for ten years is just that it because it's being a lot of fun and and especially the having people's input and making it available on the net was I mean not just from a technical perspective the best decision in Linux at all it was also what made it so much fun that it actually became something five ten years later so that's kind of the real basic background and that's where I stopped and where the questions maybe start how'd you support yourself through all these years you were playing with computers how are you surviving well one of the advantages of Finland is well first the disadvantage of Finland is that if I was here in shorts and a t-shirt in September in Finland I'd be freezing but there are advantages and one of them is actually that university at a good university I think I paid $50 a year and that was actually for extended healthcare which means that you can afford to goof off I spent eight and a half years at Helsinki University if you spend eight and a half years at not the only thing I got for it was actually a master's right I'm not even a I got a few PhD like later on but those were the honorary time right so in and a half years for a masters if you did that at at Stanford you'd get kicked out so fast or you your dad would have to be really rich right but if you pay fifty dollars a year and the state actually gives you money to live on well you have you get a student loan with basically zero percent interest rate you can afford to goof off you can afford to do things that aren't actually really important for your education it turned out that Linux was really important for my education but I mean that you can tell before I mean undulator and yeah site I lived with my parents until embarassingly linked portion point in my time so so that also helps right I hate to rehash the whole microkernel name but hi how do you feel about it now and do you think it could ever go that way microkernels I used to be a lot more polite about microkernels than I am these days I used to think that microkernels had kind of an inherent beauty and I think that's what confused a lot of people a lot of people thought that microkernels were cute and beautiful and my current thinking on microkernels is that unix is actually a microkernel it does everything that should sanely be done in kernel space and everything that shouldn't same be done in the kernel space it doesn't use their little servers and that's that's one level of microkernel the problem with going much further than that is that yes you simplify the pieces but what you don't do is you do not simplify the system quite the reverse what happens in the microkernel is because you simplify the pieces you now have a lot of interaction between pieces and they're actually fairly fundamentally they tend to be asynchronous interactions between pieces if you want to have any good performance at all right which means that you have asynchronous communication between hundreds of different pieces and you've just made your life living hell right which is fundamental problem of market kernels that the reason for their existence namely simplicity isn't actually true and then you also find that when you add a lot of communication you slow down the problem space surprise surprise and so to counteract that you actually make the pieces more complicated again in order to get back the performance you lost now so this is this is why I think for example that all the traditional micro kernels are just stupid that does mean that distributed systems are necessarily stupid there's there's two things here and sometimes people seem to be equating microkernels with distributed systems it's perfectly saying to have a real kernel on lots of machines and then take communication where you have to take communication mainly between the machines there you can't avoid it right well you can't avoid it by having SP and Numa and actually you should take SP n Numa as far as you can but at some point you just can't go any further and when you have to take communication than you do it but you communicate as little as possible into that point that's my strong opinion and I think that computer science when it came to operating system did most of what should be done in the 60s and everything else was mental masturbation since you mentioned hating the box what do you think about the current fax port of linux I didn't hate the box hardware I hated VMs now I actually know people who like VMs and fun things that VMs is a really well designed system and I think the point where I realized that I hated VMs was when I tried to figure out what the size of a file was and I couldn't write I could figure out how many blocks that click on the disk I knew it had a size because when I actually try to print the file out I didn't get it at block boundaries right but if I you could right there slash size and it would give you the slicing block I had to write a C program to figure out what the size of some of my projects were and that's the point where I realized okay this operating system is not designed for humans so I don't know maybe maybe who likes PMS other than from a purely sentimental reason I mean sentimental reasons I can understand but there was one person who actually raised his hand - okay I'm sorry I just took made two enemies for life but I do not like VMs so I actually saw you talk if you haven't spoken for two years and I saw you talk at one of your more recent ones I can ask you a question then in front of the audience and that was kernel level clustering now at the time you were buried in the SMP stuff but the answer you gave two answers ago sounds like you've been thinking about that kind of thing a lot more recently once one thing that's been very interesting about Linux is how the whole project has kind of grown up and I remember it must be like six seven years ago when people ask me whether Linux would ever support SMP and I said yeah we could but it doesn't seem to make any sense that all the hardware is too expensive and the kind of people who are using links aren't interested right and I was very very very wrong obviously and that's good because SMP ended up being one of the most interesting projects and reason for a large rewrite of a lot of stuff in kernel and and clustering still isn't really interesting it doesn't seem to be there today and at the same time there are enough people who disagree you with me and hardware and and the kind of people who use Linux has changed so I still suspect that on a kernel level we'll want to avoid it as far as possible and push most of the problems into users base at the same time some amount of kernel support for giving a better single system image is clearly something that will be done I mean there are already products like be a wolf already has support for a more single system image look through carnal support at the same time that's certainly not the kind of cluster that most people think about so I'm not directly involved with there are some number of projects doing its there's be a wolf there's moss ifs there's a lot of these things it's not mainstream enough yet to know who's going to be the winner and what's the best approach and there may be multiple approaches but it looks like in a few years we'll certainly have that as the standard kernel instead of having that as like research projects outside the standard car somebody on this fine okay one there normally when software people get together and the subject the x86 architecture comes up they they tend to quarrel or they tend to try to outdo each other with their complaints your comments were almost complimentary to some technical aspects of the 386 I agree with you but I'm wondering if you've alienated any of your friends or family by coming to us capacitor I don't know when you come from 68k background the the three to six looks so baroque and and I used to I mean I've seen some other really baroque details I mean I work for a company which makes a clone of that and I thought it was groped before and now I'm convinced I mean some of the stuff for 386 actually does is I mean these guys were on drugs at least part of the time if not always right but at the same time the fact is that I'm really impressed with what you can actually do with this strange architecture and most of time these days I program at a high enough level that I don't care segmentation is still there but you can just ignore it if you guys turn everything flat which everybody does these days so most of the Baroque because you can ignore and the things you can't ignore is the fact that they're the fastest CPUs on the planet right now and they're the cheapest ones to which is I mean that's not something I'm going to argue against can I get you to talk on the subject of communal computing and you know essentially the linux experience you know communal design and communal programming and now and and that kind of stuff i think that's one of the most interesting aspects sign was that about i never actually even heard anybody call it communal commute computing but I never actually thought about how how the kind of community works at all until people started asking me about it later on like journalists started how can this ever work in a very dotting way by the way I mean this they started doing that six seven years ago and these people who ask the questions they were not exactly convinced that it could work at all so I kind of had to rationalize why the Linux kind of development does work and I don't know if this answers our question but I actually came to my private conclusion which that it really is all about evolution and what you find whether you like it or not is that software and suffer and a lot of technology you don't design suffer you don't even know what it is the user wants most cases the user himself doesn't know what he wants I mean how many people ever worked on a software project where you knew what the end result would be and you turn out to be right there's not a single person I think that has ever had that to them and that means that designing things doesn't actually work because if you design things and you don't know what you're designing for the design simply cannot work and it turns out that this is a problem that humanity has had for ever it's the same problem that you find in social interactions you don't design your political system it actually you may want to think that you do that that's not what happens it evolves over time as technology changes as people's opinions change due to other circumstances and nobody really ever decided not the founding fathers they were part of a this long kind of evolution and obviously evolution in the biological sense is actually the same problem nobody knows what the answer is I don't think any of us really think that we are the answer right few people was playing I'm not going to go into religion here but I think that most people would agree that there's there's more to freewill than there is to God saying that this is the perfect human being and at evolution even if you're religious is part of this freewill thing how you actually have these small continuous improvements that are very small in a on a large scale but you have tons of them and the system evolves to meet the requirements um on the environment whether it be the environment be the biological ecosystem you're part of or whether it be a software program and I think this is actually how summer ends up working regardless of where you work if you work for a commercial company the center will evolve too and the only thing a commercial company really the only difference between a commercial company and the Linux kind of community-oriented thing is that the commercial company just put limit puts limit on which way it evolves into and puts limit on who can help evolve it in certain areas and things like that and the fact is if you want to get the best end result you don't want to put those kinds of limits on it because those kinds of limits are self-limiting they imply that you know what you're doing and sure most of the time somebody knows what he's doing but very seldom do you find a single person who knows what he's doing all the time and that's I think what makes companies fail in the end you have control helps a lot when you have a company that has a clear vision that helps in focusing all the resources of the company onto that vision and that makes that very efficient so companies are really efficient when they have a strong vision and when they have a clear goal but at some point the girl will be the wrong goal or at some point they just lose focus and at that point the company will just not work at all well the kind of Linux community GPL approach doesn't have a girl at all really it has hundreds it has thousands of goals and the end result is this meld this evolution from all these micro goals and all these micro changes and the reason I believe actually so this got longer and more and more than I meant it to be the reason I believe in the GPL is that it kind of it does add a limitation but the limitation it adds is that everybody else can always get into this evolutionary phase and one thing that I think is the biggest difference between Linux is success and the lack of success of some of the bsd kernels which arguably had a big leg up on looks is that if you have enough freedom people will always be greedy and you will always have companies that do for their own reason something and they cut everybody else out and and the whole thing fragments and evens happen in UNIX too and in the Linux kind of the GPL kind of work fragmentation happens all the time and that's ok in fact fragmentation is what drives development because that's those are the small differences that different people who have different agendas are trying to create but by having a copyright that actually says that ok you can fragment but you can't disallow others to look at your fragment and take the good parts from your fragment that's actually what allows devolution to happen on a larger scale and the DPL is a horrible legal document there's no question about that the GPL has horrible political infighting with for historical reasons and the FSF is that exactly loved across the country but for Linux the GPL was good because a I fundamentally think that this evolution thing is really important and be when Linux was starting out out really early on it was really good to have a license that people recognized that made it turned a lot of people off but at the same time it gave direction to some people so there's there's different size of the GPL I'm not a huge GPL advocate because I do think that it has lots of bad sides to it too but I think the the thing that some people call the viral aspect is actually it is important and it's what makes this kind of evolution possible have you found fame to be a burden now thing is really cool it's now it's I don't get recognized in like when I go I live in the area nobody recognizes me especially since I got rid of my glasses nobody recognizes me anymore and it means I get to meet a lot of interesting people it is that I get to do whatever I want to do which is great and I have no complaints at all most of my groupies are young and male and what a lot of them have long beards too so so my kind of fame is not exactly the Tom Jones kind of thing um I hope I'm not stepping out of line but um when you joined transmeta I was over thrilled I was going first you have Intel and that's cool now you have AMD now you have transmeta and I was all you know watching the news following every little bit of it just so excited so I'm not going to ask you about you know obvious things like what are you doing in transmit or not but my my question to you is um what have you learned working at transmeta what does it taught you well I'm going to give a really tried answer to this just because it happens to be true in this case the thing I enjoyed most at working at transmeta has been that I mean actually the people working there this is actually the thing I enjoyed most about Linux too is that it doesn't actually matter what you do if you're doing it with a good group of people it's going to be good I mean that's that's been the bigger the biggest advantage show or something interests me I learned a lot about the x86 too and most of that I could probably have lived without for how do you determine which features of linux to put in like people submit so many stuff to you sometimes you let it get through sometimes you don't and sometimes pretty simple things like the min/max macro which you let them go for like last month were your past assigned argument or the data type argument how do you determine what is the rule of thumb we'll get some idea into that index colonel there's a lot of answers there's some code goes in because i think it's the right way of doing things that's fairly uncommon but there are like the big ideas there are it's happened a few times when when on just accepted code that obviously will break the world things will not work but somebody had come up with something that just was the right way and that one you can't explain it's just it's a question of what is good and what is evil and sometimes you have these kinds of big questions but most of the time the questions and the answers are in a much smaller scale that often it's who's a good maintainer and did the person who got the patch integrated did he go through the good maintainer that's probably the most common reason action in some cases it's just random luck if I've been away for two weeks for a trip or something and I have 2000 emails I will drop your patch right it doesn't matter if if it's the greatest patch in earth I just won't have time to even see or think about it and conversely sometimes I'm actually idle and then I will actually answer email to and at those points I'm actually more likely to apply patches that just look right to me even if they're not the big picture kind of right so I mean one of the reasons that actually made me believe in this evolution thing is that I'm completely disorganized I'm like the least organized person I know and the fact that Linux works despite that is like there has to be like this invisible guiding hand and I'm actually that that is definitely not in in a religious context that's in an economic context but but that's that's just uh and and the the theory behind that economic the the invisible hand is exactly the same theory that I had when it comes to Linux what was is a good follow-up for that what was the feature or milestone that made you say this is Linux 1.0 actually that's an easy one Linux 1.0 was delayed for like all Linux versions for closer to two years and the only thing that held back links 1.0 for a long time what's networking networking was actually originally added for Linux only for X the guy who printed the X Window System to Linux had to create UNIX domain sockets for Linux in order to get X work now if you design your networking around UNIX domain sockets your networking is not going to work that well and that's what happened for a long time and we had two rewrites of basically the whole IP stack the last thing that held us back was that IP routing only worked on 8-bit boundaries which I mean it's it's a common mistake to do because it's well it's not common anymore but if you go back six seven years ago 99% of all networks were ethnic boundaries and some people just thought of running that way and that was it nobody fixed it and that was the first time I actually had to step into the networking code and and get my hands dirty myself and I've since become sane again that I'm not touching networking code it's it's it's horrible but but that was what kept one eye out to get the bit masks for rowdy correctly and it took way too long and I suspect it always will that's that's the other thing about software and evolution it always takes longer than you actually wanted to take you said about a month ago I guess at linux world something about that the GUI was one of the most important pieces of evolution in linux what are you doing to directly help that along with your current developer I don't actually program in user space you wouldn't want me to program your GUI for example it would be a complete disaster so what I do I I use the CES trees for all the great projects I'm personally interested in and I try to send the best damn bug reports I can I want I send these people the kind of bug reports that I would want to have and that's the only thing I do for the green project section but that's an important thing I mean it's just keeping track of the projects you really care about and and deciding to actually put those on your machine and using them every day and when something breaks you don't go cry crying to mommy but you actually make a good bug report and I could not pay my bills online for two months because this the I refuse to use Netscape because I don't like the way the fonts look and I want to have anti-alias fonts and the only browser that does that for me could not do secure transactions for two months and I that may not be my best use of time but it's the only use of time I can think of would you care to comment on three things peer to peer computing extreme programming and IBM's adoption of Linux those are two big I mean two to comment on I don't know IV as adoption of Linux is the easy one it's a son respected it's been interesting to see and it was something nobody actually believed in I mean everybody was bleeding okay they're they're going through the motions and and saying the words and the fact that they actually end up doing what they said took a lot of people by surprise including me that's being interesting they're also doing a lot so so for example I'm not worried about the technology side of links at all I think that will happen it may take longer than anybody actually believes it will take and people think that it's made great strides in 10 years so development is fast it's not true development is not fast what happens is that there's development on all fronts at the same time but individual pieces of development are actually really slow and some companies that have come in to Linux and they care about some individual pieces then end up being disappointed in the speed of those individual pieces and that development of those but what IBM to me it's not about technology they have good name they have marketing and they had this wonderful PR agency in in San Francisco that paints the walls which I mean that that just made my day what editor and mail reader do you use where is the question the editor is Micromax the best editor ever made and VI and new Emacs suck suck so now I know I've alienated everybody in the ice I use actually fine I can I've tried some of the graphical male readers I I can't I can't use them I want to be able to do select and piping and crap and it's much easier to do with pine that was anything else it's been a long time since you had a development gonna like it's been like eight nine months so when do you intend to come out of the development column well some people think that I turned 2.4 into a development kernel and solve the problem that way ah one of the problems is being that I hate maintaining the stable kernel at the same time as a maintainer the thing I can't do is just leave it especially with there's patches that Souza has their specials that Red Hat has there's patches that alan cox has and they aren't integrated and and getting all of those integrated has been really really really painful it always is and it always takes me by surprise and I was I've been hoping to have had 2.5 out several times already and the fact is that right now the iteration is really good then we still have a certain amount of vm issues to go through and I'll see if I survive that particular thing at all but with everything going right I can actually turn over a stable kernel to trial costs in in a few weeks and I'll be really happy to open 2.5 I can tell how did it come about to have multiple distributions based around the single kernel they're not all they are they're not there is no single kernel every single distribution has their own changes that's been going on since pretty much day one I don't know if you may remember Ingres Hill was known for for having quite I mean extreme changes to the kernel and even today all the major vendors have their own tweaks because they had some portion of the market they're interested in and quite frankly that's how it should be because I mean if everybody expects one person me to be able to track everything I mean that's not that's not the point of GPL I mean that's not the point of having an open system so actually the fact that a distribution decides that something is so important to them but they will add patches for even when it's not in the standard kernel that's a really good sign for me so that's for example how something like rice or FS got added and the reason Reiser FS is the first journaling file system that was integrated in the standard kernel was not because I loved Hans Reiser it was because Souza actually started shipping with Frizer FS as their standard kernel which told me okay this is actually in production use normal people are doing this they must know something I don't know right and that's so so in a very real sense what a lot of the distribution houses do they are part of this let's make our own branch and let's make our changes to this and because of the GPL I can take the best portions of them right yes so do you think the average non person non techie person in America has stopped worrying about the browser and that it could be useful to help the average understand that we need alternatives I don't know the average person thing anybody whoever asks that question is there's no answer I think that what's very what makes me very optimistic is the fact that let's say five years ago I thought that open-source projects were always technical five years ago that the projects you saw were I mean there was literacy CC has been around forever editors for technical people but not word processors for them and the list goes on and on and I for the longest time thought but this is because the people who actually do development they're always technical people and they will never work on anything that they don't fundamentally use all the time and I think within the last two years or so I've been proven wrong that the thing the reason for technical projects was that the infrastructure for doing non-technical projects just was not there you need to have a kernel you need to have all the windowing libraries you need to have enough infrastructure to to work on a non-technical project and I think that the average user doesn't really care about anything the only thing the average user cares about it's not whether Microsoft is good or evil but whether you can get your job done cheaply efficiently and in order to do that you need to have everything that most people expect and in the last year I've actually seen that starting to happen it hasn't historically been true and it's not about the office tools I mean that's part of it you need to have something that we've stock files but it's it's about a lot more and that's actually the advantage of all open sources that you can have you cannot afford as a company to go after the space there is no way a company can ever go after that space because it's too expensive you had you had to concentrate on too many things I mean IBM tried I I was actually surprised that even some Linux companies even tried to go after the desktop space you can't but if you look at open source in a bigger picture open source can not as a company but just by virtue of having tons of people who are all interested in their own thing and I'm I'm actually I'm as I mentioned I'm actually putting my foot where my mouth is now my I'm using KDE and the pay office tools because I'm a big believer that that's section a project that a lot of people are working on and that could make it come about and I think it will happen it's been ten years since nothing and in ten years time I'm actually fairly convinced that just having people work together as trite as it sounds actually does end up being a really powerful way of getting things done one of the problems that applicational companies have is that they have to certify on every single distribution do you feel that LSB will ever become something useful that we can use to certify distributions much easier that we do today I think I see document I see standards bodies as documentation and really nothing more and documentation always lags reality the question is where is the active development going on historically analytics the active development has going on in very fundamental infrastructure so you can't trust can't trust even the kernel you can't trust system libraries because they've been changing very rapidly and things like that and in those situations documentation whether it be regular documentation or something like LSB which does standards documentation will always lag behind and and standards in that sense won't save anybody what does end up happening is that infrastructure does get more dependable in the sense that there aren't major changes that are visible to application developers and that's why LSB is actually catching up in those areas but there will always be areas where there is no good standard that's one of the advantages of having one companies that you don't have to have a standard because you create it I think that for most traditional UNIX applications LSB is already good enough of a standard for something like the user interfaces I don't think we're even close to standard yet and that will just take time so it depends on which kind of company you're working in I have two questions one historical one sort of future prognostication that historical one is can you mention like sort of the most controversial decision you've made for a big change that turned out to be wildly successful and then and then on the opposite side a change that you made that turned out to be a big mistake that you regretted and then future where do you think the software industry software development process software as an entity is headed next you know over the over the next few decades okay I can't actually point to any I've never had a technical decision that I came to regret and the reason for that is not because I make perfect decisions it's because technical decisions are so easy to fix later on right there are other decisions that are really hard to fix later on right you can alienate somebody and you can never fix that poor but technical decisions they're easy to fix so they're in that sense a very positive answer no technical decision that I breath the only technical decision that a lot of people disagreed with me on and I I think turned out to be a major good feature was actually the the Linux directory cache which is not actually a directory cache but in the traditional meaning and that was why a lot of people disagreed with me but but and it it started out as a directory patch and I said no we're not going to do this if it's only a directory cache I want it to be a path name cache and that turned out I think that's one of the nicest features of Linux right now and it turned out to make the Linux file systems such a pleasant thing and you can do things on a filesystem layer that under Linux that very few other os's can do which is wonderful so that's one example of a decision a few years ago where where I I decided okay this is the right thing to do let's just do it and every single file system was broken for I mean a lot of file systems were actually broken for a year for not for years but for a year and because we only fixed up the ones we cared about the third part was yeah my crystal ball broke whatever ah I'd like I mean I'm just saying one thing which is I don't know of more than one company that actually sells software right the only company whose product is software is Microsoft right there's a lot of suffering but their product isn't suffer the product is something else said celery just is just a large component of it right I mean IBM is mentioned as the biggest software company in the world right and the fact is nobody thinks of some of I be M is a suffer provider even though they're the biggest one right because what they're really doing is they're selling everything and suffer is just so important today that that they happen to sell a lot of suffer as part of selling their support right I mean that's what they really sell and support and and under me and having somebody can blame and and that's tends to be true of just about everybody I can't name a single big company that sells just software can you Oracle doesn't solve just suffer most of it I mean it's it's all a cessation crime when you're when you buy an Oracle database you buy the support - yes right Adobe maybe actually I'm fairly good at something although I think that OB gets most of its licensing of its money through licensing to printer manufacturers right where a lot of Adobe's money comes from either the PostScript engine or just the the 25 cents a pop for each printer that sells with Adobe Photoshop or with like cameras and stuff so I don't I I suspect even Adobe mostly it comes from licensing for somebody else's products but I mean that's a different issue but I think that is always going to be true that that suffer is just a part of a solution and you make your gadget your gizmo much more useful with the use of software and too many people think on software as the product when it's really just a part of it I mean how many how many companies make arose today you can't name a single one of them there's a lot of companies that do paving right but you don't make rows they're part of your solution of getting from one place to the other okay no more questions re-really you are do you think about the future Lee nuts on embedded devices small handheld gadgets and all I try to avoid thinking about that and and I'm I'm actually I mean the one thing I do not want to do is I don't want to have this vision of where I want to go I'd much rather be surprised by what people do and I was really happy to see like the watch that IBM had I was really happy to see this gas pump running the Linux just so that you could watch cnn.com well where you were pumping gas and things like that I mean that those are the kind of embedded uses that I'm really looking forward to but I mean the whole point of them being that they take me by surprise and at the same time it's not my personal push for Linux has always actually be the desktop I mean most people know Linux as the server operating system and to me I've never used Linux as a server except when some Mis guy has made a server run Linux right to me Linux has always be the workstation the desktop I use every day and I'm not going to change that at least not right now it's like me the embedded space is just something to surprise me right the same is through our supercomputers I get really excited when I hear about some new supercomputer running Linux in new interesting ways but it's not something I work on or that I'm interested in in any other sense I know you don't particularly use debuggers when you write Linux code but do you use debuggers when you work in transmitter one and the second question I have is bliss then I still intend to take over the world answer the second question first yes I think that maybe not Linux but I think that especially for infrastructure that common programs that everybody has to have use I think some open source project will take over eventually it could take a long time and it may not be learners as to my dislike for debuggers just let's just leave it at that I don't like debuggers I don't actually use them I much prefer looking at the source I liked trash dumps so I actually use debuggers even for the kernel what I use debuggers for is I do I have gdb VM Linux and then I use that to see okay what did that address actually mean right so I use debuggers for trash dump kind of things but I have this old-fashioned belief that debuggers make for worse programmers and if you don't understand the problem in a source level you shouldn't even try to fix it and a lot of people disagree with me I know a lot of people do to agree with me too so just think about that not start the war right here again two questions I guess mine come in twos what do you find most technically interesting right now about about Linux kernel development what do you personally most interested in and what you see is the future of SMP how big will it get will there be like trying to partition a machine with a lot of CPUs into collections of CPUs to reduce some of the overheads you know where do you see an SMP going for the longest time I was actually working mostly on a simpie isn't being a memory it had been quite in my corner stammers for the last few years what really brings both of those together is Numa and I think that from a technical perspective that is some of the most interesting spaces you can go at the same time I'm this I have this very pragmatic view and that is right now my pragmatic part says Numa is not reality except for very special case computers it may be that in a few years I suspect it's more than five will have cheap enough knew much if that's what really made the difference for SMP for example what's really that SP used to be really expensive because everybody had to design their own chipset and there just wasn't much reason to push SMP in a larger scale the same is absolutely true of Newman right now right now new mines like you're using it in very odd situation and you're paying premium prices and that's not an an area where I'm interested in looks I mean there are other people who are interested in Linux in the niche areas but but I'm really hoping that new mobile get to the point where I can have a Numa desktop machine and the reason I have a Numa desktop machine is that they can cram 60 CPUs together and doing anything but Numa won't make sense that's that's my hope but but as I said I think that's at least five years away but but things like multiple CPUs in a chip might be what actually brings Numa to the regular people because then you'll have Numa clusters of chips where-where-where the internship communication is fundamentally faster than than the interruption or the unaware run so but but even so that's right now nobody's building those machines in there and even when they start building them they will not be cheap and they won't be relevant for most of the market but I that's that's kind of what I'm looking forward to in old age um do you have any interest in how the Linux way of doing things the communal and evolutionary action behind it may affect the way political and economic systems may work in the future not me I I miss I had these theories and I've thought out them just as far as I'm interested in trying to answer wise things like Linux work but then in the end I'm a really simple guy and what I'm interested in the technology I actively avoid getting in into politics I mean even when it comes to technical politics like like the politics that happens inside Linux in between different Linux people I try my best to get stay out of that and and I have my theory of life and that's not very deep and I'm not that interested in going any deeper either so how do you have time for a real job ah I don't know I I have this firm belief that it doesn't matter how many hours you've been into a project it just matters what quality you put into a project that's also made my excuse for sleeping ten hours a day so Sam I don't know I one of the reasons I really like working for transmeta and this is not transmitted a specific but let's put it this way one of the reasons I really enjoy having a real job as opposed to having Linux is that it kind of gives you outlet for when you get really bored or really just annoyed at the people you have to work with and even if you're working with the best people in the world and I think I am with some of them you get annoyed at them at points and it's wonderful to have these two completely separate groups of people that you work with so that I never work like half day on Linux and half day on transmit what I do is I work one week 90% of Linux on 10% I just follow what happens if transmeta and then I switch or something like this and that's wonderful for my mental sanity I think I wanted to know if you have any other causes that you think being the creator of limbs could help you advance No well apart from iff I mean II FF I actually feel fairly strongly about and I really need it when I say that yes if you want to support the Red Cross for New York City this month go ahead and do so but when you come back and give it uff at least the thought I mean that may sound really bad just a week after the disaster but I'm saying in the bigger picture the e FF matters more that's that's my personal opinion and that just shows how important I think that area is when it comes to other things I've never been interested in saving the whales or for example a lot of people use Linux for very good purposes in third-world countries and some people have asked whether I want to get involved with these projects to bring Linux computers to to places that can't afford anything else and I've always said no because what I'm interested in is the technology and and people think I'm this do-gooder and and they don't realize that I do it because it's fun right I'm a very selfish person and I just had the big fortune of being portrayed as a white hat by the press hi have you ever grown up with any role models in mind like any other hackers or developers or whatever you must be admiring some of the people some of the other great hackers are when I grew up my role models were not computer people in fact still most of my role models are not computer people we're not very beautiful Bunch I mean and I'm not talking about the physical beauty of us my role models we're scientists and especially physicists right people who try to figure out how the world works those were kind of my my idols if you have to ask me I'm not even going to say it's yeah that's ok can I ask one earlier when you were describing the evolutionary approach to developing software I question came to my mind are you against doing software design I come from a university background and I remember how we were you supposed to design software and I'm against that kind of design yes a lot of people do a very strict design first and then they try to implement it and when they find problems in the design they just implement it anyway and I'm a big believer in doing prototypes and if the first prototype doesn't work you do the second and if that one doesn't work maybe you say ok this was a stupid idea let's go do something else is there but if the second starts working maybe you throw that one out too and then you do the right thing on the third try and and I'm not against design but for example I try to I've never tried to write down a design for what I do except after the fact I try to document what happens and if the design is so complex that you can't kind of keep track of the design rules in your head you're doing something wrong and this is why I like use the design is not complex that you can't keep track of the basic rules in your head sure you may not have a clue how system v IPC works because quite frankly it's complex and it's like esoteric like you wouldn't believe but it doesn't matter for the big design it's some words but you don't have to care about it it doesn't bring the system down right and decide at that point is something really really really important and that is something I mean where Linux is not very interesting from a design standpoint because the fundamental design we got handed to us right a lot of people have said that Linux is much more interesting from a social standpoint than from a technical standpoint and I tend to disagree just because there are a lot of I mean details are important details are what actually makes it work and that's where it express a lot of interesting stuff but at the same time I do agree on on the design level the design is important in that sense you have to have a mindset for how things work but once you start writing it down and you have 110 pages of design criteria you might as well go work for the US government I mean it's it's not programming anymore it's just - right so - thank you so much someone that someone that was nervous about speaking it was a memorable evening and thank you so much we have a little just a very small token of our appreciation for someone that has really made a lot for computing let's give us dandy Ron so much we wanna Oh
Info
Channel: Computer History Museum
Views: 601,068
Rating: undefined out of 5
Keywords: Computer, History, Linus, Torvalds, Linux, Operating, Systems
Id: WVTWCPoUt8w
Channel Id: undefined
Length: 85min 12sec (5112 seconds)
Published: Mon Apr 28 2008
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.