Microsoft, Github, and distributed revision control

People legitimately criticize Github for creating artificial centralization of open source software & having a dysfunctional internal culture, and for being a for-profit company. Microsoft’s acquisition may not make any of these things worse, & won’t make them better. But, there’s a really specific & practical reason people not already boycotting github have begun to consider it in response to the Microsoft acquisition: Microsoft’s history of using deals, acquisitions, & standards committees as anticompetitive tools.

Github was never going to do much of anything beside host your projects, and since hosting your projects is its main business, it’s not going to do nasty things like delete them. Microsoft, however, is absolutely willing to do that kind of thing if they decide they can get away with it. History bears this out — some of it recent. Microsoft hasn’t been able to do it to the likes of IBM or Netscape since the 90s, but only because their complacency over the PC market has prevented them from being able to successfully branch out into phones or servers; however, they have been happily performing their embrace-extend-exterminate tactic on open source projects for the past fifteen years.

(Note: If Github got as big as Microsoft & had side hustles as profitable, they would do the same thing. This isn’t about particular organizations being evil — capitalism forces organizations to act unethically and illegally by punishing those unwilling to break the law.)

People concerned about open source software distribution being centralized under the aegis of unreliable for-profit companies have been boycotting Github & Gitlab for years, and Google Code and Sourceforge before that. They’ve also been working on alternatives to central repositories.

Named data networking goes beyond simply ensuring that the owner of the hostname is not a for-profit company (liable to throw out your data as soon as they decide that it’ll make them money to do so). Instead, DNS as a single point of failure goes away entirely, along with reliance on data centers.

If you’re considering migrating away from Github — even if the recent news merely reminded you of problems Github has had for years — take this opportunity to migrate your repos to git-ssb or git-ipfs, instead of moving to another temporary host-tied third party thing like gitlab or bitbucket. Your commits are already identified by hashes, so why not switch to hashes entirely & use an NDN/DHT system? That way, there’s no third party that could take down your commits if it goes down. The entire DNS system could die permanently & it wouldn’t interrupt your development.

Written by

Resident hypertext crank. Author of Big and Small Computing: Trajectories for the Future of Software.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store