I fully support not relying at all on GitHub eventually, not only because of this specific event but because of its centralized status, which unsurprisingly creates censorship issues today, and will inevitably create other centralization-related issues tomorrow.
Here are the different services provided by GitHub that I can think of at the moment:
- The git repositories themselves.
- Related services: integrations, GitHub Apps, GitHub Actions.
- Content: governance proposals, pull requests, issues, metadata etc.
- As a website hosting service.
- As a collaboration tool: how good is GitHub compared to alternatives?
- As a social platform: what would be the impact of leaving GitHub for the community?
We could start the process of relying less on GitHub in various ways:
We could host our websites elsewhere, while keeping the sources on GitHub. I don’t think this would have any impact nor would be a hard thing to do − they are all static websites.
For git itself, the most obvious one would be to start having read-only mirrors (not accepting contributions from there) of our git repositories on other platforms, like a self-hosted GitLab, Pando, git-ssb, radicle. I think this is something that could be started easily because it doesn’t have much implication other than the time needed to put it together and to maintain it. I am only refering to git itself here: I don’t think it could be worth trying to mirror the projects content (pull requests and issues) because I don’t see platforms as compatible enough to achieve this in a way that would work for us.
We could also start accepting contributions from other platforms, like a self-hosted GitLab, while still using GitHub as our main contribution tool. I think this one would add a logical next step, that could have a relatively low impact on the teams and could be a great option to have for the Aragon
community in general. It would split some content (the pull requests content), and we would lose some of the GitHub features (e.g. an issue mentionned by a PR on GitLab wouldn’t automatically show it), but I don’t see it as a big issue, we can always do these manually.
We could move away from using GitHub as our main collaboration tool, and start using another platform like a self-hosted GitLab. We could still mirror our repositories on GitHub. It would require to migrate the services we use on GitHub for the GitLab equivalents when possible, which could require some effort. As a collaboration tool itself, I don’t think it would be much of a problem: GitLab is different but very similar to GitHub. It provides many features and its quality as a tool is generally excellent.
But I think this might be the point where we might start seeing a significant impact on the contributions and the visibility of the project. It’s not only about asking one person to move to GitLab, but more about the invisible frictions it can generate. We might be tempted to think that contributions from
people not willing to move to a less centralized tool might are not a big loss, but we need to remember that for beginners, starting contributing to open source projects is not an easy task on its own. Concepts like pull requests, online collaboration, and of course git itself are not easy to learn. I think
that any barrier added to that could make the difference between contributing to one project or another.
We might also think that GitHub is only a collaboration tool, but many people also use it as a “developers social network”, myself included. Being on GitHub means being able to interact with other GitHub projects, getting some visibility with the trending page, and generally “being where people are”. Projects can be very successful outside of GitHub (git , GNOME, Inkscape and many
others), but things might be different for Aragon at this stage: the age, popularity, and communities of these projects are not the same, and the impact of doing it now might be different for Aragon.
About the comparison with our move from Medium to a self hosted blog, and from Slack to Rocket.chat, I think this is very true in a way (a self-hosted GitLab feels much more aligned with the Aragon values), but the context is also slightly different: in the case of Medium, most people were only opening a URL to read content, they still do the same. In the case of Slack, people had to create a specific account for the Aragon Slack, so it hasn’t really changed. But in the case of a move from GitHub to GitLab, we are asking newcomers (assuming newcomers already have a GitHub account) to move to a new platform before they can contribute, instead of starting to contribute directly.
TL;DR: I agree with doing the move, but I think now is too early, for reasons similar to our choice of using a service like Twitter: it is where most people are.