Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!


Forgot your password?

Kernel Trap Interview with Theo de Raadt 181

An anonymous reader writes "KernelTrap has an insightful interview with Theo de Raadt, creator of OpenBSD. The wide-ranging interview focuses first on the past few years of OpenBSD development, then moves on to the recently released OpenBSD 3.9. De Raadt talks about how binary blobs threaten free software, and how OpenBSD developers work to reverse engineer them. He also talks about the future of OpenBSD, his views on Linux, and why developing truly free software is so important to him."
This discussion has been archived. No new comments can be posted.

Kernel Trap Interview with Theo de Raadt

Comments Filter:
  • FCC Rules (Score:5, Insightful)

    by jusdisgi ( 617863 ) on Tuesday May 02, 2006 @12:53PM (#15246582)
    I sure wish he had taken a better position on the wifi "FCC Rules require Binary Blobs" issue. He basically agreed that the FCC does require that the consumer not be able to change the frequency, but claimed that it should be dealt with in hardware, not the driver. This line is particularly poorly thought out: "Let the FCC go after the vendors who made the flawed devices."

    See, here's the thing...the people he needs to convince here are the hardware manufacturers. You aren't going to get them to release open drivers by suggesting that the FCC should "go after" them. In fact, it serves to reinforce their binary-blobs-only position; after all, that's their current protection. But worse, by tacitly agreeing with their position about the FCC rules, he cedes the important part of the argument...the part where he could have won it. That's because while the FCC does indeed require that the consumer not be able to change the frequency to licensed spectrum, they have never taken the position that changing the source code is normal consumer operation. After all, consumers can change the frequency on many other chipsets (even in Windows) with binary patches. This is simpler than changing source code and recompiling it. I have never heard anything from the FCC that says you can't distribute source code with this functionality. Which is good, because the current mainline Linux kernel does distribute code that does this. If FCC rules actually forbade this (as the hardware companies are claiming) then it would be illegal to distribute the Linux (and presumably OpenBSD) kernel in the USA.

    There was a wonderful discussion of this on the LKML recently in context of Intel's binary blob driver.
  • Re:FCC Rules (Score:5, Insightful)

    by TigerNut ( 718742 ) on Tuesday May 02, 2006 @01:14PM (#15246790) Homepage Journal
    As a current and past employee of several companies that make wireless transceivers subject to FCC licensing, I can tell you that there is no cost effective way to limit a device to FCC restrictions purely in hardware. Example: A cellular radio or any other modern RF link uses a synthesizer to set the transmit frequency. The output frequency of the synthesizer is a function of the reference frequency and the programmed divide ratio, and the total span of achievable output frequencies is dependent on the VCO that the synth is controlling. The maker of the synthesizer is not usually in a position to dictate the exact reference frequency, nor the VCO that it's hooked up to. The VCO vendor doesn't dictate the type of system that it will be installed into, and therefore can't strictly limit the frequency that it will tune to - and even if they did know exactly where it was going to go, then production tolerances dictate that you have some tuning margin in the design to allow all parts to hit the specified span. That means that individual parts will be tunable outside of the specified span on either the high or low side, and if the micro that controls the synthesizer commands a frequency outside the FCC limits, a lot of the time the hardware will have no problem doing it.

    The same thing applies generally to power output levels. Sophisticated radios have some spare margin in the transmitter power output, and the actual output power level is calibrated at manufacturing time and then set in a FLASH based lookup table. The output power is then controlled using the embedded micro, driving a DAC. In this system, having open code on the embedded micro means that an uncaring individual could just crank the power output without regard for the FCC requirements.

    You can say what you want about the motivations and ethics of the OpenBSD team members - if the source is out there, there will be others that take advantage of any "gains" they could make by tweaking some tuning parameters beyond the design or regulatory limits.

    Ask Theo de Raadt how long it took him to get from his buffer-overrun Sun console hacking days to where he is now - almost everyone goes through a phase where "Just because I can" is sufficient justification to do poorly thought out things.

  • by scottennis ( 225462 ) on Tuesday May 02, 2006 @01:16PM (#15246811) Homepage
    I thought "blob" stood for "binary large object."

    So isn't it redundant to say "binary blob"?
  • Re:Theo (Score:5, Insightful)

    by ArbitraryConstant ( 763964 ) on Tuesday May 02, 2006 @01:23PM (#15246861) Homepage
    I've witnessed him being an asshole.

    Having to deal with him regularly might not be fun, but sometimes it takes assholes to get things done because they're prepared to piss people off to do what needs doing. If the goal were to make OpenBSD into another Ubuntu or Gentoo, his attitude probably wouldn't be that helpful, but for the goals they have it seems to work.
  • Re:FCC Rules (Score:3, Insightful)

    by jusdisgi ( 617863 ) on Tuesday May 02, 2006 @01:25PM (#15246882)

    You did not really read that article, did you? OpenBSD wants hardware documentation...

    I did indeed read the article...I just recognized the larger issue that was not explicitly stated therein. Yes, what he really wants is documentation, although I'm sure he would be just as happy if they simply released the source to their binary blob. In any case, the reason he wants documentation is so that FOSS developers can write a completely open source driver for their hardware. The reason the hardware manufacturers refuse is ostensibly that it would violate FCC rules. The argument for that is that the FCC prohibits devices that the consumer can change to a licensed frequency. TFA actually discusses this.

    ...and besides, why should I as an EU citizen care about FCC regulations?

    Surely you are just making a joke, and are not so utterly naive. You'll note that Theo is Canadian, but he obviously seems to care. When you find a wifi chipset that isn't sold in the USA at all, let me know. Until then, the restrictions placed on hardware and software manufacturers by the US government will continue to have a strong impact on FOSS users, regardless of where they live. This is an excellent example; you aren't under FCC jurisdiction, but you're still stuck with binary blob drivers from companies that claim it's their only method of FCC compliance.

  • Re:FCC Rules (Score:3, Insightful)

    by jusdisgi ( 617863 ) on Tuesday May 02, 2006 @01:37PM (#15246995)
    Now damn it, this is completely wrong. Read my other reply to your previous, identical statement, which I posted before you posted this. Our laws impact you because the hardware manufacturers want to sell their stuff here. So you are stuck with FCC compliant products, regardless of whether you are under FCC jurisdiction.
  • Re:Theo (Score:2, Insightful)

    by jo42 ( 227475 ) on Tuesday May 02, 2006 @01:38PM (#15247000) Homepage
    Thank Gawd he's not a limp-wristed, touchy-feely, mamby-pamby, pear-shaped, wet noodle.
  • Great Interview... (Score:3, Insightful)

    by link915 ( 900930 ) on Tuesday May 02, 2006 @01:38PM (#15247005) Homepage
    This was an excellent interview and Theo seemed fairly down-to-earth. I actually agree with many of Theo's POV's but don't always agree with how he conveys them. This interview seemed to show his *softer* side :)

    Honestly though, he is right...the big Linux vendors really needed to step up and donate to the project. I am a FreeBSD user and certainly understand the need for funding to keep these projects going. OpenSSH is an amazing piece of software that we all use quite a bit. I can't say that I give all of my money to these projects but I do purchase CD sets and can only hope that the rest of you do as well.

    I guess sometimes we are all dicks when we really believe in something. Although Theo can come across as a dick sometimes he really does stand for a good cause. Software should be free!
  • by Anonymous Coward on Tuesday May 02, 2006 @01:49PM (#15247124)
    The fundamental reason why companies do not open up their drivers is because the average end user considers it a Linux problem when Linux doesn't have proper support for a given proprietary piece of hardware, instead of a problem with the maker of the chipset in question.

    I think one reason for this is because there are a zillion consumer devices out there and no real place to be able to look up a given piece of consumer hardware and see who is making the chips for said hardware, and whether the chipset in question has a Linux driver. More importantly, if a given chipset doesn't have a Linux driver, the documentation should tell us whether this is because the chipset in question is closed, or if it is because no one has had a chance to write a driver.

    If this information is out there, when people give the usual "Linux sucks because it doesn't support X piece of hardware" flame, the reply can be "blame the makers of X piece of hardware, not Linux". If this mindset catches on, companies will start supporting Linux better. For example, I bought a Creative Zen Nano instead of an iPod Nano because the Zen had full Linux support; the iPod doesn't.

    The problem with making this online database is that someone will need to be motivated to make such a database; this is a non-trivial task. The wiki model is perfect for something like this. Indeed, someone has a wiki-based database like this for IBM Thinkpad computers [thinkwiki.org]
  • Re:FCC Rules (Score:3, Insightful)

    by jusdisgi ( 617863 ) on Tuesday May 02, 2006 @02:09PM (#15247303)

    See, you're missing the point here. It's not whether a consumer might be able to violate FCC regulations. It's the fact that manufacture of a device that allows the consumer to transmit in a licensed band is itself a violation.

    In other words, the manufacturers are prohibited by FCC rules from making a device that a consumer can run in a licensed band or at a higher-than-allowed output power. However, the part the manufacturers are ignoring is that the FCC seems to mean this in the context of the normal consumer-level interfaces, which doesn't include the source code. Changing the source code would be abnormal activity not sanctioned by the manufacturer and outside of normal use.

  • by Craig Davison ( 37723 ) on Tuesday May 02, 2006 @02:13PM (#15247336)
    Come on. He's asking for money, not code changes. On that level, GPL-licensed code and BSD-licensed code are the same. A company like Linksys could use the Linux kernel in their routers without giving a cent to Linus or the hundreds of others.

    There's nothing wrong with _asking_ for contributions. He knows that nobody owes him anything, and that jackasses like you will give him nothing but hot air, probably all the while logged into an OpenSSH server somewhere.
  • by Anonymous Coward on Tuesday May 02, 2006 @02:14PM (#15247348)
    Oh my, you really don't have a fucking clue, do you?
    The OpenBSD project's recent funding problems have absolutely nothing to do with licensing; zero, zip, nada. The problem is not companies (Linux vendors, Cisco, Sun, etc.) modifying OpenSSH and without releasing changes publicly. The OpenBSD/OpenSSH project doesn't care about that, they expect it to happen. The problem is with said vendors using, redistributing and profiting from OpenSSH without making even a modest monetary donation in return. Given this, please, enlighten me as to releasing OpenSSH under the GPL would have any impact on this? Where in the GPL does it state that all redistribution and/or modification requires supporting the software's developers financially?
    You think expecting a little money for something you poured blood, sweat, and tears into is "arrogant"? How about including open source software in almost all of your products (Cisco, Sun), and not giving a penny back for being given the opportunity to do so? Of course you have no obligation, but given the fact you're profiting off of this software, wouldn't it be wise to donate something (money, hardware) to the developers so that the software you're profiting from can continue to be developed? Some companies/projects have: GoDaddy and the Mozilla foundation. And hopefully more will in the future.

    Oh, and whoever modded the parent up as insightful needs to be hit with a cluestick.
  • by hahiss ( 696716 ) on Tuesday May 02, 2006 @02:16PM (#15247356) Homepage
    Agreed; this analogy is utterly awful! Not only is there this unhealthy response to prostitutes (someone needs to get some therapy. . .), the *ENTIRE* analogy doesn't work:

    A prostitute is someone who gives what they otherwise wouldn't (sex) in exchange for cash. Theo gives his software away for free, to anyone, to use as they wish.

    Now maybe you (GP) think the Free Software isn't a sound business strategy, and maybe you think Theo's a jackass---and heck, maybe you think he's getting what he deserved because he didn't demand that corporations leave their cash on the nightstand ahead of time [THAT'S how you make a prostitution reference!] but holy crap son could you find a way to say that without invoking repellant examples that contradict your point completely.

  • Re:Theo (Score:1, Insightful)

    by Anonymous Coward on Tuesday May 02, 2006 @02:38PM (#15247625)
    I've only interacted with him a couple times in online-forums. Indeed he has at times disagreed with my point of view, skipped over the traditional "You are wrong because..." portion of a discussion, and instead launched (almost incoherent) personal attacks. Taking into account his obvious intelligence, coupled with the number of times his behaviour has really stung him personally, and I really believe the guy just can't help it -- quite simply, he goes off half-cocked.

    To all the people that call him as asshole and never miss an occasion to trash him publically, I can only say that his actions speak louder than words: The guy is astonishingly committed noble pursuits ... a characteristic a lot more rare than mere technical skill.
  • Logical fallacy (Score:1, Insightful)

    by Anonymous Coward on Tuesday May 02, 2006 @02:41PM (#15247647)
    "In this system, having open code on the embedded micro means that an uncaring individual could just crank the power output without regard for the FCC requirements."

    An uncaring individual can already do this, regardless of whether the code is open or closed. Having the code being open simply saves some time; but it does NOT prevent the effort. Most consumers could care less, and won't touch it. The ones who really want to can already do this.
  • Re:Financing? (Score:2, Insightful)

    by Arandir ( 19206 ) on Tuesday May 02, 2006 @03:38PM (#15248211) Homepage Journal
    ...but i still think that OpenSSH funding should be more important than such political quarrels.

    So how come no one's blaming Theo then? If it is true that his attitude lost him his funding (which isn't demonstrated, btw), then let's blame the attitude. You don't tell someone to fuck off and then expect them to fund you.
  • by OttoM ( 467655 ) on Tuesday May 02, 2006 @04:57PM (#15248914)
    The problem is not the other open source projects. It's the commercial Linux and Unix vendors (and other as well) that use all the benefits of OpenSSH, but do nothing in return. To name a few: IBM, HP, Cisco.
  • by Homestar Breadmaker ( 962113 ) on Wednesday May 03, 2006 @12:24AM (#15251380)
    Unfortunately, its not so simple. Many of the optimizations required serious recoding of gcc, making it MUCH slower to compile code, even when you don't have any optimizations turned on. Notice how gcc3 is twice as slow as gcc2? Notice how gcc4 is even slower?
  • Re:Compilers (Score:3, Insightful)

    by mccoma ( 64578 ) on Wednesday May 03, 2006 @02:33AM (#15251649)
    It seemed to me he was more concerned that the correctness of the generated code was being compromised by the optimizations. I would expect the would love a small, correct compiler that they could add various security enhancements (e.g. stack protection) in a straightforward manner.

How many NASA managers does it take to screw in a lightbulb? "That's a known problem... don't worry about it."