After more than a decade of open source development on GitHub (my account dates back to
January of 2011), I’m parting ways with the service in favor of a self-hosted solution using
Gitea. All of my private repositories have been deleted and the public ones archived.
This should help ensure that existing code dependencies will remain intact, while making it clear that new development
will not be taking place on GitHub.
I think most would agree that GitHub was a social network of sorts from its outset. This by itself was not an issue.
Social networks back then (and other “big web” sites in general) were more focused providing user value in order to
encourage platform adoption. Over time, as these platforms attained monopolies in their respective domains, user value
took a back seat to attaining business goals. This phenomenon, coined as
enshittification by Cory Doctorow, is described as follows:
Here is how platforms die: first, they are good to their users; then they abuse their users to make things better for
their business customers; finally, they abuse those business customers to claw back all the value for themselves. Then,
they die. I call this enshittification, and it is a seemingly inevitable consequence arising from the combination of the
ease of changing how a platform allocates value, combined with the nature of a “two sided market”, where a platform sits
between buyers and sellers, hold each hostage to the other, raking off an ever-larger share of the value that passes
Unfortunately, while still providing user value, GitHub has advanced significantly on the enshittification curve. There
have been many examples of this over the past several years, such as:
- Forced algorithmic repository recommendations, many of which cannot be disabled.
- Inline advertisements: “Did you know you can ask your organization to pay for Copilot?”
- Arbitrary policy changes to require 2FA before letting me access my own repositories.
- Training AI for current and future paid products on my code with no way to opt out.
In short, I can no longer say that the motivations of this platform align with my goals for continued FOSS development.
I remember coming to this same conclusion when I quit Facebook many years ago. What was initially a useful site for
keeping in contact with your friends and family devolved into a platform for advertisement and manipulation. In this
light, keeping my repositories on GitHub has all the appeal of storing my personal photo albums on Facebook.
I fully expect that as a part of this departure, my projects will see diminished exposure to new users and contributors.
This, again, is similar to the decrease in content impressions one experiences upon leaving Facebook. Fortunately, I
don’t really care about software development as a popularity contest anymore. The way I look at it now is that the
applications I develop are designed with myself as the primary user. These applications also just happen to be open
source to make them more reusable for others that choose to do so. I’m no longer interested in intentionally increasing
the user base or hunting for GitHub stars. Amusingly, I’ve never noticed any correlation between the projects that were
popular and the projects that I actually enjoyed working on.
If you are interested in contributing to my projects, please see the new contributing guide