14

I'm leaving Github

 1 year ago
source link: https://dev.to/pboling/im-leaving-github-50ba
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

I'm leaving Github

  • Also published on:

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 Souce 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 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?

Where to take projects (e.g oauth2)?

Discussion (39)

pic

CollapseExpand

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.

Comment button Reply

CollapseExpand

GitHub is owned by a commercial company, so is GitLab, if you trade one for the other then what have you gained?

Comment button Reply

CollapseExpand

At least it addresses three of the micro issues I raised, and the Copilot issues raised by Software Freedom Conservancy. You might end up in a place where you'd need to move hosts again, sooner or later, but the trade off might make sense for some projects that can leverage certain features that a more "enterprisey" tool has.

Regardless, I am leaning toward a move to a truly free libre open source solution, and possibly federating to other non-free tools that support federation.

Thread

Thread

My concern is that we end up in a totally fragmented world, right now "everybody" (well 90%) is on Github and that creates something of a community feel which for me feels nice, and it has a ton of practical advantages ... if it's all getting spread over dozens of providers, and self-hosted repos, I can see the downsides of that ...

I'm not aware of the issues with Copilot, but TBH I'm totally not interested in using Copilot either. But if they do things properly I'd say there should be some sort of "opt out" option available.

Thread

Thread

Author

Jul 8

If you are on Github, then Copilot is using you.

It is worth spending a few minutes understanding how problematic this is:
sfconservancy.org/blog/2022/jun/30...

Regarding the 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).

Thread

Thread

Yeah okay I've read it ...

So, Copilot is "using" you or me, i.e. they might use your or mine source code to train their models ... what, practically speaking, are the problems with that, apart from the fact that maybe you don't like Microsoft as a company, or you don't like them making profits off of Copilot?

Look, we use Github and it costs us zero pennies ... somewhere, somehow Microsoft or whoever owns it needs to somehow make some money to host, maintain, develop etc etc this stuff, or not? Even just hosting stuff (especially at this scale) costs money.

So they've found a way to recoup some of those costs and some of those investments (Copilot) - but, you protest, and in essence you say "no Microsoft, that's evil, you're trying to make some money - not good, I really want my things completely for FREE!" ... remember about the proverb 'there's no such thing as a free lunch' ?

The only point on which I tend to agree with you that they should have an opt-out clause for people who really don't want this.

Thread

Thread

  1. Should license terms of each project used to train Copilot matter? If an author writes code, and releases it to the world with "terms and conditions" on how it can be used, and then a corporation decides to ignore that, is it ok? What recourse does the author have? Maybe they only picked projects with "do-what-the-fuck-you-want-to" and similar licenses, but they have yet to disclose any information.
  2. For a broad perspective on the practical issues, I can't make the argument any better than it was made in 2010, and for me this issue has crossed the Rubicon.

Thread

Thread

Can't argue with a decision that you've put a lot of thought into ...

Thread

Thread

GitHub appears to have some sort of opt-out feature from their settings github.com/settings/copilot
GitHub, Copilot, Microsoft, and OpenAI have access to your repo code by default with this checkbox checked. If you want to delete your code stolen for Copilot, GitHub asks to fill out a support ticket and deal with that whole process.

Thread

Thread

I'd rather put my time into leaving GitHub... 💩

It seems a bit like women having to physically cover their drinks at a bar... Is that how it should be? Or should men learn to respect women and behave?

In this analogy:

  • Github is the man
  • I'm the woman
  • my code is the drink
  • Copilot is the roofie

It's an extreme analogy, but is it a bad analogy?

Thread

Thread

Ah, so the opt-out is there alright :)

"stolen" for Copilot, well I wouldn't call it that, and I think it's even neat that they have that process in place - logging a ticket isn't that big of a deal ...

Thread

Thread

Yeah it's a bad analogy - what's happening to those women in those bars is infinitely worse than what a company is doing with someone's piece of computer code, while they even have a procedure in place that lets you simply tick a checkbox and opt out ... sorry, but in my view it's much ado about nothing.

Thread

Thread

they even have a procedure in place that lets you simply tick a checkbox and opt out

Logging a ticket isn't a big deal if you only have one repo. I have dozens of orgs, and hundreds of repos.

Also, since all my code has already been stolen... that's not even the process, this is:

If you want to delete your code stolen for Copilot, GitHub asks to fill out a support ticket and deal with that whole process.

Do you have time to do it for me?

Thread

Thread

Github should make that checkbox a bit more prominent - clearly display it right when you create a new repo, so that people know they can opt out and do so if they wish ... that would go a long way to addressing this. Maybe we should make some noise about this and hope that Github listens.

Comment button Reply

Author

Jul 8

FWIW, Copilot does not have an opt-out I am aware of, and Github refuses to publish what source code it uses to train Copilot.

Thread

Thread

Yeah I agree that's not good, if MS can pick whatever repos they want then there should be an opt-out available ...

Comment button Reply

CollapseExpand

Gitlab is our company choice. I also have a Raspberry Pi working as a git-home-server kind of thing. I can see some companies using a self-host approach.

Comment button Reply

CollapseExpand

Embrace. Extended. Extinguish.

Microsoft hasn't changed at all. They're just more sneaky this time.

Comment button Reply

CollapseExpand

And some people are simply stuck in the past forever.

Comment button Reply

CollapseExpand

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.

Comment button Reply

CollapseExpand

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.

Comment button Reply

CollapseExpand

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.

Comment button Reply

CollapseExpand

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

Comment button Reply

CollapseExpand

Author

Jul 8

Am considering them, thanks! Do you have a preference?

Comment button Reply

CollapseExpand

CollapseExpand

Author

Jul 7

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. :(

Comment button Reply

CollapseExpand

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.

Comment button Reply

CollapseExpand

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.

Comment button Reply

CollapseExpand

Author

Jul 8

I am very enthusiastic about the fediverse. Thanks for pointing this out. It would be amazing to have that level of integration.

Comment button Reply

CollapseExpand

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

Comment button Reply

CollapseExpand

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

Comment button Reply

CollapseExpand

Author

Jul 7

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

Comment button Reply

CollapseExpand

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

Comment button Reply

CollapseExpandCollapseExpand

Thank you for sharing this experience!

Comment button Reply

CollapseExpand

I understand that the author of this post (and others) want to find out alternative place to host their code rather than GitHub or even GitLab.

Unfortunately I don't think that there's a good online alternative that uses git and is:

  • Affordable or free
  • Built using quality, effective, and robust code, infrastructure, and design by professionals who know what they are doing

And if someone has an alternative to GitHub or GitLab please let me know. I'm fine with people disagreeing with me but I'd like to know your solution.

Comment button Reply

CollapseExpand

Cutting off ones nose to spite ones face me thinks.

Comment button Reply

CollapseExpand

Author

Jul 8

Yeah, this banning commercial open source apps on their app store was a really bad move by Microsoft...
sfconservancy.org/blog/2022/jul/07...

Or did you mean someone else cutting their nose off?

Comment button Reply


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK