Jun 06

Evaluating the harm from closed source

Some people are obsessive about never using closed-source software under any circumstances. Some other people think that because I’m the person who wrote the foundational theory of open source I ought to be one of those obsessives myself, and become puzzled and hostile when I demur that I’m not a fanatic. Sometimes such people will continue by trying to trap me in nutty false dichotomies (like this guy) and become confused when I refuse to play.

A common failure mode in human reasoning is to become too attached to theory, to the point where we begin ignoring the reality it was intended to describe. The way this manifests in ethical and moral reasoning is that we tend to forget why we make rules – to avoid harmful consequences. Instead, we tend to become fixated on the rules and the language of the rules, and end up fulfilling Santayana’s definition of a fanatic: one who redoubles his efforts after he has forgotten his aim.

When asking the question “When is it wrong (or right) to use closed-source software?”, we should treat it the same way we treat every other ethical question. First, by being very clear about what harmful consequences we wish to avoid; second, by reasoning from the avoidance of harm to a rule that is minimal and restricts peoples’ choices as little as possible.

In the remainder of this essay I will develop a theory of the harm from closed source, then consider what ethical rules that theory implies.

Continue reading

May 31

Oracle becomes SCO redux

To the surprise of nobody who was actually familiar with the underlying law and precedent, the judge in the Oracle-vs.-Google mega-lawsuit ruled today that Oracle’s claim of copyright protection on the Java APIs is contrary to law.

This means Oracle’s claims against Google are toast. Their best case is now that they’ll get $300K in statutory damages for two technical copyright violations, almost noise compared to what Oracle spent in legal fees. The patent claims went just as thoroughly nowhere as I predicted back when the lawsuit was launched.

Continue reading

May 23

Beginning of the end for the patent wars?

It’s all over the net today. As I repeatedly predicted, the patent claims in the Oracle-vs.-Java lawsuit over Android have completely fizzled. Oracle’s only shred of hope at this point is that Judge Alsup will rule that APIs can be copyrighted, and given the extent of cluefulness Alsup has displayed (he mentioned in court having done some programming himself) this seems rather unlikely.

Continue reading

May 13

Engineering zero-defect software

I’ve been pounding on GPSD with the Coverity static analyzer’s self-build procedure for several days. It is my great pleasure to report that we have just reached zero defect reports in 72.8KLOC. Coverity says this code is clean. And because I think this should be an example unto others, I shall explain how I think others can do likewise.

Continue reading

May 11

The “Plain Jane” timing GPS is real

The GPS with my magic modification that makes it into a 1ms-accurate time source over USB arrived here last week. And…wow. It works. Not only is it delivering 1PPS where I can see it, it’s the best GPS I’ve ever handled on a couple other axes as well, including superb indoor performance. Despite the fact that it’s been sitting on my desk five feet from a window blocked by large trees, it acquired sat lock in seconds and (judging by the steadily blinking LED) doesn’t appear to have lost it even transiently at any time since.

Continue reading

Apr 21

giflib: everything old is new again

In 1994 I handed off the maintainership of giflib, the open-source library used by pretty much everything in the universe that displays images for the single most widely used icon and image format on the World Wide Web, because patent issues made it unwise for the project to be run by someone in the U.S. Now, eighteen years later, Toshio Kuratomi (the hacker who took it over then) has asked me to resume the lead. I have accepted his request.

Continue reading

Apr 15

Open source warfare != open source software

One of my commenters brought up John Robb, a former SpecOps pilot who has made a name for himself as a counter-terror theorist by writing about “open-source warfare”. Mutual acquaintances confirm what Robb’s own writings suggest, which is that his notions of open-source warfare are heavily influenced by what I have called the bazaar model of software development.

When I learned this in 2004 I attempted to begin a conversation with John Robb by email. The remainder of this post is my email to him – to which, for whatever reason, he never replied. I have edited the one link reference into a live link.

Continue reading

Apr 12

Making simple connections

About six weeks ago I asked How would you like to help fix the Internet? It was an open invitation to help develop a cheap millisecond-precision time source for instrumented routers, so we can do delay tomography on the Internet and measure the bufferbloat problem.

