Linus Torvalds Will Answer Your Questions 460
Linus Torvalds was (and still is) the primary force behind the development of the Linux kernel, and since you are reading Slashdot, you already knew that. Mr. Torvalds has agreed to answer any questions you may have about the direction of software, his thoughts on politics, winning the Millenial Technology Prize, or anything else. Ask as many questions as you'd like, but please keep them to one per post. We'll send the best to Linus, and post his answers when we get them back. Remember to keep an eye out for the rest of our upcoming special interviews this month.
The Absolute Death of Software Copyright? (Score:4, Interesting)
Your 2007 Comments on C++ (Score:5, Interesting)
A Helsinki Finn in King Dubya's Court (Score:5, Interesting)
When I'm designing a processor for Linux.... (Score:5, Interesting)
I spend some time designing things in Verilog and trying to read other people's source code at opencores.org, and I recall you did some work at Transmeta. For some time I've had a list of instructions that could be added to processsors that would be drastically speed up common functions, and SSE 4.2 includes some of my favorites, the dqword string comparision instructions. So...
What are your ideas for instrructions that you've always thought should be handled by the processor, but never seen implemented?
Books, Books, Books (Score:5, Interesting)
The End (Score:5, Interesting)
Aging and low-level programming... (Score:5, Interesting)
Hi Linus! Thanks for everything!
How has getting older and raising a family changed the way you look at kernel work and programming in general? Do you see yourself still being involved in the kernel in 20 years? Do you ever just want to take a break for a few years, or do you feel like your time working on the kernel is a rest from the real world?
Avoiding the Unix Wars (Score:5, Interesting)
Why do you think Linux has been able to (mostly) avoid the fragmentation that plagued the competing Unixes of the 1980's? What would you say helps keep Linux a unified project rather than more forked system like BSD?
general-purpose computing (Score:5, Interesting)
PS: Thank you for everything you've done, and continue to do (the world is actually full of heroes but the vast majority of them - at least in this day and age - have limited spheres of influence. You on the other hand...) ;)
steam (Score:3, Interesting)
How do you feel about steam coming to linux? one of my friends is actually the one working on porting it.
Frustrations (Score:5, Interesting)
What frustrates you most in the GNU/Linux ecosystem?
OS challenges for the next 20 years? (Score:4, Interesting)
Hi, Linus. Thank you for your amazing work! I'm wondering what you think the big challenges will be in OS design for the next 20 years.
What would you have done differently? (Score:5, Interesting)
It's been over twenty years since the inception of Linux. With 20/20 hindsight, what you have done differently if you had had today's knowledge and experience back in the early days?
Any wisdom for students and early-career techies? (Score:5, Interesting)
If you could give one piece of technical advice and one piece of non-technical advice to students seeking a technical career and/or early-career tech professionals, what would it be?
Favorite restaurant (Score:2, Interesting)
OT: Everyone should be able to mod this (Score:3, Interesting)
Every registered with halfway decent karma should get several free mod points for Q&A threads like this.
Cooles (Score:5, Interesting)
Monolithic vs. Micro-kernel architecture (Score:5, Interesting)
Has there ever been a time in the development of the Linux Kernel where you've wished you'd gone the Hurd-style micro-kernel route espoused by the like of Tannenbaum, or do you feel that from an architectural standpoint Linux has benefitted from having a monolithic design?
Linux has been massively more successful than Hurd, but I wonder how much of that is down to intrinsic technical superiority of its approach, and how much to the lack of a central driving force supported by a community of committed developers? It always seemed like the Hurd model should have allowed more people to be involved, but that has never seemed to be the case.
Requirements and Design in Linux (Score:3, Interesting)
You've said many times that not having a specific direction or goal for Linux has been a huge advantage and is the main reason it's flexible enough to run on everything from smart phones to super computers. Do you believe that this is a philosophy suited to all projects or is it unique to the kernel? How do the requirements and design phases with formal planning fit into the open source model?
Joker question (Score:5, Interesting)
What question was not asked or not transmitted to you and you'd really wish it was so that you can answer it ?
A break from techie questions! (Score:3, Interesting)
GIT (Score:5, Interesting)
If you had to do GIT over again, what, if anything, would you change?
VERY closely related question, do you like the git-flow project and would you think about pulling that into mainline or not?
Android (Score:5, Interesting)
What is your current opinion on Android? Do you consider Android as a "Linux", "Linux type" or "Linux child"? Are you connected somehow with Android development?
What would get you to move to the GPLv3 (or 4)? (Score:4, Interesting)
I understand that you are completely fine with Tivoization (in that you don't want a license to restrict that), but the GPLv3 does do some other important things. As a user, I really like ending Tivoization, but I understand your position.
More compatible with Apache and other licenses
New ways to provide source (torrenting, the internet)
Better path to compliance (if someone doesn't initially)
Much stronger patent language
More here: http://www.gnu.org/licenses/quick-guide-gplv3.html [gnu.org]
favorite hack (Score:5, Interesting)
I asked a bunch of hard architecture questions, now for a softball Q. Your favorite hack WRT kernel internals and kernel programming in general. drivers, innards, I don't care which. The kind of thing where you took a look at the code and go 'holy cow thats cool' or whatever. You define favorite, hack, and kernel. Just wanting to kick back and hear a story about cool code.
BK & Git (Score:5, Interesting)
You were 'forced' to start working on Git as a result of Jeremy Allison's reverse engineering of the BitKeeper protocol and Larry McVoy's hostile reaction.
At first you weren't too enchanted about the waste of time having to write your own DVSC system from scratch for lack of acceptable alternatives. I remember you complaining about that work preventing you to progress on the kernel.
Now Git is becoming the de-facto tool for source control management in most F/OSS communities and inside companies. That's another very successful project you fathered, and while I guess Mercurial or other projects would have existed anyway, the usage of Git on the kernel has demonstrated its reliability and its performance and traction have made DVCS'es gain visibility and market in no time.
Here come the questions:
* Are there any features you still miss from BK?
* As a happy Git user, I thank Jeremy Allison for his refusal to accept compromise and his tentative to create a Free BK client and I thank you for your refusal to accept a technically inferior/ill-suited solution like SVN. How do you reflect on this?
What would it take to make Linux mainstream? (Score:3, Interesting)
If you could start over again what would you do? (Score:5, Interesting)
The Linux kernel has now been developed for more than 20 years, and is in ways now part of "the establishment" since it now runs on everything from consumer televisions to mass-marketed phones.
If you could start something entirely new, or go back and do it all over again, what would you do? You've made comments in the past about disliking visualization, since getting close to the hardware was what attracted you to the kernel. So this question is largely about what you see as the next radical change at the kernel level might happen over the next 20 years, if anything.
Re:Your 2007 Comments on C++ (Score:5, Interesting)
This site you link to is mostly gibberish. Linus is more concise and a much better writer.
This author views it as a logical fallacy for Linus to say that C++ is terrible because terrible programmers use it. I think to call that a "logical fallacy" misses the point - the point that in practice, it's actually true.
The idea that criticism of common practice in the C++ community comes from ignorance is also kind of amusing. I'm no stranger to C++ personally, there are things that are great about it. I dig that templates can generate good machine code while still allowing generics at the source code level (much better performance than doing generics with function pointers and void*, like libc's qsort for example). I think RAII is great and it's interesting that the technique replicates some of the practices I already do in my C code, but with less room for programmer error. That's all good. I'm a fan of some of what C++11 brings to the table, lambdas are nice, it's good to have the whole "move semantics" to fix those annoying issues with copy constructors getting called more than they ought to.
At the same time in my career I haven't worked with any programmers who understand these points and what they mean. I mean, I know that the "good" C++ programmers are somewhere, I see them occasionally make intelligent points on forums or hear them give talks about C++11. But I never seem to work with these people. Instead what I get are either (1) people writing C++ with a Java accent, or (2) people writing C++ with a C accent. In both cases they tend to do this poorly. The results are pretty crap to work with.
Yes there is bad C code out there, like there is bad code in every language. The mplayer example is fair. But I don't think that's as fundamental to the language as inefficient use of STL is. How many times have you seen a programmer introduce tons of heap allocations or copies without realizing it, due to un-careful use of STL? That's a problem that C has a lot less of. Sticking to a simple language to avoid those issues doesn't seem that unreasonable to me, especially in a development model where people contribute from all over, and being able to quickly audit for bad practices is important.
Simple: Microsoft (Score:5, Interesting)
Re:The End (Score:5, Interesting)
Speaking of ends, one day you'll pass on your duties. How do you envision the kernel and the Linux ecosystem after passing your reigns?
How do you deal with burn-out? (Score:5, Interesting)
Comment removed (Score:5, Interesting)
Finland / United States (Score:4, Interesting)
Kind of a political question: I've always wanted to ask if you think your life would have gone differently had you grown up in the U.S. with similar means. Are there things about life in Finland (politically, socially, economically) that you feel made it more or less possible for you to pursue your interests and eventually develop an O.S. kernel?
Exact time of your birth (Score:4, Interesting)
How do you stay organized? (Score:5, Interesting)