Github is Not Open Source
April 10, 2024•464 words
Content warning: this is a rant from a teenager who has strong opinions.
When I first started programming more and more I joined a website called “Github” back in 2017. It was magical! It gave me access to a place to publish and share my code. It became the place where I would publish my code. And that’s where the issue lies. For many many others, not just myself Github is the only place they publish their code. Instead of hosting on their own site or finding a specialized site (à la Source Hut, Codeberg, etc). Github itself is an amazing platform for hosting code with its CI, releases, issues, and so many other useful features.
However, it holds a monopoly on software. That’s a massive issue, especially since the Github terms of service allows them to ban and remove any repo that they want. If I wanted to make a piece of software that was controversial to Github they could just go “Boop! You’re gone!” and there’s nothing I could do about it other than move forges. Another issue is that Github trains its AI on your code! I don’t agree with AI beyond voice assistants, so that limits my contributions to Github.
Github is also increasingly becoming the one shop stop for all software. As someone who doesn’t like Github and would prefer never to use it unless absolutely necessary it takes away my ability to contribute to software as so many projects are only on Github. I want to contribute, but I don’t want to agree to a massive terms of service that no one has the time to read!
So what can we do? Well, if you’re a bigger project or can afford to, host your own Git forge! Forgejo is amazing and I recommend using it! Or if you can’t use Codeberg or Sourcehut. But at a larger level, Git by itself is not the best at decentralization beyond clones. However, platforms like Radicle allow for extreme decentralization!
However, that doesn’t solve all the issues. Most people don’t know how to contribute to code off of Github / don’t want to because it requires creating another account. So as a result, amazing contribution ideas don’t get made and projects don’t get all the contributions they deserve to get. Github should not be the only way to contribute. So what can we do about that? Well, not much other than encourage people to contribute! There’s a culture shift that needs to happen in the programming world from Github to many many many forges.
Centralization is not bad by itself but it’s bad when there’s no other option. There just needs to be ways to contribute to code without having to use Github. Thank you for reading, have a lovely night!