Let's Decentralize Git Again

2 minute read

Doesn’t anybody else find it strange nearly all open source code is distributed on a closed-source website, GitHub, owned by Microsoft? That’s a bit like all the world’s charitable organizations being ran by a for-profit mega corporation.
As I understand it, Git’s big differentiating feature from Subversion, the big version-control system that preceded it, was that it’s distributed/decentralized/requires no central server. Everybody has their own copy of a repo, each one just as authoritative as another. This way no single organization holds all the power. This made tons of sense for GPL/free software: everybody has just as much right to use and distribute it as anybody else.
Despite that, we’re all putting our projects on GitHub. GitHub is a for-profit company. The code running their website is proprietary. They’ve changed their pricing on a whim. They’re not running on flower-power, people. They want to make a profit.
Lots of us woke up to that fact when they were bought out by Microsoft, the monopolist tech giant of yore. We liked Github. They were cool. But we don’t like Microsoft so much. Then we realized they’re the same thing. A bit like Little Red Riding hood taking Grandma’s cap off and seeing the wolf.
I don’t think Microsoft is the devil either (Google I’m not so sure- it sounds like they’re making SkyNet). I just realize they’re a private company that has a fiduciary duty to make a profit for their shareholders. So trying to make money isn’t bad. It’s literally their job.
But now we realize: GitHub is Microsoft is going to try to make money on the huge near-monopoly they have on the open-source world. Eg, if GitHub decides it will no longer offer free code repositories for open-source projects, what will we do? Most will scramble to find an alternative. But some will just pay up, knowing how much infrastructure they’ve already invested in GitHub.
When GitHub was acquired by Microsoft, GitLab has a sudden spike in activity. But, by the way, only GitLab’s community edition is free software, their Enterprise Edition, is not. So although you can run the code on your own server, they can still change the terms on you.
So what to do? I want to see us using decentralized Git again. Gogs seems to be exactly that: set it up on your own server, run it, and answer to nobody. Microsoft doesn’t control your code repository.
But Gogs obviously hasn’t taken off, most of us don’t know about it. Heck, they even host Gogs’ source code on GitHub! I think it’s problem is that setting up a server with Gogs is so, so much more work than creating a repo on GitHub. It should be way easier.
For me, I’d like it to be as easy as setting up a self-hosted WordPress site. In fact, if there were some Gogs-equivalent WordPress plugin, it could be.
Here’s what an Anti-GitHub WordPress plugin would need:

  • facilitate hosting a Git repository with a few clicks, like on GitHub
  • have a workflow for accepting and managing pull requests, like on GitHub
  • not require Git to be installed on the server, (ie, nothing is required other than installing the plugin)

Maybe that’s a dream. But I think it would be great. Any other suggestions for how to decentralize Git again?

One thought on “Let's Decentralize Git Again

Leave a Reply