What would it take for you to move away from Github?

onlinepersona@programming.dev to Programming@programming.dev – 105 points –

Let's be honest, the majority here probably has a github account. Some of us are happy as a clam and wouldn't switch no matter what happened, but there are some who would and haven't yet. Why?

116

Elon Musk buying it.

Seriously though, it would take something rather drastic. Our company briefly tried using bitbucket, but it was just worse overall. Don't touch a running system.

Elon Musk buying it.

Holy hell, you went for the jugular.

The guy owning the Xhub.com domain is rubbing his hands right now.

He'll rename branches tubes and merge conflicts X, and with that he'll come up with the new name: xtube

He shouldn't be. Elon doesn't give massive payouts. If he really wanted that domain, he'd trademark it and sue the owner for it.

What's the problem with bitbucket? It's a solid... oh shit sorry atlassian is down. One moment.

I haven't had reliability issues with BitBucket. My main complaint is it's just really difficult to use.

I just find my time in GitHub is smoother and easier. For example comparing branches/tags to each other... in GitHub if you open a release from a week ago, there will be a link "this is 12 commits behind your main branch" and you can just click it to view the code in those commits.

BitBucket doesn't even have releases. They just have tags which can trigger pipelines. Functionality wise, it's the same thing. But from an ease of use perspective GitHub is so much faster and easier to navigate as long as your project follows standard branching/tagging/etc practices (which it should, especially if you're working on a team).

They don’t even have syntax highlighting on pull requests. Like the fuck

They recently added it as a experimental feature and it has been working fairly well, at least for Java. As far as I recall, each user needs to activate it themselves via settings. Far from optimal but better than nothing.

My one-man software development company is using bitbucket along with a local mirror (with Gitea).

People also said that when Microsoft bought them. In the end it didn't really make a dent in their user numbers

It's hard to overstate the psychology behind the github profile. As a developer, your github profile shows that you're actively developing, whether it's for open source projects or for work projects. My previously company used a private gitlab install, which meant only my open source work showed up on github. My current company uses github, which means my profile shows green all the time.

We're a small company, but the github costs are a drop in the bucket. As others have said, it'd take something truly federated, or a crazy price jump from Github, for me to consider moving. It's free for my open source projects, it's a small amount for my company, and I have a public profile I can point to whenever I'm discussing my development.

If GitHub changes terms of use to pay for basic stuff, or starts breaking compatibility or adding egregious bugs, I would start looking for alternatives.

A while ago I had all my personal projects on GitLab. I was a GitLab fanboy and advocated it everywhere to the point I convinced the project manager of a previous job to migrate the team's projects to it and pay for GitLab ultimate. Without going into details, that goodwill ended the moment I stumbled upon a regression introduced by GitLab which affected my personal projects, and their customer support essentially said the issue was won't fix but it was fixed in premium customers. I simply unblocked myself by moving all projects to GitHub, disabled GitLab CICD and shut down my GitLab runners, and onboarded onto a mix of GitHub Actions and CircleCI. I could still stick with GitLab, but why bother?

I would do the same to GitHub if I experienced anything remotely similar.

Yeah, I don't know what Gitlab is doing. They burned so much goodwill with their recent pro-business and fuck opensource dev attitude, that I consider them dead in the water. It's a real pity because I consider their offering to be way ahead of github (project management, issue management, CICD, devops experience, etc.), but they hide it all behind Premium even on self-installs. I really want to use them because they're better and opensource, but their pricing is beyond fucked IMO.

If Codeberg were Gitlab lite and working towards implementing gitlab features, I'd use them, but they're just github lite and github is shite, IMO

I hope that charging for basic stuff never comes. I doubt it since like the first thing MSFT did after buying it was to make some pro stuff free (like private repos)

Pretty much any deterioration of service would do it, I'm not tied to github at all, it works but so does gitlab and self hosted solutions.

I have a GitHub for commenting and contributing on GitHub

I have a Gitlab for commenting and contributing on Gitlab

I have a personal gitea instance for all my personal projects.

Honestly, the project default instance is whatever makes sense for that project.

Other hosters gaining more popularity, among other reasons, GitHub is owned by one of the worst companies around, I found Codeberg and switched there, now almost all of my projects live on Codeberg, mirrored to GitHub cause I don't expect an employer would follow a link to Codeberg if I solely include it on my CV

Lol. I read “Other oysters gaining more popularity”, and found it very appropriate !

Same. Shame though they may still probably have the audacity to use mirrors for non-consensual copilot training.

Once federation gets added to one of the FOSS, self hosted alternatives, I'll probably switch. I'll mirror stuff to github probably, for resume/recruiter purposes, but the CI/CD, website deployment, and main development will happen on whatever alternative I chose.

The problem is that you lose out on dev attention when moving away from github.

I moved my projects into github when placeholder projects literally containing a README with a link to the real repo only got way more interaction on github than in the real repository: More stars, more views, more issue reports and even more PRs (where the devs have obviously Cloned the repo from the actual repository but could not be arsed to push there as well).

If you want your project to be visible, it needs to be on github at this point in time:-(

Never had much use for an account on a public repo and started disliking GitHub once it got bought, so I'm in the third category: never had any repo on GitHub, anything marginally significant that I have (i.e. only one private repo atm) I host in Codeberg. You can follow them on the fediverse @Codeberg@social.anoxinon.de

My loyalty is fluid and my projects are portable

The social aspect of GitHub is pretty important, to me, professionally.

So I'm primarily waiting for a project like GitLab to support federation.

I want to be able to work where-ever makes sense, but still have strong discovery support for all of my public work.

At the moment, that makes me a GitHub user. I'm watching for GitLab to announce activity pub support, though.

I'm also watching for GitHub to start down the venture capital enshitification route, of course.

I already host my projects on my own gitea server so...

Same. I don't use all the bells and whistles that others provide and gitea just works!

Do you collaborate with others? If so, how? And what do you use for CI(CD)?

I don't collaborate with others on my private projects. But if I would, then I would just invite people to register themselves on my instance like they would on github, gitlab, bitbucket etc.

I have yet to deploy my pages via CI/CD but thats a project I want to do eventually :)

They are working on ActivityPub integration so you can work together with people on other instances.

I'm not OP but I use Woodpecker CI, also self hosted. Gitea is also working on Gitea Actions which are supposed to be compatible with Github Actions, but I think it's still on beta.

Ive been using it for a few months now, and its probably more than 95% compatible, and closing the gap quickly

The right mood and a bit of free time to start the process. I'm already planning to go Codeberg or some other Gitea instance.

Well, there's just not much reason to switch yet. If it ain't broke, don't fix it.

(Well, maybe Copilot training, but I'm sure those dipshits at OpenAI scrape Gitlab too.)

If it ain’t broke, don’t fix it.

If you know it will break, try to see how to reduce the damages.

I already switched to Gitlab when Microsoft bought GH out. Been using it for years and have never had an issue

Same. Our whole team switched to gitlab. The whole point of git is that it's distributed. We could host it ourselves over ssh if gitlab became a problem.

I host my projects mostly on Codeberg but still keep a Github account because of the multitude of useful projects that are unfortunately hosted on GitHub. I wouldn't waste a second to delete my GH account if those projects migrated to Codeberg or any other Libre alternatives.

Same. The biggest reason I'm still on github is because there's no way to contribute to projects there without a user account.

I don't understand the question or the responses.

It's a host for code repos. I would "switch" from GitHub if the repos I need to interact with were hosted somewhere else.

How do y'all use GitHub? Is everyone running their own open source project? None of my personal projects have ever been open source before. Very few of them were even useful for anyone but myself

I've been a developer for 20 years, I've never felt dependent on public code repos for my own career before, and I would be uncomfortable if it happened. No employer has even asked for my public GitHub profile or to see my commit activity. Not even when the company hosted their code on GitHub

Very few of them were even useful for anyone but myself

Most developers learn and grow by doing - which means learning by making mistakes, googling their error messages, and looking at examples of other people doing what they're trying to do - which is why you should always open source your code unless there's a specific reason not to. If you've ever made something that works, then your cube would be useful.

I've never felt dependent on public code repos for my own career before,

I hope you don't actually believe this. The entire Internet, and computing itself, is built on the foundation of open source. This is like saying "why do I gotta pay taxes" when you and everyone you've never met has relied on roads etc. And that's just the basic example - the real importance of, say, public education, is that, while you personally may not have used it, many many many other people have - and their education has pushed the quality of your collegues higher - which pushes you to be better, either as competition or cooperation. This is the actually accurate meaning of "the rising tide raises all ships."

Even if you've never used Linux, or any open source software at all, the rest of us have, and we're pushing your job and your career to new heights.

I’ve never felt dependent on public code repos for my own career before,

I hope you don’t actually believe this.

I think you misunderstood me. We all use open source software or develop using open source libraries, and in the context of the question, I don't care where they host their code, as long as I can find it. But that isn't what I was talking about. I have never felt like my career depended on me publicly hosting my own code. I have found jobs and connected with people through other means, and they haven't even asked to see my github profile in any interviews I've been in.

which is why you should always open source your code unless there’s a specific reason not to. If you’ve ever made something that works, then your cube would be useful.

Sure, I have a Python script running on a Raspberry Pi controlling my garage door opener. You want it, I'll show it to you. I believe in open source software, but I'm not going out of my way to publicly host (and document, yuck!) every little thing I've made for myself, especially when they have often been tailor made for my home environment, or hacked together in 15 minutes and riddled with secrets.

But my main reason is simply privacy. I don't want to broadcast to the Internet what project I am working on right now, or reveal the architecture of my home network or smart home setup. There's a lot you reveal about yourself when you show the world what you are doing, and I would prefer not to do that.

Is everyone running their own open source project?

Essentially, I suppose. I put most of my personal projects on GitHub because a) I believe in the open-source philosophy generally and b) sometimes they are helpful to others! For example, because I put SmilApple on GitHub, someone was able to adapt it to make this. And besides, it's a great way to distribute programs that you want other people to use, like my current project Chokistream, or when I made a fan-translation of a game. None of these are "serious" projects like a new framework or something, and all of them have very limited audiences, but if I'm coding them, I might as well publish them where someone else might be able to benefit from them. I also don't feel like they're important for my career, but they're important for their own sake and I would care if I lost them.

I'm not in charge of many open source projects but the last one I actually put up on gitlab instead. We use gitlab at internally at work and it's completely fine. I mostly use my github account to interact with repos that other people host on github.

All it took for me to switch to GitLab was a larger free lfs quota which I wanted for a project. The superior webpage UI made me migrate every old project to it too.

I’ve been using GitLab for years. I have a GitHub account but at this point I only use it to contribute to other projects.

The only reason I would switch is if the projects I contribute too would switch. I personally don't care.

What did GitHub do?[serious]

They're just a monopoly and could easily pull a Unity, Twitter, Reddit, or whatever other big service exists.

It's the implication

Yep. I'm a very happy GitHub user, with my finger idling near the eject button since they're a prime candidate to pull a Unity.

3 more...

I've never really heard of alternatives, to be honest. If others are equally easy to use and work with Git, I'd do it. Taking suggestions for alternatives?

GitLab. You can use their SaaS offering (gitlab.com) or run the open source version on your own server(s).

I was self hosting GitLab for a while. The docker container was quick and easy to set up, simply worked out of the box.

Them shutting down.

I have a couple netdevops Ansible projects there but I would not want to dilute the openAI scalping with my shitty playbooks. Not sure if the scalp private repos though.

I use GitHub and GitLab about 50/50, but I'd use nothing but GitLab if forking and pull requests across platforms was near seamless.