The discussion thread on that post was lively, but eventually moved to a thumbgps project mailing list out of public view. I’m going to summarize what has gone on here because parts of it are very interesting in a “Wow…it really is the 21st century!” sort of way, and illustrate that there can be a lot of power in making simple connections.

Continue reading

Mar 01

Calling all open-source hardware engineers

How would you like to help fix the Internet?

One of the efforts I’ve been contributing to during the last year is the Bufferbloat project, a group of experienced Internet engineers who believe that excessive buffering and poor queue-management strategies may be the real villains behind a lot of network problems commonly attributed to undercapacity.

Before we can solve the problem, we need to measure and map it by collecting a lot of packet-propagation-time statistics. Awkwardly, we suspect that one of the services being screwed up by bufferbloat-induced latency spikes is the Network Time Protocol. So…Dave Täht (aka Dave from my basement) is trying to build a device he calls the Cosmic Background Bufferbloat Detector. The CBBD would be a flock of routers scattered all over the world, watching NTP packet timings using a common timebase independent of NTP, and sending data back to a collection server for analysis and visualization.

That’s where I, as the lead of the GPSD project, come in. GPSes are an obvious candidate for a high-precision NTP-independent time service. But there’s a problem with that…

Continue reading

Feb 23

An Open Letter to Chris Dodd

Mr. Dodd, I hear you’ve just given a speech in which you said “Hollywood is pro-technology and pro-Internet.” It seems you’re looking for interlocutors among the coalition that defeated SOPA and PIPA, and are looking for some politically feasible compromise that will do something against the problem of Internet piracy as you believe you understand it.

There isn’t any one person who can answer your concerns. But I can speak for one element of the coalition that blocked those two bills; the technologists. I’m not talking about Google or the technology companies, mind you – I’m talking about the actual engineers who built the Internet and keep it running, who write the software you rely on every day of your life in the 21st century.

I’m one of those engineers – you rely on my code every time you use a browser or a smartphone or a game console. I’m not exactly a leader among them as you would understand the term, because we don’t have those and don’t want them. But I am a well-known philosopher/elder of the tribe (I’ll name two others later in this letter), and also one of our few public spokespersons. In the late 1990s I helped found the open-source software movement.

I’m writing to educate you about our concerns, which are not exactly the same as those of the group of firms you think of as “Silicon Valley”. We have our own culture and our own agenda, usually coincident with but occasionally at odds with the businesspeople who run the tech industry.

The difference matters because the businesspeople rely on us to do the actual technical work – and since the rise of the Internet, if we don’t like where a firm’s strategy is going, it tends not to get there. Wise bosses have learned to accommodate us as much as possible and pick the few fights they must have with their engineering talent very, very carefully. Google, in particular, got its huge market capitalization by being better at managing this symbiosis than anyone else.

I can best introduce you to our concerns by quoting another of our philosopher/elders, John Gilmore. He said: “The Internet interprets censorship as damage and routes around it.”

To understand that, you have to grasp that “the Internet” isn’t just a network of wires and switches, it’s also a sort of reactive social organism composed of the people who keep those wires humming and those switches clicking. John Gilmore is one of them. I’m another. And there are some things we will not stand having done to our network.

We will not have it censored. We built the Internet as a tool to make every individual human being on the planet more empowered. What the users do with the Internet is up to them – not up to Hollywood, not up to politicians, and not even up to us who built it. Whatever else we Internet geeks may disagree on among ourselves, we will not allow our gift of fire to be snuffed out by jealous gods.

Because we will not have the Internet censored, we are also implacably hostile to any attempts to impose controls on it that could be used for censorship – whether or not that is the stated intent of the controls. That is why we were absolutely unanimous against SOPA and PIPA, and a significant reason that you lost that fight.

You speak as though you believe that the technology industry stopped SOPA/PIPA, and that by negotiating with the industry you can set up the conditions for a successful second round. It won’t work that way; the movement that stopped SOPA/PIPA (and is now scuttling ACTA) was much more organic and grass-roots than that. Silicon Valley can’t give you the political firepower or cover you’d need. All you’ll get from them is a bunch of meaningless press conferences and empty platitudes from CEOs who have nothing actually to gain by helping you and really wish you’d go away so they can get back to their jobs.

