Hyperloop Is Not Open Source
In August 2013, Elon Musk released a 57-page white paper proposing the “Hyperloop” — passenger pods shot through low-pressure tubes between Los Angeles and San Francisco at near-supersonic speeds — and described it as an “open-source” project that the engineering community was invited to develop further. This essay, written days later as a draft blog post, argues that the announcement didn’t actually meet the criteria for an open-source project and explains why that distinction matters.
Elon Musk is one of my heroes.
Hyperloop might or might not be workable in present form — I won’t get into technical details here — but the world desperately needs new transportation ideas. However, Hyperloop is (in current form) definitely not an “open-source project”, like it claims to be.
The core of open-source is publishing both the output, and the process. Closed-source programs, like Windows, only show output. You turn on your computer, and the Windows screen dutifully shows up, but you don’t know how it got there. The process, the code going from black screen to Windows logo, is known only to coders in Redmond.
An open-source project, like Linux, publishes every line of code and every bit of data that goes into making it. If you have time, you can go back and see every bit of code, when it was added, who added it, and how that change improved the program. It’s the ultimate in transparency, and its goal is minimizing the effort needed to modify the system. Linux, and other open-source code, is “tinker-friendly”, and that’s what gives it such power.
Unlike open-source, Hyperloop only gives us output, not process. There are cost estimates, but no process for generating them. There are drawings, but no way of making them. There’s a route on the map, but little explanation of why this one was chosen, or comparisons with other routes and their benefits and drawbacks. If one wanted to adapt the system — for, say, a Sydney to Melbourne train — one would have to largely start from scratch. In terms of programming, we have the output of the source code (“sealed capsules carrying 28 passengers each”), but not the source code itself. Why 28? Why not 22 or 36? There was, ultimately, some algorithm that had the number “28” as output — it wasn’t just pulled out of a hat. But we don’t know what that algorithm is. We can’t “tinker” with it — how does additional capacity trade off against cost and speed? — because all of the process is hidden. It’s the very definition of closed-source.
Key to any open-source effort is a healthy community, which takes advantage of “tinker-friendly” software to slowly improve the codebase. “Community” is just what it sounds like — a bunch of guys who work and joke and call each other up and sometimes get into shouting matches. (Ah, those were the days.) But Hyperloop, though it calls for “all members of the community to contribute to the Hyperloop design process”, simply doesn’t have a “community” in this sense. There’s no shared repository that everyone can add stuff to. There’s no official Hyperloop wiki or forum or mailing list. There’s no means for division of labor, or avoiding duplicate work. (If I, Joe Smith, want to work on fleshing out the solar panel system, I just have to hope that there aren’t five other people who’ve done it already.) Indeed, there isn’t even a way for people to contact each other, or know who each other are. Other than Elon himself, who (entirely understandably) didn’t include his email and phone number, all the engineers who worked on this had their names kept secret.
You could, of course, just call up your friends and form your own Hyperloop study group tomorrow. But in practice, this isn’t a workable way to run projects, because of the Schelling point problem. People interested in X want to work with those who are also interested in X. A group of Xers will attract other Xers in rough proportion to how many people know about it. And how many people know about it depends largely on how big it is. So the Nash equilibrium is for everyone to be in one group, which gets all the new people because it already has all the old people. A good example was Bitcoin, for the cryptocurrency world. Everyone’s working on Bitcoin, so anyone who likes cryptocurrency hears about Bitcoin and starts writing Bitcoin code, making success self-perpetuating.
Hence, as soon as one Hyperloop group becomes largest, it will quickly ‘eat’ all the others, and form one big happy community of mad science transit. But for this to happen, one group in particular has to be “special”, so everyone knows to join that one. This is called a Schelling point. It doesn’t matter what makes it special, as long as everyone recognizes that it is special and thereby joins up at it. Elon could have pointed at a random swamp in Nebraska, and everyone would have duly gotten together at the swamp and swapped engineering diagrams. But that didn’t happen. And so, as it stands, lots of people are blogging and inventing one or two ideas and pointing out problems and drawing on napkins, but there’s no coordination, nothing to tie it all together into a real project.
This is actually a little optimistic, because the real situation isn’t no Schelling point (like cryptocurrency before Bitcoin), but a fake Schelling point. Elon’s own engineers are busy working on Hyperloop as we speak, which would provide a perfect Schelling point for a community — except that no one knows who they are, and you can’t actually talk to them. This fake Schelling point not only doesn’t function as a seed for a community, but by existing, it discourages everyone from starting their own, real Schelling points. If Elon had said he was just throwing the idea out, and wouldn’t keep working on it, there’d be some amount of “OK, well, I guess it’s up to us”. But the opposite has happened — he’s now going to personally fund a working prototype. This inevitably leads to thinking: hey, why should I, Joe Schmoe, do all this work on this idea, when a big, well-funded team already has it handled?
Hyperloop did provide an email address for “community feedback”, but this ultimately isn’t a practical way to collaborate. We don’t know who’s on the other end of that address. We don’t know how many messages he’ll read, or how many he’ll reply to, or if anyone will reply at all. We don’t know if he’s only interested in talking to civil engineers, or software engineers, or child prodigies, or champions on Jeopardy. We don’t know if he wants ideas to have twenty pages of diagrams backing them up, and if someone sends twenty pages of diagrams, we don’t know if anyone will bother to read them all. Indeed, this sort of “community feedback” bucket is exactly like that provided by Microsoft , or the NSA for that matter.
Even at the simplest, most basic level, that of copyright licensing, it isn’t clear where we stand. An open-source license is one that gives everyone the right to copy, modify, and distribute material for any use. But the Hyperloop paper contains no copyright or licensing terms. It therefore presumably falls under the license covering the main Tesla website , which states “All Rights Reserved” and that material may not be “copied for commercial use or distribution, nor may these objects be modified or reposted”. Hence, anyone who takes (say) the Hyperloop drawings and posts them on their own website is likely committing copyright infringement.
Elon is a busy guy, and it isn’t reasonable to expect him to manage a crowd of open-source volunteers. However, the necessary steps to set up a real project (say, a mailing list, wiki, and Git design repository) are trivial compared to even the smallest civil engineering task. Any halfway competent developer, of whom hundreds work for Tesla, could do it in their spare time (and indeed, this is how almost all open-source projects are run). I’m sure tons of people would happily do it for free. The only thing Tesla would need to do is ask for volunteers, put programmers’ faces on a dartboard, and have someone turn around with a blindfold on.
There is absolutely nothing wrong with closed-source projects, and if Elon Musk wants to start Hyperloop as his own, fourth world-changing company, I will wish him the best of luck and wonder where he keeps his Time-Turner. However, the open-source community as a whole depends on “open-source” having a real meaning, and that meaning is not “we have an email address for feedback”. “Open-source” in 2013 means that key infrastructure, used by billions of people every day, was built by a bunch of people for free in their spare time, for the love of making something great. That’s an amazing accomplishment, and it discredits it to slap the label on every cool mad science project.