Sunday, June 3

on the vexed subject of github

So Microsoft bought GitHub. I started to outline a whole essay here, under a different title, making various arguments about that. I got about 500 words in before deleting it for being terrible writing.

Here’s the gist of the opinionating without the supporting rhetoric:

  1. This is bad and should probably be stopped (it won’t be).

  2. Microsoft are still bad even though it’s very much out of fashion to believe so.

  3. The real problem is that GitHub itself is bad and functions as such a lobster trap for open code, making the whole ecosystem more vulnerable to capture.

The real real problem is that capitalism is bad.

I was just reading about another acquisition: Bayer is buying Monsanto, to the tune of $63 billion. This is bad and should probably be stopped (it won’t be).

Microsoft made a convenient figure to cast as a villain for the computing counterculture of the 90s and early 2000s, but that’s not why they’re bad. Monsanto make a convenient villain for agricultural hippies and people who construe Whole Foods style luxury consumption as a moral good, but that’s not why they’re bad.

Both are bad because massive accumulations of unaccountable power are unhealthy, and we live in a time of escalating inequality and deteriorating governance.

I don’t know what to do about any of that.

GitHub itself is, in some sense, the product of what we could call design externalities in Git. Git’s model is distributed, sure, but it leaves the plumbing up to its users. Meanwhile, hub-and-spokes development models work pretty well for most projects, and features like issue tracking, friendly publishing, and code review are really useful. So is the discoverability of having one place to search, a unified namespace of users, and so on and so forth.

That there aren’t well-defined mechanisms for issues, code review, and other metadata to be stored and transmitted with code history is understandable from the perspective of a thing described as “the stupid content tracker”, but it’s also a giant vulnerability to the kinds of services centralizing SaaS providers are good at offering.

GitHub has solved a lot of hard problems, and solved them pretty well from the perspectives of interface, usability, and presentation. A lot of the stuff that’s missing from core Git is intrinsically difficult, and it’s more difficult to solve in a distributed way. That’s true even if your incentives aren’t to, as a friend recently put it, turn git back into svn.

Of course, if GitHub were a foundation or a cooperative with a clearly defined public mission instead of a highly successful financial engineering scheme built on the slow enclosure of the commons (i.e., a technology business in 2018), I’d probably applaud it the way I do something like archive.org. It’s not like there’s not considerable social benefit to its archival / publishing / communication functions.

(Even if, in practice, much of that social benefit is leveraged towards bootstrapping other financial engineering schemes so that assholes can get rich building the panopticon, because software is also bad and should be stopped.)

Anyway, here we are. I’m not doing anything about it this week, other than mulling some options, but within a couple of weeks is probably the right time to move all of the canonical hosting for my personal projects to a system I control. It’s been on my mind every now and then for years.

That part’s straightforward — there’s nothing I maintain on my own time that has a development team, or for that matter any users to speak of. Something like Gitea has more features than I need for things like the source code to this blog or a .vimrc that I occasionally link to in IRC. I’ll try to do an extremely boring writeup when I decide what I’m doing.

There’s a much bigger meta-game here, though, than just where some .git directories are stashed. That’s the part I’ll be watching with interest.