Home > Linux > Linus Torvalds’ Benevolent Dictatorship Linus Torvalds’ Benevolent Dictatorship Eugenia Loli 2004-08-18 Linux 30 Comments The creator of Linux says “I can’t be nasty” when leading the open-source movement since it’s all built on trust and teamwork. About The Author Eugenia Loli Ex-programmer, ex-editor in chief at OSNews.com, now a visual artist/filmmaker. Follow me on Twitter @EugeniaLoli 30 Comments 2004-08-18 7:10 pm He can get all kinds of naaasty with the shiznit dawgs of nastiness. He’s a nasty G, yo. Get your freak on. 2004-08-18 8:24 pm Could we please ban this guy? But back to topic, I always found it interesting that Linus has vastly better people and management skills than most and yet grew up as the stereotypical reclusive nerd. It’s amazing what a good manager can do to keep a group of people from fighting amongst themselves too much. A lot of other open source projects have had problems with high profile being either very nasty or being driven away from the project because of attacks on them by other developers. FreeBSD, Xfree86, OpenBSD… I haven’t heard of any complaints from Linux kernel developers. 2004-08-18 8:34 pm “Linux is actually very stable … but we made sure that with new upgrades, old programs continue to run. We have programs written in 1992 that will run on the latest versions” In reality the Linux developers like to break binary compatibility as often as possible. This makes commercial programs targeted for Linux very risky. Unless you are a big company capable to corrupt open source developers you face a permanent stress of your investments beeing blown away by a design change made by an irresponsible ideology driven individual. I do not feel excited by the prospect of supporting the Microsoft monopoly writing programs targeted to their system nevertheless at present it’s still a smaller evil. 2004-08-18 8:39 pm Linus might have been the stereo typical nerd, but the man has people skills like no one else has. He just has the knack for assembling people around him that can have fierce discussions, very strong feelings and yet still don’t hate their peers on a personal level, even if they feel they are passed by. Linus is a peoples hero that should have streets named after him and statues erected. Not because he would want that or like that (I’m pretty sure he doesn’t), but because of the greatness of the man and his non-aggressive, yet inspiring leadership style. 2004-08-18 8:43 pm Man, I wish Linus was my boss. I don’t know how well that would work at my current job, but in the future it would be cool if he were my boss. It would be even cooler if he were like a personal trainer, just hanging around, reminding me to write some more code, helpin’ me out every now and then. Kinda like a Bonzi Buddy, only Linus. 2004-08-18 8:50 pm For device drivers this is true. I don’t know why Linus is so hostile towards binary only drivers. Is it so hard to make a stable driver API so NVidia and others aren’t forced to constantly change their drivers for each new kernel version? I reeks of ideology, I agree. As for userland programs, I think there’s no reason commercial companies cannot distribute their closed source programs. Netscape 4.x, Adobe Acrobat 5, Realplayer 8, all old programs, still run just fine on a modern Linux system. They can even be made to look very nice. Take a look at Realplayer 10 (GTK2) or Skype (QT) for Linux, looks good and works. 2004-08-18 9:00 pm More on the problem of loading binary kernel modules. This guy writes drivers for the very popular Phillips webcams which also supports Logitech’s Quickcams. The only way he could get at documentation for some of the advanced features was to ask Phillips and sign an NDA so a part of his code must be closed source. This guy is providing a great service to the open source community for free and gets treated like a second class citizen by the kernel people. That really pisses me off and it doesn’t bode well for vendors supporting their devices in Linux. http://www.smcc.demon.nl/webcam/tainting.html 2004-08-18 9:27 pm You can’t really blame Linus and the Linux kernel for breaking binary compatibility. The real people to blame are the glibc maintainers. glibc is notorious for breaking binary compatibility, so much so, that many distros ship several “compatibility” versions just to ensure that legacy apps such as Adobe and Netscape 4.x will run. If you’ve ever attempted to write an assembly language program for Linux you will find that the Linux kernel practically ensures backwards binary compatibility by design. It uses interupt calls on port 0x80 and several of these calls are listed as “for backwards compatibility”. As previously mentioned, device drivers are a different story, but maybe by kernel 3.x someone will have figured out a better way to do kernel modules. 2004-08-18 9:29 pm I once read a comment that providing the possibility of binary drivers would led to more, but badly written drivers. So there stay the philosophical question: What is better? A bad driver or no driver? I’m not sure, but for me I tend to the “bad driver” section. 2004-08-18 9:39 pm In reality the Linux developers like to break binary compatibility as often as possible. I know. Just the other day I booted up my Slackware system and NOTHING worked. No notepad or firefox or terminals. Nothing. Even those Blender static binaries just stopped working. Those damned Linux developers snuck into my system and broke my binary compatibility again. I hate ’em. I hate all of ’em so very much. *sob* 2004-08-18 9:44 pm This is the problem with the Linux model versus a close source company. Open Source generally is full of volunteers doing something they like usually on their free time. Close source is full of these same volunteers being paid to do things that are required but probably not as exciting and working on it full time. Anyways, I liken software development to running a succesful restaurant, everybody would love to be the chef or waiter, but you also need the janitor, the dish washers, and garbageman. “If there’s not enough effort going into a certain thing, it’s usually because it’s hard to get started on something new. Once somebody gets started, the others get into it. Occasionally I have to start a project and get it far enough along that it’s self-sustaining, and then I pray for somebody to take over.” 2004-08-18 9:44 pm In reality the Linux developers like to break binary compatibility as often as possible. They LIKE to? I’m sensing a little mindless bantering on your part, bub… 2004-08-18 9:57 pm Actually, regarding binary drivers, Linus has stated multiple times why he wanted this. The problem is that drivers get access to see ALOT of the internal kernel interfaces. Many little tiny details. (I believe the big reason for this is that in linux you don’t have drivers, you have modules, and modules can do alot more then what drivers can do). So Linus, rightfully dosn’t want people to not be able to make these advancements to the kernel because of the hassle of supporting binary drivers. So what is the solution? Make a minimal ‘library’ that gives binary drivers what they need and insulating them from th erest of the kernel, so that way they are not dependent on these small tiny changes in the kernel. Suprise! That is exactly what NVidia does when you ‘compile’ thier drivers. Infact, this could be a good open source project. To define some kind of interface for device drivers and update the code behind the interface as the kernel changes. 2004-08-18 10:02 pm @Jan In reality the Linux developers like to break binary compatibility as often as possible. This makes commercial programs targeted for Linux very risky. Unless you are a big company capable to corrupt open source developers you face a permanent stress of your investments beeing blown away by a design change made by an irresponsible ideology driven individual. Wrong. Linux *kernel* compatability has not been broken in a long time for “public” kernel interfaces. Internal kernel structures and other things that most applications shouldn’t be using are changed frequently. Now *application* compatability has been broken by distributions a lot. That is true. But Linus is correct when talking about the Kernel. 2004-08-18 10:06 pm If you’ve ever attempted to write an assembly language program for Linux you will find that the Linux kernel practically ensures backwards binary compatibility by design. Very true. The system calls are pretty much static. 2004-08-18 10:09 pm except for pointless arguments, do you know what happens when you load a non-gpl compatible module? Two very important things. 1) A warning saying that this is a binary module (which most people wont see, since the average user dosn’t load modules manually anyway) 2) If you submit a bug report on the kernel it will be ignored unless it can be reproduced without the binary module so that people don’t have to chase after binary module bugs. Wow. Really big things. Very ‘second class citizen’ and the works. Final line is, It’s thier work, thier license, thier time and effort. If you don’t like it, learn WHY(! from the source, and not somebody with a chip on his shoulder) and if you disagree with the fundamental reasons then use a different OS. 2004-08-19 12:36 am Slash, You seem to be looking at OSS as a corporate model instead of software free to be expanded on (tweaked, etc) by programmers around the globe. Considering time zones around the world an OSS project could have programmers in theory working 24/7. This is unlike a typical commercial developer that has staff working 5 days out of the week doing 8 hours per day. Even though the commercial company is paying their staff they know that can’t afford to run development 24/7. So in theory some OSS projects could have a lead on development over commercial software even though the programmers are not paid. The only thing it’s costing them is time. 2004-08-19 12:37 am I’m gonna install an old 0.x linux kernel on a modern system….that’d be pretty crazy. Wait, the driver support might not be so good and compiling in the modules might be even less fun… I think our compatibility challenged friend is refferring to gcc changes. AFAIK Linus does not work on gcc, so maybe he means to hate gnu in general. Not that Windows never does this…. Or other OS’s for that matter. I don’t see all Mac business out of business, seeing as how Apple likes to entirely change the whole base of the OS and all it’s libraries every 6 years . Maybe that isn’t the best example? 2004-08-19 2:50 am Wow! Cool, eh!?! You won’t be able to compile in any modules – that came in with Linux 1.3.x, if I remember correctly. 2004-08-19 2:51 am http://www.projectudi.org/ Uniform Driver Interface, provides an environment for portable driver code, and to establish program plans for deploying this technology. Is this what might work. A limited but stable driver standard? Linux might be able support this as a kernel module, then have it support binary drivers. Or did I miss-read the problem or what UDI is? 2004-08-19 3:26 am For device drivers this is true. I don’t know why Linus is so hostile towards binary only drivers. Is it so hard to make a stable driver API so NVidia and others aren’t forced to constantly change their drivers for each new kernel version? Darling, it isn’t API that is the problem, that has gone through hardly any changes, what is the problem is maintaining an ABI that is backwards compatible, which means that for every bug that is fixed, there needs to be a work around for that bug fix so that drivers that rely on that bug can continue to operate, hence the reason why we have the “hell on earth” with WIndows. Work arounds for work arounds for bloody work arounds. I don’t blame Microsoft, the fact is, bugs will be found, but it isn’t up to Microsoft to ensure that the lazy hardware manufacturers update their drivers. GOOD hardware companies will support their hardware by providing up to date stable drivers; Matrox is a good example, never had a problem, regularly provides updated drivers, gives a good list of what was fixed etc. which is more than I can say for a good number of other hardware vendors out there. 2004-08-19 3:40 am Or did I miss-read the problem or what UDI is? Nope, but (From memory) there was some sort of personality/idealogy problem that meant the UDI scheme was just never even considered. Memory is sketchy, but I think it had something to do with licenses. 2004-08-19 4:27 am it’s not linux the kernel that breaks the binary compability, it’s the Glibc. Anyway, this is a small problem if you *really* want to use some old program that needs different version of Glibc. Solution: Compile older Gcc to somewhere, let’s say /opt/legacy/gcc-<version>, make a bash script for for your old softie with #!/bin/sh export PATH=/opt/legacy/gcc-<version>:/other/stuff/proggie/needs ./program that should do the job :-] hope it helps some people.. Of course if you forget to compile elf binary driver to kernel, you’re on thin ice 😉 2004-08-19 6:21 am “Why can’t we be just like everybody else in the commercial software world and have a malevolent dictator?” http://www.businessweek.com/technology/content/aug2004/tc20040813_1… By Stephen H. Wildstrom A Big Fly in the Open-Source Soup “It’s just not fair! Why are we burdened with a benevolent dictator, of all things?” “Just think, we could fail deadlines the same way everybody else does, we could have cost overruns, we could … ” “Ha, ha, only serious!” 2004-08-19 7:32 am This guy is providing a great service to the open source community for free and gets treated like a second class citizen by the kernel people. That really pisses me off and it doesn’t bode well for vendors supporting their devices in Linux. http://www.smcc.demon.nl/webcam/tainting.html Windows does something similar. It will warn you when you load an “unsigned” driver. You’re free to ignore it, but at least you’re warned that this driver hasn’t gone through the official verification process. I find it perfectly acceptable that the kernel warns me when there is a closed-source (and thus, in the eyes of many people, “unsafe”) piece of code being loaded into the kernel, where it has access to all sorts of “sensitive” stuff. 2004-08-19 12:56 pm Mr. T shows a profound ignorance of history with this analogy. A better one, perhaps, would have been chemistry vs alchemy. 2004-08-19 1:09 pm Mr. T shows a profound ignorance of history with this analogy — i think he is correct. can you explain your viewpoint on this analogy and why it is not apt 2004-08-19 7:48 pm In his analogy you would then have to assume that ‘witchcraft’ at sometime was a dominant force (and perhaps the only force) and ‘science’ either did not exist or had such a small number of adherents as to be inconsequential. I would challenge Mr. T to come up with a society/timeframe where this was the case. If you look a Europe as an example of the history of ‘witchcraft’ vs science, ‘witchcraft’ was not done in by its adherents not sharing information with others but by constant persecution by the Church and State. Furthermore, the very same Church persecuted ‘science’ as well (Galileo being one of many examples). 2004-08-20 4:21 am Linus is my idol programmer. I currently run Debian (Sid) and CRUX to test the possibilities of the Linux kernel. I’d very much like Linux (or, perhaps *BSDs) to break the Microsoft monopoly. KDE and Gnome are quite nice as Desktop Environments go, but I personally like Wmaker more. To me, a distribution is needed that defaults to is Wmaker. The current software patents suck. Linus is quite right when he discusses the software patents. The Open Source model, where you can study the earlier programming efforts, encourages new programmers to make better programs. I wouldn’t go into oppositing science with magic (to me Linux is much like magic), but Linus is right in saying that saying that 2004-08-20 11:42 am I don’t like to oppose magic with science, but Linus’s way of doing so is quite persuasive for me.