DEV Community

Cover image for I'm leaving Github
Galtzo
Galtzo

Posted on • Updated on

I'm leaving Github

I Am Using GitHub Under Protest

Github's decision to sponsor me is so recent that I haven't been able to cash out the $550 payment yet.

In spite of that, I can't leave the platform fast enough. I certainly do not have the spare-time to move hundreds of projects to a new home... but I'm getting started.

GitHub is a proprietary, trade-secret system that is not Free and Open Source Software (FOSS). I am deeply concerned about using a proprietary system like GitHub to develop FOSS projects.

Micro Issues

  1. A recent proposal to extend Github-flavored Markdown (ref)
  2. More than 2 years of ignoring requests to add an important feature (allow-failure) to Github Actions (ref, ref). When not ignoring, Github is completely misunderstanding the feature. How are those building Github Actions so deeply unfamiliar with core features of competing CI platforms.
  3. Latest iteration of Achievements was bad.
  4. Microsoft (parent of Github) has decided to ban commercial open source apps from their app store.

Macro Issues

For a broad perspective on the practical issues, I can't make the argument any better than it was made in 2010, and recently by Software Freedom Conservancy, here and here. Github has crossed the Rubicon.

Logo of the GiveUpGitHub campaign


For those who've never heard of the Software Freedom Conservancy, member projects include: Backdrop CMS, Coreboot, Darcs, git (yes, the git in Github), Inkscape, MicroBlocks, Mercurial, OpenWRT, phpMyAdmin, QEMU, Samba, Selenium, Squeak and Wine, among others.

What about community?

I am interested in people's thoughts on where to go next. Community involvement matters for open source projects, and I have dozens of them that could be affected, the biggest being oauth and oauth2 Ruby gems.

Regarding fragmentation, hopefully it will be resolved by federation, which is to source forges (like Github) what git was to version control (i.e. makes it distributed, at least in theory).

It looks like Gitea, Codeberg and Hostea will join the fediverse soon, within a year, and there are projects that will integrate Github with the fediverse as well (i.e. federate Github commits, PRs, issues, etc).

Questions

  • Have any major Ruby projects already left?
  • Anyone have experience with mirroring to multiple git hosts, as that might be a temp bridge solution?
  • Self-hosting a git service?
  • Thoughts on the centralized git hosting providers recommended by SF Conservancy?

Poll

Where to take projects (e.g oauth2)?

Latest comments (21)

Collapse
 
kaamkiya profile image
Kaamkiya

Sorry I'm late to the party, but where did you end up moving to? I'm also leaving Github and wondering where to go.

Collapse
 
duncanbayne profile image
Duncan Bayne

The irony of having to sign up to a proprietary system full of dark UX patterns (greyed-out skip boxes) just to comment here isn't lost on me ;-P.

Now that's done, I will say that I migrated my own projects from GitHub to GitLab a few years ago and was a very happy GitLab user for years.

More recently, in the past few months, I've migrated again - this time to sourcehut. It's not so much that I had grown to dislike GitLab, in fact, I still regard them and their product very highly. But sourcehut was even more aligned with my engineering tastes - email based contribution (no need to create an account!), fully open source, lean and performant.

Collapse
 
galtzo profile image
Galtzo

I am slowly moving to SourceHut as well :)

Collapse
 
ben profile image
Ben Halpern

Hey Peter, apologies that this was accidentally unpublished.

A recent proposal to extend Github-flavored Markdown

I would be really in to a fleshed out post dedicated to the issues here. I intend to read through the linked discussions, but if you cared to share a post getting into some of these details, I'd personally really appreciated it! This is an area close to my heart.

Collapse
 
jonrandy profile image
Jon Randy 🎖️

I've always had work split across GitHub and GitLab... seriously considering migrating all to the latter

Collapse
 
lil5 profile image
Lucian I. Last

I advise looking at codeberg.org/ it’s where progress is happening; federation, rss, activity pub. Plus a great repository importer from GitHub

Collapse
 
galtzo profile image
Galtzo

So far I'm really impressed with sourcehut, codeberg, and gitlab, for different reasons...

Collapse
 
vinceamstoutz profile image
Vincent Amstoutz

Just in case Gogs and Gitea are two great GitHub alternatives without any compagny behind it !

Collapse
 
deanpcmad profile image
Dean

Gitea is great! It also has support for importing GitHub repos including issues

Collapse
 
yongchanghe profile image
Yongchang He

Thank you for sharing this experience!

Collapse
 
miguelmj profile image
MiguelMJ

I was not fully aware of this, thanks for making this post.

Collapse
 
hoangtuan110 profile image
Wumi4

If you are finding a GitHub alternative, GitLab is a strong contender. There's also Gitea and Codeberg (If you don't want to self-host Gitea) if you like a GItHub-inspired interface. Sourcehut is also a good choice, though the plaintext email workflow is something that you will have to get used to.

Collapse
 
jnv profile image
Jan Vlnas

I've been tracking GitHub alternatives; it really depends on your needs, priorities, and values. As for the hosted services:

GitLab is the closest one to GitHub, both community and feature-wise. Some features are even more powerful (especially their CI runs circles around GitHub Actions). They also provide repository mirroring which could help with transition. Still, it's a commercial (albeit publicly traded) company (but they do have freebies for public open-source projects).

The aforementioned Codeberg is a hosted instance of Gitea provided by a Germany-based non-profit, and probably the most popular option among FOSS advocates. They provide straightforward import of repositories from GitHub, including issues and wiki. Similar is also NotABug based on Gogs, provided by The Peers Community.

There's also (a bit contrarian) Sourcehut started by Drew DeVault. Instead of Pull Requests, they use good old mailing lists with email patches, with pretty nice web interface.

If you plan to self-host, consider Fossil which packs version control, issue tracking, docs, forum, and wiki in a single repository with web UI. It's what D. Richard Hipp uses for SQLite development (and Fossil is, obviously, powered by SQLite). It can also mirror to GitHub.

Collapse
 
galtzo profile image
Galtzo

So far I'm really impressed with sourcehut, codeberg, and gitlab, for different reasons... I'd like to think I could consider Fossil, but intuitively I know that's biting off more than I can handle right now.

Collapse
 
jnv profile image
Jan Vlnas

Personally I think of GitLab as a "safe" choice in terms of community and contributors. The UI is messy, but functions are mostly the same. Also, the built-in CI is a big plus compared to more libre alternatives.

Collapse
 
twirp profile image
twirp

I think it'd be cool if there was some Fediverse connected alternative. What I like about GitHub is being able to follow projects and get notifications. Many of the alternatives are too self contained, or don't provide such a dashboard. It sounds like Gitea, Codeberg and Hostea will join the Fediverse soon.

Depending on your needs and values, Fediverse connectivity might be something to consider.

Collapse
 
tnir profile image
T "@tnir" N

Hey, I got sponsored by GitHub too. Also github.com/github-community/commun... looks nice to me!

Collapse
 
galtzo profile image
Galtzo

Thanks :)

Collapse
 
kayis profile image
K

Radicle looks promising.

docs.radicle.xyz/

Collapse
 
galtzo profile image
Galtzo

Radicle is interesting, but I consider NFTs to be a scam, and Ethereum to be Peter Thiel project, which means I expect it to ultimately, despite cool slogans, run counter to my goals for society, which are very progressive, distributed, and open. :(

Collapse
 
kayis profile image
K

Oh, it integrates with Ethereum, but that's just an add-on.

Like, you can use it to pay contributers, but the hosting is indepentent from that.