Shostack + Friends Blog Archive


Uncle Harold and Open Source


Uncle Harold (not his real name, not our real relationship, and I never even called him “Uncle”) was a cool guy who always fixed his own cars. Most of my life, Uncle Harold has been complaining. It used to be you could actually fix a car. You could put things in, take them out, adjust them, tune them, and so on. As time has gone on, cars got electronics in them, then computers, and nowadays an auto mechanic is as much a computer tech with grease under his nails as a mechanic.

I never was much into mechanics as a kid. My father wasn’t, either, and discouraged me from ever being a mechanic. If he were to read this, he’d deny discouraging me, but he did. All he did was point out that some bit of automotive fluff that caught my eye would literally be high-maintenance, and either you do that yourself or you pay someone else.

I eventually did buy a pre-1968 bit of automotive loveliness as part of a quarter-life (okay, third-life) adjustment. The 1968 date is important because that’s when the US started requiring pollution controls, safety equipment, and so on that caused the transit of the gloria of Uncle Harold’s mundi.

For a technologist, a pre-’68 car is utterly amazing because of sublime lack of technology in it. It needs petrol to burn, water to cool, oil to lubricate, and enough electricity to drive the spark plugs. That’s it.

The first time I tuned a pair of SU carbs, it was amazing fun. I could really understand Uncle Harold’s irritation. The tenth time it was far less fun, partially because I’d gotten good at it. It was just a chore. I could really understand my father’s point of view even better. Eventually, the antique bit of fluff got sold and I got a modern fun car that has computers that run everything from engine to brakes.

It’s really sort of sad that I can’t tune the carbs (which of course I don’t have; it’s all fuel-injected). It’s even amusing that if you pull the power from the car, the computers lose their state and they they have to re-tune the ignition system, over the next few miles you drive — in a wtf sort of way. I mean, haven’t these people heard of flash? How much space does it take to store ignition settings and radio presets? (Yes, Uncle Harold, a real radio stores its presets mechanically. Thanks.)

But it’s really wonderful that I don’t have to tune the carbs. There are reasons why those wonderful old systems were replaced. The new ones really are better. Uncle Harold thinks the world has gone to hell in a hand basket. I see the merit in what he says, but when it comes right down to it, I prefer my present hell to Uncle Harold’s heaven.

The brilliant Ivan Krstić has recently written about the transit of his own personal gloria [link to no longer works], the OLPC project. In part of his essay, he shows clearly about how some open source people, in particular RMS, have become Uncle Harold, insisting that if you can’t tune those metaphorical carbs, it’s like forcing people to be crack addicts. (And this is paraphrasing, not misquoting RMS.)

Krstić also talks about the same Haroldisms. He says:

About eight months ago, when I caught myself fighting yet another battle with suspend/resume on my Linux-running laptop, I got so furious that I went to the nearest Apple store and bought a MacBook. After 12 years of almost exclusive use of free software, I switched to Mac OS X. And you know, shitty power management and many other hassles aren’t Linux’s fault. The fault lies with needlessly secretive vendors not releasing documentation that would make it possible for Linux to play well with their hardware. But until the day comes when hardware vendors and free software developers find themselves holding hands and spontaneously bursting into one giant orgiastic Kumbaya, that’s the world we live in. So in the meantime, I switched to OS X and find it to be an overwhelmingly more enjoyable computing experience. I still have my free software UNIX shell, my free software programming language, my free software ports system, my free software editor [link to no longer works], and I run a bunch of free software Linux virtual machines. The vast, near-total majority of computer users aren’t programmers. Of the programmers, a vast, near-total majority don’t dare in the Land o’ Kernel tread. As one of the people who actually can hack my kernel to suit, I find that I don’t miss the ability in the least. There, I said it. Hang me for treason.

My theory is that technical people, especially when younger, get a particular thrill out of dicking around with their software. Much like case modders, these folks see it as a badge of honor that they spent countless hours compiling and configuring their software to oblivion. Hey, I was there too. And the older I get, the more I want things to work out of the box. Ubuntu is getting better at delivering that experience for novice users. Serious power users seem to find that OS X is unrivaled at it.

I used to think that there was something wrong with me for thinking this. Then I started looking at the mail headers on mailing lists where I hang out, curious about what other folks I respect were using. It looks like most of the luminaries in the security community, one of the most hardcore technical communities on the planet, use OS X.