Meanwhile, the engineers inside and outside those companies will take it as their duty to ensure that you lose that battle again if you try to fight it again. Because there aren’t a lot of us, but the vast mass of Internet users – who do vote in numbers large enough to swing elections – have figured out that we’re on their side and we’re their early-warning system. When we sound the tocsin – as we did, for example, by blacking out Wikipedia – they will mobilize and you will be defeated.

Accordingly, one of the cardinal rules for any politician who wants to have a long career in a 21st-century democracy has to be “don’t screw with the Internet”. Because it will screw you right back. At least two primary challenges to SOPA/PIPA sponsors are in the news right now because they wouldn’t have happened without the popular outrage against it.

Hollywood wants you to screw with the Internet, because Hollywood thinks it has problems it can solve that way. Hollywood also wants you to think we (the engineers) are foes of “intellectual property” and in willing cahoots with criminals, pirates, and thieves. Neither of these claims is true, and it’s important that you understand exactly how they’re not true.

Many of us make our living from “intellectual property”. A few of us (not including me) are genuinely opposed to it on principle. Most of us (including me) are willing to respect intellectual property rights, but there’s a place where that respect abruptly ends. It stops at exactly the point where DRM threatens to cripple our computers and our software.

Richard Stallman, one of our more radical philosophers, uses the phrase “treacherous computing” to describe what happens when a PC, or a smartphone, or any sort of electronics, is not fully under the control of its user. Treacherous computers block what you can see or hear. Treacherous computers spy on you. Treacherous computers cut you off from their full potential as communications devices and tools.

Treacherous computing is our second line in the sand. Most of us don’t actually have anything against DRM in itself; it’s because DRM becomes a vehicle for treachery that we loathe it. Not allowing you to skip the advertisements on a DVD is a small example; not allowing you to back up your books and music is a larger one. Then there was the ironically pointed case of the book “1984” being silently disappeared from the e-readers of customers who had paid for it…

Some companies propose, in order to support DRM, locking up computers so they can only only run “approved” operating systems; that might bother ordinary users less than those other treacheries, but to us would be utterly intolerable. If you imagine a sculptor told that his new chisel would only cut shapes pre-approved by a committee of shape vendors, you might begin to fathom the depths of our anger at these proposals.

We engineers do have an actual problem with Hollywood and the music industry, but it’s not the one you probably assume. To be blunt (because there isn’t any nice way to put this) we think Big Entertainment is largely run by liars and thieves who systematically rip off the artists they claim to be protecting with their DRM, then sue their own customers because they’re too stupid to devise an honest way to make money.

I’m sure you don’t agree with this judgment, but you need to understand how widespread it is among technologists in order to get why all those claims about “piracy” and lost revenues find us so unsympathetic. It’s bad enough that we feel like our Internet and our computers are under attack, but having laws like SOPA/PIPA/ACTA pushed at us on behalf of a special-interest group we consider no better than gangsters and dimwits makes it much worse.

Some of us think the gangsters’ behavior actually justifies piracy. Most of us don’t agree that those two wrongs add up to a right, but I can tell you this: if you make the technologists choose between the big-media gangsters and the content pirates, effectively all of us will side with the content pirates as the lesser of the two evils. Because maybe both sides are stealing on a vast scale, but only one of them doesn’t want to screw with our Internet or cripple our computers.

We’d really prefer to oppose both groups, though. Our sympathies in this mess are with the artists being ripped off by both sides.

Consider this letter our “Don’t tread on me!”. Our agenda is to protect our own liberty to create and our users’ liberty to enjoy those creations as they see fit. We have no give and no compromise on either of those, but long as Hollywood stays out of our patch (that is, no more attempts to lock down our Internet or our tools) we’ll stay out of Hollywood’s.

And if you’d like to discuss some ways of fighting piracy that don’t involve trampling on us and our users, we do have some ideas.

Feb 08

The Smartphone Wars: The market share scramble and Apple’s long con

