The Github model

September 18, 2018

git is a DVCS: decentralized version control system. Lots of commits flying around, no central source of truth. Bitcoin and Ethereum work the same way.

I have a lot of personal git repos, including one where I keep the files that make this blog. I keep them on a machine in my office, with my own ssh key. It's 100% "off the grid": physical hardware, RAID, ssh, tarsnap, Linux.

Yet, for professional development or working with other people, I don't host things myself; I use Github. They had me at identity—key management, email verification, all the other account-management schleps—and that's before I even considered their professionally-managed hosting, good UX design, and nice social features. Sold. (Gitlab and Bitbucket are fine, too.)

One might say I'm defeating the "decentralization" of git, using something "centralized" like Github. That's true, but it misses the point; Github does things only Github can do. Anyone is still free to use git directly, but Github provides something else (hosting, identity) atop the base layer of git.

It's pretty clear we're headed for the same thing in cryptoassets: a base open-souce protocol layer, with a bunch of businesses layered on top to handle banking integration and compliance, done with much nicer usability than raw command-line tools. Even for highly technical stuff like git, it's surprising what a difference a great out-of-box experience makes. [1]

Anyone can run the open-source software directly; most people won't, and that's perfectly fine.


[1] The Rails community really understands this; their getting-started documentation is the gold standard in the world of software infrastructure.

← Previous

Next →