So this is inspired somewhat by a question about somebody wanting to have a non-GitHub way of contributing to Lemmmy. I’ve really enojyed some other discussions on this community so felt somewhat inspired to ask this one too.
And whilst Lemmy is mirrored to a couple of alternatives (a self hosted Gitea and Codeberg) they can’t really be anything more than a mirror and a backup. If one doesn’t want to use GitHub they still can’t realistically contribute without signing up to GitHub and creating issues and PRs.
So what would it take to actually get people away from GitHub and onto alternatives (GitLab, Codeberg, sourcehut)? The situation seems to somewhat parallel the whole Reddit and Twitter thing. Both have/had a huge monopoly on users to the point where it just wasn’t really worth using anything else, at least not if you wanted to be part of a decently sized community.
Other mass migrations
Obviously the difference with Reddit and Twitter is that they both have had their version of “the Event” which cause existing projects (Mastodon, Lemmy amongst others) to suddenly explode in popularity. Has it killed off the originals? No but it has made the alternatives actually viable with enough of a community to sustain them and encourage more to join, even if slowly.
GitHub has had its fair share of controversy, most recently surrounding co-pilot and code scraping but no particular widespread outrage to cause people to leave it in droves.
GitHub is the home of open source?
I think for many GitHub has simply become synonymous with open source. The sheer number of repositories and projects hosted there means that people just use GitHub alone for all of their open source needs and don’t even look at other forges. Not to mention all the services offered - most of the alternatives can offer some of the same features but not all of them. Not only do you get space for your project code itself but you get access to their CI/CD platform, a forum through Discussions, a wiki, a project management tool, static site hosting which is an awful lot for smaller projects like GitLab and community non-profit projects like Codeberg to compete with.
There of course are some people that rely on their GitHub profile and their activity chart in order to get jobs and advance their careers - many of these people I suspect wouldn’t want to fragment their profile by having to split their activity up over multiple profiles.
So why would anyone not want to use GitHub. Quite simply it isn’t really in the spirit of open source is it? Not only is it controlled by Microsoft who haven’t historically been the friendliest towards open source but GitHub itself is closed source. You can’t host your own GitHub and get all the same features it enjoys. It does seem somewhat odd that the biggest vault of open source projects is itself proprietary and completely closed off.
What would need to happen for things to change?
So realistically what could be done about it? What would need to happen in order to entice people off of GitHub? Something arriving in the hopefully not too distant future is forge federation - projects such as Forgefriends, ForgeFed and ForgeFlux aim to try and create a federation of software forges. One of the main issues about having to create different accounts for every single platform goes away as you just stick with the instance you like best (or host your own) and yet still be able to fully interact with software hosted on other platforms. This means that you should be able to interact with a project hosted on, say, Codeberg, from your sourcehut account. You should be able to see issues, PRs etc. just as if you were on the same website.
GitHub, I strongly imagine, would have no intention of joining in order to maintain and protect their walled garden. I just don’t see a world where they would want to join in with federation.
Lastly I just want to add that I’m absolutely not judging anyone for using GitHub. The main project I’m involved with is also still on GitHub for some good reasons. Not only is it intertwined with their ecosystem but it provides services that we just need at this point. We still rely on some of GitHub’s services so we don’t spend our community donations on hosting stuff that we just don’t need to. It lightens the maintenance on us whilst we are still in a very active stage of the project with an awful lot of moving parts. And the bit I hate most, we need to be visible to the community - we aren’t big enough to go to one of the alternative platforms because what community engagement we have might well drop through the floor if people are suddenly forced to make accounts on other services just to log an issue or ask a question. I would love to move to a platform like Codeberg and any personal project I make would probably be hosted there but for a big-ish community project we just cannot justify it. So I am well aware of the attraction of GitHub and what keeps people there. What I want to know is what would be needed to actually break that inertia for projects, such as the one I mentioned, to justify a move away from GitHub - particularly people who may be far less ideological about the open source world.
tl;dr
- GitHub offer many nice thing
- Other places have not so many nice thing
- How other place make people change mind up to move from place with all thing and all people to place with less many people and thing?
I like the idea of a federated, ActivityPub-based version control systems that work with git. Here lies the problem: Microsoft has not done quite enough to inflict pain on developers just yet. As I begrudgingly concede, MS has been by and large friendly to github members, even the non-paying ones.
The somewhat snide answer to this is that… this is what git already is! Git has built in tools for submitting patches via email — a federated service. It’s actually what git was built for.
Of course, GitHub and stuff can be a pretty nice interface on top of git and provides features on top of git itself… but for small projects like the Linux kernel it’s perfectly acceptable :).
Websites like GitHub are obviously a lot more approachable, though, especially since I feel like a lot of people kind of grew up with the gmail web interface or something similar and aren’t used to dealing with mailing lists for this kind of stuff (myself included, honestly).
But to be honest… what are we really getting out of federation for something like GitHub? Like… it’s basically just single sign on with extra steps? I guess you can build alternate clients with the protocol for PRs and issues and stuff? But git itself is already pretty distributed, so I feel like there’s not much to do there tbh.
IIRC the great UI and UX that GitHub offered on top of git was actually essential to the popularity and adoption of git. Without the UI and web interface, I think hit is too complex for people to borther with - except for hard experts.
I can believe that there are people who use GitHub to do some interactions with git – like doing searches through a repo – but I can’t imagine how you do most of what one would do with git when developing or contributing to a project from within GitHub.
I mean, I use GitHub to push and discuss PRs, and to host a public git repo (for which all one really needs is a webserver that stays up). The vast bulk of my git usage is local. I use an emacs frontend for some of it, but a lot of it is plain old command-line git.
Yeah, exactly. Almost all of a devs interactions with git don’t actually involve GitHub. It’s nice for reviewing PRs and posting issues… but the bulk of what we do is with git itself. It’s easy to move git repos between services… git is already a distributed version control system. It would be a pain if GitHub exploded, but it’s very much not an insurmountable problem, especially since every dev for a project will have a local copy of the code.
It would be a pain if GitHub exploded, but it’s very much not an insurmountable problem, especially since every dev for a project will have a local copy of the code.
I don’t think anyone is particularly worried about losing code, as you say it is all distributed. What isn’t distributed is everything else - Issues, PRs, comments, releases. Those are much back up and re-implement if GitHub went belly up tomorrow.
Oh for sure. I also think it makes a big difference to be clear.
This wasn’t my recollection. Git exploded the minute it was created, as a result of being created by Linus Torvalds. Before Git we had SVN and CVS, both insanely client-server products. Git is distributed.
I may be wrong on this, but what it sounds like to me is that the thing GitHub is built up on is the main attraction, the only thing to benefit is to build an equivalent platform for interfacing with it that is open source and maybe federatable
In some sense GitHub really doesn’t offer much. Like, the main thing is that it’s a nice interface for PRs and issues. If you’re just a dev working on stuff you mostly interact with git itself. Git repos themselves are distributed and very easy to move between platforms. So, like… losing GitHub would suck (you’d lose all of the issues and PRs), but it’d be fairly easy to just put the code base on another platform like gitlab or gitea or gogs or whatever. I’m not really that worried about GitHub exploding because of this.
That said it’s really pretty annoying when a project uses its own gitlab instance or something and you have to make an account to contribute or post an issue… it’s a relatively small barrier, but it’s enough of one that I won’t bother often.
I honestly don’t know what people want from a federated GitHub like service… do you just want like single sign on with OpenID? Because that’s basically the only benefit I can imagine, but maybe I have a shitty imagination.
I honestly don’t know what people want from a federated GitHub like service… do you just want like single sign on with OpenID? Because that’s basically the only benefit I can imagine, but maybe I have a shitty imagination.
Well the point is that you can use whatever UI you like and work with other repos. Just as with Lemmy the fact that you stay on your own instance yet can browse and post to other instances as well as non-lemmy instances like Kbin. The whole idea of forge federation is to avoid exactly the problem you describe with having to make a bunch of accounts and needing to work with and monitor different sites which is one of the big reasons people like GitHub - everything is in one place.
So no, it wouldn’t be a single sign on because you don’t need it, you just have your account on the forge instance you use - could be the big hosted ones like GitLab, Codeberg or sourcehut but could also just be a Gitea instance you run on a Raspberry Pi. From that instance you can still view other repos hosted elsewhere, create issues and PRs et.
So lets say you were interested in a project hosted at
https://codeberg.org/blazinglyfasttm/rustything
but you were using your own account on a self hosted Gitea you could still interact with the repo without going to the Codeberg website. Instead you would be able to use something likehttps://myimaginativeforgename.io/blazinglyfasttm@codeberg.org/rustything
. No new accounts, no different UIs but you can still interact with the project as if you were on the original site.Sure, I guess that’s fair.
For me… By and large it still sounds like the most valuable thing is that you don’t need to make multiple accounts, which is why I bring up single sign on. The interface for PRs or whatever doesn’t make much difference to me, and I worry a bit about having different clients for PRs and issues because they might support different features or display things differently (everybody has their own markdown already, for instance…). It’d probably be fine, but it seems like it’d be about as annoying as having to log into separate gitlab / gitea instances with single sign on to me anyway.
It could be cool, though, and I’d be happy to see somebody build it. Don’t let me poo-poo it.
GitHub not only provides a centralized service for automated patch creation and merging, bug and feature tracking via tagged threads, and organizational permission management (which are the main draw)…
It also provides:
- A free* and robust CI automation service that integrates smoothly with the aforementioned patch creation, merging, and feature tracking
- Within reasonable limits. I’ve never had an issue with the limits set for free users, even with constant testing on large projects.
- A helpful combination of kanban (board), table, and timeline trackers for the aforementioned tagged threads, or simpler ideas
- A host for static websites that can be redirected to your own registered domain, completely free of charge
- Social features that help users find new projects to contribute to and keep up-to-date on projects they already use and contribute to
GitHub may seem simple, but it really provides a ton of functionality to power-users and organization managers that cannot afford to foot the bill themselves. People like me could not continue to do what we do without GitHub at this point in time.
Yeah, these are some good points. I don’t mean to say that GitHub is a trivially implemented frontend to git, or that it provides no value at all to be clear! All of these features are great and really useful, and it would be sad to suddenly use them were GitHub to explode… But in the grand scheme of things projects can still migrate relatively easily to other services or self hosted ones, and my impression is that most of these features (excluding GitHub pages, which are super popular) are fairly underutilized – at least in my experience I mostly just interact with GitHub to do PRs and issues, and I don’t think I’m alone in that. The disappearance of these bonus features would certainly impact some projects a lot, and suddenly losing issues and CI would SUCK, but it’s not unrecoverable, and they’re (arguably) a little bit tangential to the core product.
I also think that the free CI is a bit of an aside in the discussion of a federated GitHub like platform – recreating GitHub as a fediverse thing would not suddenly make it so you can afford to foot the bill for CI, unfortunately (maybe you could have a pool of trusted volunteers to run it or something, but that’s kind of tricky)… In terms of free CI resources, I don’t think there’s much of a way out of depending on big corporations like Microsoft to supply it to keep you on their platform. You’re either going to depend on them, or you’re going to have to pay for it yourself or accept donations somehow, right?
The free CI is really awesome, though… I’ve unfortunately hit the limits with my projects, but being able to just add the free GitHub CI is a huge win, especially when you can’t convince your boss l organization to shell out for CI, so I definitely feel you there :(.
- A free* and robust CI automation service that integrates smoothly with the aforementioned patch creation, merging, and feature tracking
But to be honest… what are we really getting out of federation for something like GitHub?
You already mentioned it: familiarity. If you want people to contribute to your project, you have to make it easy for them to do so.
Yeah exactly. As long as GitHub continues to behave like the Steam of source code no one is going to mind continuing to pay them millions of dollars or that they have a relative monopoly.
Steam is a good example to bring there. On a philosophical level, they’re a monopoly especially on Linux and we should be cautious. But they’ve also done so much good for gaming on Linux, it’s really hard to be mad at them.
For me the analogy doesn’t completely work. It isn’t necessarily just about the monopoly but also the ideology. Steam’s existance doesn’t really come into conflict with the purpose it serves where with GitHub you have a proprietary closed source system acting as the hub of the open source community which just doesn’t sit quite right with me.
There’s been a couple of, I dunno, “benevolent hegemonies”? in tech over the years. The weird thing is that as much as I hate the idea of monopoly, the smart play is usually to embrace them, because if they’re benevolent enough a lot of good comes before the fall. There’s always a fall though.
Red Hat is kind of a current example.
GitHub had their fair share of controversies for deleting certain repos. I wouldn’t exactly call them the Steam of source code, but the comparison kind of makes sense (in terms of convenience provided to the user).
Totally agree, GitHub offers an awful lot of good stuff that is really attractive and great to create a thriving community around your project that simply isn’t offered by others (not their fault, not many have the same resources that Microsoft can throw at things) hence why I’m asking what kind of thing bar a GitHub catastrophic “event” could entice people away.
The event horizon in this case would be reducing the capability of the free tiee and pushing people towards paid subscriptions.
Honestly, training their proprietary AI on GPL code (with no ability to opt out) was enough for me.
Generally GitHub has low lock in, the only real thing lost in moving to another service is the bug tracker, but this can easily be scraped. There is no real network effect, as git is fundimentaly decentralized. The main this preventing a mass migration is that GitHub has been remarkably nonshitty, possibly because they now how quickly their marketshare could implode.
TLDR: There is not really anything preventing migration, but a lack of anything to kick it off.
Exactly. Yes, Microsoft buying it made me nervous at first, but they’ve actually been adding plenty of value over the years. I think Copilot is part of GitHub Pro or whatever it’s called these days. Simply put, it does everything I need, and isn’t doing anything wrong. There’s just little reason other than self-hosting to switch.
I’d say, let’s wait for a catastrophic event at github before we jump ship.
Git , by its nature, is distributed. If, worse case, github.com went down (without warning). Life would move on, people will have local checkouts of the “important/popular” repos that would be pushed “somewhere else”.
Yeah, github actions wouldn’t work, build that pull from github repos would need to be refactored, but life would move on.
The problem isn’t the version control itself. Obviously git continues to function and I can commit things offline in a plane. What I can’t do is create/review PRs or read/open issues. That’s easy to brush off, but the most egregious thing is the fact that this used to be federated over email!
All we needed was more user-friendly tooling to make it easier for new college grads to start contributing to FLOSS, but instead of better email based tooling we got the centralized trash that github is today.
Email does lack the ability to edit comments on a PR.
While editability is “fragile” – that is, someone could log the original unedited comments and make them visible, I think that in general it is true that people favor having that editability over not having it. Reddit has it. The Threadiverse has it.
It’s also possible to withdraw or close out a PR – having that attached status is handy.
In terms of doing collaborative work, PRs on GitHub are searchable. While one can theoretically archive a mailing list and add a search engine and could build tools to do all this over email, I don’t think that the git email tools were where the family of collaborative development websites – including some open-source ones – are today. That is, there was legitimately unmet functionality as things stood.
Yeah, email doesn’t seem like a particularly good tool. You could do it if you had your mail client do a stupid amount of heavy lifting, but at that point it’s barely a mail client any more. It’s something else entirely that happens to smash email into a communication protocol for itself.
It seems less ergonomic for sure. I think all of these things can be quite manageable… But e-mail certainly feels noisy, especially if you’re naively getting everything sent to your inbox directly and you can’t silently edit things or withdraw / close them without making noise for a lot of other people. That said… Sometimes it seems like it’d be kind of nice to just use e-mail for this stuff.
You make a valid point regarding losing important contextual information like PR and open bugs.
However, I don’t think email offers the same level of visibility as we currently have with github workflows.
There is an creative Git based issue tracker, I used called git-issue. Basically, the entire bug/issue/pr process is captured as yaml (I think) files, which are kept in a dedicated branch.
When I used it (as I wanted a self-hosted bug tracker), I found it functional but a bit cumbersome. However, I could see someone creating a very nice github like web interface for it.
Yeah I’ve played with git-issue and agree it’s not ideal. Have you checked out Sourcehut? It is entirely email based but with some pretty great tooling around it to make it more accessible.
I agree that in a perfect world we have a separate open protocol for all of the non-repository related workflows/data, that has all the features we need. But the nice thing about email is it’s decentralized, and everyone already has it. And in my opinion, with the right tooling built around it, it can get pretty close to the same quality of life as a github PR, but also degrade gracefully without it.
But the nice thing about email is it’s decentralized, and everyone already has it.
That is true, but in the case of email as an issue tracker: only the people who have received it will know of its existence (unless it’s mirrored on public facing websites - like Debian does with their issue tracking).
The thing we’d lose is the “ease of access”. Tbh, I’d see Usenet being a better distribution medium than email for OSS apps… but I really appreciate the intention behind solutions like git-issues: move the issue tracking into the same tools used to track code changes. It, in my opinion, is more in line with K. I. S. S.
totally agree with that! however, from our experience with reddit and the threadiverse, it would have been nice (not expected!) if there’d been a little bit more of a mature alternative: if we had native apps, more stability, etc…
since OSS is so damn important, it’d be worth hedging our bets: don’t expect github to implode, but understand that OSS is too important to leave in the hands of a single organisation so we should have reasonable ideas and options for what would be a good federated alternative
im sure projects that deal with things like privacy and getting around national internet blocking (things that have been removed from github for censorship or “copyright” reasons) would be keen on having options
Personally, I feel like as of lately Microsoft has been doing fairly good to the open-source community. Free CI minutes for open-source projects, they’ve expanded free private projects, there’s no ads. Apart from a purely philosophical hatred for Microsoft, they just haven’t really done anything to drive people away. People got scared with their acquisition and fled to GitLab but GitLab’s kind of not as nice and responsive as GitHub.
The reality is only a big company like Microsoft can get a large enough enterprise userbase to subsidize the costs of everything that’s being offered for free on GitHub. We’ve seen the competitors like GitLab struggle and claw back on their free tiers while Microsoft has been expanding GitHub’s free tiers.
I also enjoy VScode after spending years on Sublime Text, Lemmy’s UI is written in TypeScript which is more MIcrosoft tech. NPM, the package manager used by the frontend is also owned by GitHub and therefore Microsoft as well. Rust crates? That’s hosted on GitHub as well.
I still self host when it makes sense, as I don’t want to depend on a big company’s good will for my stuff. But I’m absolutely fine using GitHub, I like GitHub and a newcoming competitor would have to be extremely competitive to win me over GitHub. And even then, I’d approach that competitor with suspicion, because it’s likely they’d be burning through VC money stupid fast and would eventually need to find a way to be profitable. Microsoft can easily operate GitHub at a loss just like Google’s been operating YouTube at a loss.
Whilst I do agree that Microsoft are indeed being good (at the very least on the surface) I think the big difference isn’t necessarily that it is Microsoft as the big bad guys but more that lots of those projects, npm, typescript, vscode are, at the very least, mostly open source meaning that if they did decide to go all anti-open source then people can still pack their bags and leave with all the tools they have been using. If they decide to alter the deal on GitHub itself then there isn’t much anyone can do about it.
You can mostly pack your things and move on with GitHub too, that’s one of the key features of
git
. As long as someone’s got a copy of the repo, they can upload it back to GitLab or Codeberg or whatever alternative there is. You may have to rewrite a big of your CI YAML but otherwise, eh.The project, yes, but not so much the other tools like Discussions, projects, wiki - not to mention all your PRs and issues. Whilst there is the API it isn’t exactly “portable” like the source code.
Some projects do maintain those elsewhere. Like, the video game Cataclysm: Dark Days Ahead has a GitHub repo, but the wiki used is a Mediawiki wiki run by someone else.
The biggest concern for me is that Microsoft and GitLab use your code to train their commercial AI.
Don’t forget about .NET, it’s a great platform and it’s open source too
GitHub, I strongly imagine, would have no intention of joining in order to maintain and protect their walled garden.
Git makes it easy to export the code and its revision history.
I don’t know about issue tracker content.
I think that the largest amount of lock-in is from familiarity with the interface, which applies to pretty much any service or product to some degree.
EDIT: While the code and commits may be under an open-source license, I do kind of wonder about the licenses on the other content on the website, like to the pull request material, which is legitimately important in maintaining an open-source project – it documents original rationales and such. Like, can Microsoft block access to them and sell them unless all of the original contributors agree to grant re-publication?
goes to look
Yeah. Looking at the text, it sounds like third parties might have rights to the code in the repository via the license, but not the issue tracker and suchlike: the only grant of rights there is to use it via GitHub.
https://docs.github.com/en/site-policy/github-terms/github-terms-of-service#d-user-generated-content
- License Grant to Other Users
Any User-Generated Content you post publicly, including issues, comments, and contributions to other Users’ repositories, may be viewed by others. By setting your repositories to be viewed publicly, you agree to allow others to view and “fork” your repositories (this means that others may make their own copies of Content from your repositories in repositories they control).
If you set your pages and repositories to be viewed publicly, you grant each User of GitHub a nonexclusive, worldwide license to use, display, and perform Your Content through the GitHub Service and to reproduce Your Content solely on GitHub as permitted through GitHub’s functionality (for example, through forking). You may grant further rights if you adopt a license. If you are uploading Content you did not create or own, you are responsible for ensuring that the Content you upload is licensed under terms that grant these permissions to other GitHub Users.
It’s probably impossible to track down all of the original creators of comments to get approval for some off-site reproduction, too.
I think that the largest amount of lock-in is from familiarity with the interface, which applies to pretty much any service or product to some degree.
I think this is somewhat mitigated with some of the alternatives. You have the much more basic/“traditional” UIs of something like sourcehut which can be a bit of a challenge to get used to if you aren’t familiar. Then you have the “GitHub-like” UIs - GitLab, Gogs/Gitea/Forgejo/Codeberg where people feel instantly comfortable as it is almost exactly the same experience as what they are used to.
I don’t see any compelling arguments to migrate away from GitHun honestly. MS seems to managing the service quite well.
How exactly would a federated forge guarantee the safety of your repo? With GitHub/MS you can be relatively confident that your private repos won’t be leaked or that your repos won’t dissappear due to server/backup issues.
Its massive user base is also conductive in getting other people to contribute to your project.
And if the safety of your repo and/or community size doesn’t matter, why bother all that much where it’s hosted, might as well run git locally.
And I’m saying all this as someone who migrated a few years back to GitLab due to it having a better offering for my specific needs. I personally also think their website is far superior to GitHub’s messy design, but that’s certainly not a compelling reason for someone to migrate either.
How exactly would a federated forge guarantee the safety of your repo? With GitHub/MS you can be relatively confident that your private repos won’t be leaked or that your repos won’t dissappear due to server/backup issues.
Well because the protocols would be completely open and the idea is that the services can operate with eachother it should be rather easy to manually back up your own repos. In fact Forgefriends have the F3 (friendly forge format) which is designed exactly for this - to record all the “non-git” info for purposes of not only federation but backup and portability.
This means that what you might lose in overall stability you gain in actually having a full backup and copy of everything in order to move or restore. In the perfect world you get both but honestly I’d happily take the latter as it means nobody is in control of that data but me.
Yes, clearly we don’t need federation for code hosting. We just need a good service and that’s what GitHub is.
If a better service shows up I’d be happy to use it, but so far GitHub is the best.
Not a new question. When I first got into Linux every one was asking “How can we get everyone to dump Windows and use Linux instead?” I long ago got tired of hearing about THIS year being the year of the Linux Desktop.
The answer is the same in both cases. Make it default, because most people don’t really care so long whatever is default does what they need it to do. Add in the network effect GitHub has and things would have to get incredibly bad before everyone would switch.
The reason everyone uses Windows? Because “everyone” uses Windows. Why does everyone use GitHub? Because “everyone” uses GitHub. Both have become the default. That would have to change.
I think it is somewhat different in that it affects a much smaller community - people outside of the open source world really don’t know or care much about GitHub and its alternatives as they won’t use any of them, I feel that is a very different story to operating systems which affects an awful lot more people.
The one difference is that there is currently a lot of interest in the fediverse so really I was musing if federation between forges outside of GitHub might be enough alone to kickstart some degree of migration and sharing in the space.
I agree that GitHub has become “the default” but really the question I’m asking is what would need to happen in order for it to no longer become the default, even if only in a minority but significant number of the GitHub population.
pricing changes, i.e. - removing free tier and increasing other plan prices.
Well for starters alternatives to github would need to stop shitting the bed. I and my team left for gitlab at one point, then gitlab had that whole fiasco where they violated everyones rights and litteraly broke the law while their ideot cfo mouthed off in public posts at the company devs who questioned the move. Then after that they tried to remove “inactive” projects till a whistleblower leaked it and that blew up in their face.
Bitbucket ignored major issues with its platform for more tha 6 years including the most popularly demanded feature basic fucking search functionality.
The list goes on and we tried many things before being basically forced to ho back to github. But right now unless you can self host githubs the best of what’s available. If you self host I recommend gitea or gogs over shitlab who has proven they can’t be trusted.
Microsoft themselves would have to Kickstart this migration. They would have to become hostile to developers, which they won’t do because that’s just stupid, or get rid of free tier and raise prices. Until the unimaginable happens the only thing the alternatives can do is improve their product or offer a niche experience.
GitHub would have to become unusable to me for me to switch. I already oppose a great many things GitHub does, but I consistently use most if not all of the free features on the platform, and their Git LFS for cloud storage (of all things. I know. I’m still kicking myself for that blunder).
The least problematic thing would be moving my snippets from GitHub Gist to a basic repository on some other site.
All of the projects I’ve ever created are on GitHub. Over 100 in total, not counting the projects in organizations I started. If I could find a trustworthy, reliable host for Git, I could potentially migrate those repositories over many hours of work, but then I would run into the problem of CI testing and automation being inaccessible from the new host. I use GitHub Actions for a lot of projects, and I’ve never liked other CI providers.
My organizations are all customized with specific teams for specific projects, and all of that would have to be replicated on the new host. My teammates would also have to switch for me to feel comfortable there as well, but in the case that GitHub becomes unusable, I wouldn’t have any choice but to leave them for whatever host I chose. I’d have to find a new place to put my kanban and table trackers that are currently managed through the excellent GitHub Projects as well.
My static website is deployed using GitHub Actions to GitHub Pages and redirected to my domain through CloudFlare (which I also oppose for their anti-LGBT “family” filter, but like GitHub, I don’t see a good free alternative).
TL;DR: It would have to be a perfect storm, or a complete disaster to make me switch providers for all these services.
I use gitea to self host my own git projects internally. I only post the really good and well-refined stuff to my actual github.
I’m glad your “good and well-refined stuff” is in your actual Github, PeterPoopshit
Github works and it’s worked for a long time
Unless they pull a Reddit, then it will be the main source for a long time
See, sites run by sane people know that so long as you give a consistent functioning product then the base will stay and grow.
They don’t even have to innovate much so long as those two factors are there
They’ll never pull a Reddit either because Microsoft spent a bunch of money on it and Microsoft knows how to maintain customer loyalty, even when actively working against them. They know how to safely explore their boundaries.
I don’t if, but soooo much crashes surely should trigger some response in people, especially when they go out of their way to work on some “real time” codebase, tasks requiring even a pinch of synchronization.
My recommendation is using anything that is less confusing and obtuse than
git
commands. It won’t attract people right out of the bat and, like others pointed out, Microsfot hasn’t fucked over Github yet, so projects are unlikely to leave, much less leave for good.