And lest you think this is some kind of Apple-paid rant, I’ll mention Mitch Bradley. Have you read the story of Mel, the “real” programmer? Mitch is that guy, in 2008. Firmware superhacker, author of the IEEE Open Firmware standard, wrote the firmware that Sun shipped on its machines for a good couple of decades, and in general one of the few people I’ve ever had the pleasure of working with whose technical competence so inordinately exceeds mine that I feel I wouldn’t even know how to start catching up. Mitch’s primary laptop runs Windows.

I know exactly what he means. Once, long ago, I’d fire up my GosMacs [link to no longer works] session in the morning and close it down when I’d go home. I and my colleagues had so customized our editors (which we lived in) the we said that using someone else’s emacs was like using someone else’s toothbrush. It’s just not done.

When the Story of Mel came out, one of my coding buddies read it and it really creeped her out. She sent out an email to all of us that said, “Oh, my God, that’s my *DAD*!”

I once patched a running CVAX just to watch it fly. I admit that I did it because of the smart remark in Dungeon. And I’ve changed my unices so many times I don’t know what I look like [link to no longer works].

Like me, Ivan’s stopped being Uncle Harold with computers. I like being able to get grungy, but I also hate having to. The last remnant of my Uncle Haroldism is my main server that’s running FreeBSD. I am especially glad this week that I listened to Ben and didn’t put Ubuntu on it. I’m even chafing at that system and asking myself why I don’t just outsource the whole damned thing. I’d tell you, but then you’d see my tinfoil hat. (Oh, all right. If you run your own mail server, they can’t NSL your sysadmin. I know what you’re going to say. I’ve said it myself. Hush.)

Nonetheless, the Uncle Harolds of the world have a point. It’s nice to be able to change your kernel. It’s nice to be able to recompile everything. It’s just a drag to have to. When Open Source realizes that, it will make great strides to getting back people as non-technical as Ivan. And yeah, Ubuntu’s getting close, I know that. I actually do love puttering around, but another prop has occupied my time.

Photo courtesy of Light Collector.

5 comments on "Uncle Harold and Open Source"

  • David Brodbeck says:

    Great article. I feel the same way about MacOS, which I use at work. To be honest the only reason my new personal laptop isn’t a MacBook is that I wanted an inexpensive machine in a small form factor, like an Eee PC, and Apple doesn’t make one.
    On a side note, I think there are two reasons car ECUs don’t store their trim maps in flash. One is simply cost. It may sound silly, but shaving $3 off the price of a $20,000 car is a big deal for an automaker. If they build a million cars, they just increased their profit by $3,000,000. The other reason is it’s not uncommon, on cars with high mileage, for the fuel trim maps to get into a pathological state where the car won’t run right. I’ve had it happen on my Ford. When the idle starts surging I take off the battery cable to wipe the ECU’s memory and the car runs better. My theory is things have gotten enough out of spec over the years that the ECU eventually adjusts itself into a state that’s outside the feedback envelope it was designed to run in. If there were flash memory involved they’d have to provide a way to manually wipe it back to defaults, which would again add cost and complexity.

  • Toby says:

    Nonetheless, the Uncle Harolds of the world have a point. It’s nice to be able to change your kernel. It’s nice to be able to recompile everything. It’s just a drag to have to. When Open Source realizes that, it will make great strides to getting back people as non-technical as Ivan.

    Ivan is nothing if not technical.

  • Dan Weber says:

    I’m going to be upgrading Ubuntu desktops in a few days. Maybe I’ll finally get a Unix desktop where I can have multiple applications playing sound at the same time without needing to recompile stuff.
    And the older I get, the more I want things to work out of the box.
    Hear hear!

  • Mordaxus says:

    re Toby:
    That’s my point. If Linux drives away people as non-technical as Ivan and me, people with valid kernel licenses but who don’t want to have to write kernel code, it will always be niche.
    I’ll try not to use withering sarcasm so much.

  • Anonymous says:

    Actually, the point of open source is not only that joebob can change his kernel. It’s that it frees us from being dependent on a software vendor for something that is important. If Microsoft or Apple go bankrupt or attach some license to their software that you can’t accept, you’re pretty much screwed. To use your broken analogy, it means that you can take your car to any shop for it to be fixed, instead of the Microsoft shop.
    It’s also that digital artifacts, such as code, have a marginal cost of 0, so it seems stupid that once it’s done we can not share software freely. Yes, there is a need for people to be compensated for their work, but that does not invalidate this point. The proof is in the pudding, as there is a lot of open source software for which people get paid to work on.
    RMS has done so much for the software world and lives according to his values. That is, he doesn’t cash out on some paycheck and stands for what he believes in, which is admirable. You?

Comments are closed.