Mobile phone carriers have a crappy record of strategic planning – the history of the industry is rife with massive overinvestment in services consumers didn’t actually want, partly redeemed by massive unanticipated revenue from accidents of technology (I’m looking at you, SMS!). I’ve explained elsewhere that inflation-adjusted carrier ROI is negative.

Even so, the latest news from the analysts is pretty mind-boggling. Remember all those carrier execs rhapsodizing about how iPhone is the awesomest invention since sex? Well, it seems Apple is sucking all the profits out of the carriers that went for it. That has interesting implications for the future. Like, what happens when the carriers decide they’re done being conned?

Continue reading

Oct 15

Ubuntu and GNOME jump the shark

I upgraded to Ubuntu 11.04 a week or so back in order to get a more recent version of SCons. 11.04 dropped me into the new “Unity” GNOME interface. There may be people in the world for whom Unity is a good idea, but none of them are me. The look is garish and ugly, and it takes twice as many clicks as it did before to get to an application through their supposedly “friendly” interface as it did in GNOME Classic. No, dammit, I do not want to text-search my applications to call one up!

But the real crash landing was when I found out that the Unity dock won’t let you manage two instances of the terminal emulator separately. Oh, you can click the terminal icon twice and get two instances, and even minimize them separately, but they’re tied to the same dock icon when minimized. If you click it to unminimize, both pop back up. That did it; clearly Unity is a toy, not intended for anybody doing serious work.

I was miserable until I found out how to fall back to GNOME Classic. But then a few days later I upgraded to 11.10 and my real troubles began.

Continue reading

Oct 13

You can tank me later

I have interesting friends. Two of them, who shall remain nameless because it is possible they have let slip to me information that is technically classified, recently told me the best GPSD deployment story since the robot submarine.

So, Friend A says “Hey, Eric, did you know GPSD is used in the on-board nav system of the Abrams tank?” Friend A is in a position to know, because Friend A has done troubleshooting of that nav system – once, over the phone with a tank actually in combat in Iraq. It seems GPSD is used as part of IFF (identification friend or foe) and without that module they are at unpleasant risk of heaving a shell at a friendly. (And no, I am assured the bug was not in GPSD itself.)

Continue reading

Oct 08

On Steve Jobs’s passing

I had been planning to defer commenting on the death of Steve Jobs long enough to give its impact time to cool a little, but Against Nostalgia puts the case I would have made so well and so publicly that it has changed my mind.

I met Steve Jobs once in 1999 when I was the president of the Open Source Initiative, and got caught up in one of his manipulations in a way that caused a brief controversy but (thankfully) did the organization no lasting harm. The author of this piece, Mike Daisey, does well at capturing Jobs’s ruthless brilliance. Jobs was uncannily perceptive about the interface design and marketing of technology, but he was also a control freak who posed as an iconoclast – and after about 1980 he projected his control freakery on everything he shaped. The former trait did a great deal of good; the latter did a degree of harm that, sadly, may prove greater in the end.

Continue reading

Jun 18

World Without Web

Technological change has a tendency to look inevitable in retrospect – “It steam-engines when it’s steam-engine time.” Likely this is true in many cases, but I often think we underestimate the alarming degree of contingency lurking behind ‘inevitable’ developments. To illustrate this point, I’m going to sketch an all-too-plausible alternate history in which the World Wide Web never happened.

Continue reading

May 31

Configuration files and switches considered harmful

Someone on the gpsd-users list asked:

I was just wondering why gpsd doesn’t have a configuration file in /etc/gpsd.conf, like most other Unix/Linux software?

Because configuration files are evil, and not to be countenanced unless they become an absolutely necessary evil. Which in gpsd’s case is not yet, and I sincerely hope not ever.

Continue reading

Apr 15

rsnapshot: you’re doing it right!

Some years back I wrote a book titled The Art of Unix Programming. My goal in that book was to convey the Zen of Unix to today’s generations of eager young Linux and *BSD programmers. In the spirit of that book, I feel impelled to point out out a program I’ve recently learned as a striking, near-perfect example of Unix style in the modern day. rsnapshot, you’re doing it right!

Continue reading