With free time and some rest I’d move to sourcehut.

People didn't move when it became a social network, when Microsoft bought it, or when their IA scanned the whole code to make money from open-source projects. Only Musk buying it would change that a bit, but it still wouldn't not destroy it.

As for me, I don't have an account. My personal projects stay private, and for work I have pro accounts at GitLab or Azure DevOps.

I want to have separated accounts for different sets of project...
Signed up a second account... it got suspended instantly (after I log in with my main). According to ToS, I can't have more than one account.

Nuh uh, You aren't the only provider. Headed to Gitlab, no more bs.

Was this with the same email address? I have multiple accounts for personal and work. I sometimes log out of one account and into another in the same browser, and have never had a problem. Honestly never thought it'd be a big deal.

No. Maybe it flagged dynamic IP as spam or whatever. At this point I don't really care. Got what I want.

That's hilarious because for automated access to the API, without tying to a single specific user account (for attrition purposes), my company was advised by Microsoft Support to create a service account for that API access. The process was the exact same as any other user account because... it WAS like any other user account.

If the social features become too egregious. It's already turning into borderline LinkedIn with their new feed updates

Have you seen all the people just stuffing their profile README full of random graphics and stats and badges

I'll admit I have a badge there myself to highlight the languages I work on. But some people are sure driving it beyond

