Open Standards and Diversity

Gather around, children. It’s time for your bedtime story. Several years ago, there was a browser called Internet Explorer. It was a bit rubbish, but nearly everyone used it. It wasn't just bad at rendering pages, it was so useless at security that when you installed Windows NT, it gave you two modes, one you ran as Administrator that basically didn't do anything — called the Safe Mode — and one that actually displayed actual websites — called, one assumes, Please Hack My PC Mode.

And do you know what people did?

They installed Firefox.

Literally, within a few months of Mozilla Firefox’s 1.0 launch in 2004, everybody seemed to be running Firefox. There were some cases where sites required Internet Explorer, but for the most part, everything just worked — after all, Firefox still got the pages over HTTP, still rendered HTML, still styled it with CSS, and still ran Javascript.

Now, I accept that’s a unique case. It’s entirely different from that time when everyone switched from Outlook Express to Thunderbird, or when people shifted off Eudora when that was EOL’d, or when … Oh, okay, so this is really something that used to happen all the time. I once switched from Elm to EXMH, which probably tells you how old I am.

The reason that Internet Explorer 4–6 didn’t kill off the Web entirely was simply that you didn’t actually need Internet Explorer to use the Web — you could use any browser you wanted. Similarly with email — if Thunderbird didn’t float your boat, there was Pegasus, or The Bat!, or Mulberry, or countless others. If you didn't like the way your browser worked, you could make up your own, like Galeon, or Epiphany. You could write your own HTML rendering engine, like KHTML — which still survives in its better-known fork, WebKit.

People didn’t just swap because of security — Google Chrome came about because, it seems, someone had an idea about a better technical architecture for a browser. Because of that, Firefox had to up its game, and now we see Servo on the horizon too, in another round of a constant arms race between browser developers. And the users? Won’t anyone think of the users?

Well, yes. The average internet user gets to pick browsers designed around security, privacy, speed, and more. Individual browsers can, and sometimes do, shrivel and die over time. But that’s because newer browsers come in move the entire ecosystem forward. Tabbed browsing — to use a fairly trivial example — first came in an obscure browser called NetCaptor in 1997, and is now in every major browser. So did address-bar searching. There’s absolutely no doubt — users benefit enormously.

And those few who didn’t change from Internet Explorer, more comfortable with sticking with what they knew? Microsoft ended up providing a sequence of vast improvements, and now a whole new browser, in order to keep pace with the surge in competition.

I said in the last essay I wrote that “diversity is as important in computer networks as it is in human ones” — that’s pretty pithy, really, since the network is made up of, and by, people. People embody themselves, their views, their ideals, in their software projects, and those ideas that are successful propagate throughout the ecosystem, benefiting both individual users and enriching the virtual environment they operate in. It’s why we should welcome diversity, build for it, even strive for it — revel in the loss of control, and the chaotic blooming of wild ideas.

But all that diversity would be simply impossible if users were denied their switching power.

Closed, minimally-interoperable services — and unfortunately the Web makes these easy — don’t provide that switching power. Instead they present an all-or-nothing choice for the user. If we want to use a microblogging platform to talk to our friends on Twitter, then we must use Twitter. And Twitter, despite being slated for the way they treat third-party clients, are actually one of the better companies in this space. Look at Google, who have a lovely page on client choice, that unfortunately refers to their XMPP service at the exemplar.

These companies’ behaviour is like taking voting rights away in a democracy, and telling their citizens that they’re welcome to disagree, they just have to emigrate. It’s put up, or shut up. It’s telling you that true innovation comes only from them. Other voices, other opinions, are not welcome here.

Imagine, for a moment, that Microsoft — back when they were evil, remember — had succeeded in terrorforming™ the Web into an ActiveX-compatible wasteland marked Best Viewed In Internet Explorer. There’d just be blue “e” signs as far as the eye can see, and like going sightseeing in the Sahara, it’d be interesting to see once or twice, but you wouldn't want to live there.

For companies, there’s clear benefits in miring users in a corporate tar pit — just so long as you succeed. For people, there’s clear benefits in enabling choice — even if you choose not to exercise it. The whole should always be greater than the sum of its parts — and on the Internet, Open Standards help make that true.

You may not like the way some Open Standards are going. Maybe you want to replace IMAP, or radically change XMPP. Please try. Of course, I’d rather you joined in the conversations at the IETF or XSF and worked with us to change what we have — and Open Standards allow you, even encourage you, to do this. Both organisations are entirely open, and don’t require anything more than an email address to participate, and don’t need anything from you beyond a willingness to share your opinion. In other words, at both the IETF and the XSF, diversity in all its forms is vital, and if you think they’re a bunch of idiots, you’re exactly the kind of person they need to join in and tell them why.

Post Scriptum:

I'm a participant in the IETF, and on the Board and Council of the XSF. So I originally wrote “we” instead of “they” above, but then worried it might be taken as some kind of official statement — it’s not, it’s just my opinion, and while I think it’s likely shared by most people in both communities, I do not speak for them.