GitHub and the Aragon community

Earlier this week, news broke that GitHub was blocking users from certain countries from accessing their accounts. You can read more about the backstory here and GitHub’s specific policies here.

The TL;DR is that GitHub is now restricting or “limiting” account access for certain kinds of activity (“personal”) and blocking access entirely for others (“commercial”) if users are “in or ordinarily resident in” Crimea, Cuba, Iran, North Korea, and Syria.

I believe these bans/ restrictions could affect some members of the Aragon community and prevent them from participating in our project, such as creating software and documentation and participating in governance which currently heavily uses GitHub for submitting and archiving governance proposals.

I want to open a discussion about what, if anything, we do in the short term in response to this new policy. In the past we have taken action to secure our sovereignty by, for example, moving our chat community from Slack to Rocket Chat and changing our publishing platform from Medium to Ghost. Do we now move our contributor community from GitHub to a self-hosted alternative like GitLab? Or do we wait until Pando is ready? Or some other option?

Some data points that would help us make this decision:

  • Do we agree and to what extent do we agree that there is a problem with GitHub excluding some people from their platform, enough to warrant some short-term changes on our part?
  • How long do we have to wait for Pando to be ready for us to make a complete transition?
  • If the wait is too long and we switch to something like GitLab, do we move all repos or only certain repos like the AGPs repo?
  • Are there options that haven’t been identified? What are the costs/ benefits of those options compared to the others?
  • Any other questions or comments about the situation?

I welcome your thoughts on this.

12 Likes

I’m all up for moving immediately to a self-hosted Gitlab instance. Of course Pando sounds like the best solution, but I’m afraid that will take longer, and moving to Gitlab should be easy (a lot of projects have already done that recently).

5 Likes

Thanks for raising this as issue Light.
IMO there is definitely a problem with GitHub excluding people from the platform and in favor of totally migrating. I’m not up to date with the progress of pando and how long it will take until it’s usable, nor don’t know the operational costs of moving.

But I don’t think it is consistent to move from slack but stay on GitHub. From an ideological perspective, I think moving should be made a priority, (not wait for pando) but I defer to community members who are actually contributing code

3 Likes

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 :laughing:, 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.

10 Likes

Great reasoning here! The only thing I disagree with is with the importance of GitHub as a developers social network, as I don’t use it that way myself. I don’t think the move would have a significant impact on the contributions, but this is just a completely subjective feeling, so it has no value.I wonder if we could measure this somehow.

3 Likes

Anecdotally speaking, I have contributed to a couple of projects that self-host using Gitlab and I did not find using Gitlab to be a barrier at all. Additionally, I have never actually discovered a project using GitHub itself - I have always discovered a project on some other platform before visiting their GitHub repo to contribute. So like you, based on my own personal experience I do not think it is important to have a project hosted on GitHub vs an independent platform like Gitlab.

5 Likes

100% in support of moving to Gitlab asap, and willing to help however we can from the Association side (eg. paying, potentially even paying for someone to help with the transfer), out of our own 2019 budget.

Fun fact: I was in the same YC batch as Gitlab and it will be forever my biggest regret to not have believed they could actually achieve what they have - and I couldn’t see at the time the potential for Github to censor as much as they have.

4 Likes

I too would like to move away from GitHub towards a more permissionless and open platform.

  • Gitlab => Pando
1 Like

I would love to see this as an AGP for ANV4

2 Likes

So… doing some research and it looks like GitLab is in the same boat as GitHub because they use Google servers. Google does the censoring and IP blocking, but the effect is the same :confused:

It is possible to self-host Gitlab and set our own access policies. The warning you see on that blog post only applies to users of Gitlab’s hosted services.

3 Likes