I also think the addition of the achievement badges was a mistake, a coding platform doesn't need this kind of gamification

I use GitHub as an off-site backup for personal projects for over a decade now. I don't think I'll be moving away for any reason.

Killer feature of gitlab that I have yet to see replicated is automatic repo creation on git push. This makes GitLab my go-to for this role.

it's free and convenient? if there was another reliable, free git host with a polished web interface and decent cli for features like issues, sure, I'd consider moving to it. I'm not in the market though, I have other work to do

also the github actions workflows are brilliant.

We run our own SourceHut instance because I hate all the social dopamine crap built into GH. I hate you need an account just to participate in a repo. I hate the heavy UI (sometimes it's better than others).

Also, srht supports hg as well as git.

The only reason I don't use srcht is its use of email for everything. It feels so last century.

This is what I love about it. Also email is used in the biggest projects in the world (including the linux kernel). It allows anyone to just clone & contribute immediately.

It's archaic. The linux kernel has the amount of contributors using email because it literally is the only way to do so. The linux kernel can command its method of contribution because of its importance. If you start a new project and your only method of contribution is email, I bet you'll miss out on most contributors. Same as if you limit real-time communication to IRC only (but at least there's matrix for that).

Well there are many smaller projects than the kernel that still use the email workflow. To me it's simple, not archaic. You're right though, you definitely would miss out on contributors but that's just the reality of the dev world today.

It may be simple in the sense of it being "lowtech", but it certainly isn't easy, IMO. I'd have to read a guide on how to send a patch or apply one from somebody else. Commenting on a line of code and following a discussion about it isn't very legible. There's no way to mark a discussion as resolved, now way to have a quick overview of the status of all the comments left on a patch, is it possible to submit a patch with multiple commits and if so how does one see the final result? Is it possible to sign my commits?

The UI and UX are need a lot of work, IMO.

I’d have to read a guide on how to send a patch or apply one from somebody else.

The guide is about 2 paragraphs and you'd also have to read a guide for how to create an account, fork, clone, push, send PR, etc. for the new normal workflow.

Commenting on a line of code and following a discussion about it isn’t very legible.

It's normal email bottom posting usually, pretty simple to follow. The srht UI does a decent job of this for you as well imho.

There’s no way to mark a discussion as resolved, now way to have a quick overview of the status of all the comments left on a patch

In email specifically, no. Of course you can mark it resolved if using custom software (ie, srht) that supports it. Not sure what you mean of quick overview, unless you mean via a webpage which again, srht provides. If straight email, you have to cycle through the emails. Which for me, just means typing "j" or "k" instead of page up/down like you would on GH, srht, whatever.

is it possible to submit a patch with multiple commits and if so how does one see the final result?

Yes, of course. No clue about seeing them all in one final patch. I suppose that's useful though I've never had an issue going through each patch individually. Maybe a feature suggestion for srht.

Is it possible to sign my commits?

I don't see why not.

I've used email WF, then "github WF", and found srht very refreshing when it launched. I still stuck with BitBucket because I didn't want to take the time to move over but once they removed Mercurial support, we went all in with srht and no regrets. Our code review process via email is so much faster for us now and prior to this move, I was the only person on the team who'd worked with the email WF before.

Of course, I totally get it's a personal preference and that a lot of younger developers have no experience with the email WF and humans are naturally resistant to change. They probably wouldn't enjoy it either.

Already moved in the sense that I am not creating any new projects on GH. I am rehosting old projects opportunistically. No plans to get rid of the account unless GH does something really messed up.

Don't know if anyone remembers but private repo's used to be restricted on GitHub, so I actually use BitBucket for most of my private stuff.

Feels like it wouldn't take much change for me to leave with my own stuff although some presence would always be necessary due to contributions. I don't use any of the "features" of GH though, except for pages and that's for work.

It would take a lot to get me to start using it. Git is great, and GitHub is a mess.

What are you on now? Codeberg?

Self-hosted Gitea.

What do you use for CICD? And AFAIK federation hasn't been implemented yet, right?

I know this will come as a shock to a lot of people, but a lot of software doesn't do CI/CD. Especially CD. Basically only webapps can do CD, although Dropbox is close with weekly releases. A lot of enterprise and industry software still does quarterly or even semiannual releases. Hospitals, banks, and government agencies in particular have stringent vetting procedures that mean they can spend months verifying and approving a new major version before upgrading, so there's no point throwing one at them every couple weeks.

Basically only web apps can do CD

CD == Continuous Delivery, which can also mean publishing a new "release candidate" artifact. Maybe there is a more stringent QA system downstream, such as QA teams after a car gets a firmware update to that release candidate.

A lot of enterprise and industry software [...] have stringent vetting procedures that mean they can spend months verifying and approving a new major version before upgrading

This happens on the consumer side too, with risk averse customers, even if they adopt a continuous delivery paradigm upstream. It's also a common argument against a rapid release model, but is often dismantled when appropriate, automated safeguards are put in place. Not always possible to automate everything, due to regulations, but automating the bulk of the tests are in everyone's best interests.

How are those tests triggered? On developer machines? Not very reliable that a human will remember to execute them, even if it was possible to run them all from a workstation. That's why there's a bastion host or, hopefully, set of hosts to run those tests and builds. That's the CI/CD system. That's the value.

Simple. I would switch if there was something better available. Nothing else I've tried is even close to as good.

Someone creates an alternative that is federated by default, like Lemmy. But additionally it is fault tolerant, i.e. if one instance goes down, my account will still live on on another, and so will the repositories and all their associated data.

This is the world I want to live in.

Self-host your git repo.

git is already decentralized.

I'd have to assume they mean the features of Github like pull requests, issue tracking, wikis, etc that aren't part of the git

All of those features are very poorly implemented by GitHub. There are many other platforms which do a better job and can integrate with git.

And can integrate with git? Examples?

I haven't found a platform that handles issues integrated with git (as a technology) except, maybe, git-bug.

The wiki concept is simple; an external repo that's a static site generator. All GitHub's wiki happens to be is a fancy UI around Gollum wiki.

The protected branches and other git hooks are definitely part of the git-hooks feature that ship with the software.

Honestly, the full integration and friendliness to self-hosting had me seriously looking at Fossil, until I saw some opinions I couldn't get on board with (e.g., automatically pushing to/pulling from remote on every commit)

Gitea, loads of Atlassian products like Jira and Confluence, Reviewable, Gerrit, Jenkins - and that's just off the top of my head while I type.

Try actually working on 5 different Gitlab instances and you will soon notice that there is in fact a really big difference between federation and decentralization.

You need a new account for every single server. And if you don't want email notifications you'd have to manually check all of them to see if there are issues relevant for you.

Though for what it's worth Gitlab is actually looking into potentially supporting ActivityPub in the future!

Try actually working on 5 different Gitlab instances and you will soon notice that there is in fact a really big difference between federation and decentralization.

This is my biggest problem with Gitlab and github alternatives. Multiple accounts on every single instance you want to contribute to. It's a pain

Though for what it’s worth Gitlab is actually looking into potentially supporting ActivityPub in the future!

Gitlab could've worked on federation years ago, but they sat on their hands for at least 7 years until an external contributor decided he would implement it. Good on the dude, but fuck gitlab for being so passive about it for all these years.

This is my biggest problem with Gitlab and github alternatives. Multiple accounts on every single instance you want to contribute to. It’s a pain

Wah really? I contribute to, like countless projects on github. Sometimes just a comment in a discussion or a single line pull request and then never again... gitlab sounds horrible.

Yep, they completely ignored that aspect for maybe a decade. One poor, unaffiliated dude is finally taking it upon himself to implement it while Gitlab engineers cheer him on. IMO it's their biggest oversight and misprioritisation.

I use it for work so to entirely leave it they'd have to move away. That seems unlikely.

I mirror all my stuff on Gitlab just in case GitHub goes away, it probably won't happen but I like having backups! :)

As someone who has to use Azure DevOps for work, I can safely say GitHub is safe. Microsoft put so much effort into while Azure DevOps seems like an after thought to them now.

My account has not seen a single commit in years now, and yet I can let it go... I still "need" it for support on an old project of mine that I share with other people, and to submit changes for projects I care about which are only on GitHub.

I also keep my account for name squatting purposes, and so people can find the link to my actual repo.

I don't think I'll go all the way to delete my account, but my projects are definitely not reliant on it anymore.

ITT: people who think that GitHub == git

Where'd you get that impression from? You are aware that this is programming.dev not lemmy.ml or some non-programming instance, right?