Why are so many Linux projects on Microsoft GitHub? Shouldn't they all move to Codeberg?
Sure, I know a lot of projects have been on GH since before MS bought it, but they've owned it for quite a while now, so we really should be seeing better migration out by now, no?
Codeberg is nonprofit which seems more in the spirit of the Linux ecosystem overall. GH is for-profit...
EDIT: All right, all right, I've gotten schooled. Thank you, O wise ones; I didn't realize how much Microsoft literally depends on Linux, among other things. I will proceed to shut up.
337
Comments116
GitHub has been around for nearly 2 decades and was largely considered a mostly good thing until maybe the past couple of years. Also important to add that Microsoft seems to mostly have left it alone for the first couple of years (possibly with the exception of Atom, which it left very alone)
In addition to people just generally being slow to change, changing can take quite a bit of effort for some projects for varying reasons. Many of those same projects struggle to keep up with the maintenance workload, so they're not going to jump at the chance to add more work to their plates.
Finally, some people just don't care. For instance, the MIT license being popular is pretty hard evidence that FOSS doesn't necessarily mean anti-corporate, and for many users GitHub still more or less does what it says on the tin.
Though I will say if the service disruptions and ad-injection bullshit continue you'll only see GitHub competitors grow. GitLab seems to be going after their enterprise customers with some success.
I'm pretty sure that MIT license is that popular out of ignorance, instead of an informed decision to allow corporate to steal and make money out of their code.
I'd like to think that is so but some here will argue non-copyleft licenses are "more free". Ime they don't reply after I point out that's the freedom to deny others freedom.
It's freedom nonetheless.
Widen the scope to consider downsteam users (the dev's user's users and beyond) and now the potential lack of any software freedom makes it freedom muchtheless.
So you want to restrict dev's freedom to choose whichever license they want?
I prevent others from relicensing my works under less-free licenses or making them non-free by using Copyleft/share-a-like licenses.
I've known people IRL who talk about the GPL like it's a virus infecting your code
I remember this confusion a LOT back when main-branch Blender had its own game engine built in.
Forums were full of people saying crap like :
"Don't use that, because since you used Blender which is GPL it means you have to provide the source code to your incredible GOTY contender and then everybody will beat you at life!!!"
Respectfully disagree. I can only speculate why other developers choose MIT. But for small and medium-sized projects, a more restrictive license is unlikely to protect them from this scenario anyway. And if that's true, one could argue it's better to go down a road where corporate sponsorships are potentially more likely.
Personally, I often choose MIT because I don't care who uses my code and for what, and I'd prefer that it be easy to borrow from. I used to be concerned about how my code was used, but over the years I've developed a strong dislike for copyright as a concept in general so I fight it how I can. Some of my projects are so simple that even MIT seems like overkill. In those cases I use the Unlicense.
Atom is back to life, kinda, there's a fork of it called Pulsar that's actually really pretty good
Why aren't all the reddit users over here yet? Consolidation and ease of use. Big number make brain happy.
Lazyness? Its why Amazon is such a success. Too difficult to do online search. Amazon is convinient.
It's generally not the search, it's the payment and shipping
It's not the shipping; it's the return policy. Amazon's is almost impossible to beat apart from certain in-person stores like Costco or perhaps ALDI.
Yeah - now, the downsides of this are well covered, especially by Corey Doctrow, in that once the users are locked into the platform, Amazon decreases the actual benefits - and then starts chisling the sellers as well.
But to fix that, you do need to do something besides just scold the customers.
Doubt it, most other online stores with the same coverage do offer similar conditions.
The difference is the wide range of products available on Amazon. I can buy 5 products from widely different areas and only pay shipping once (or maybe twice depending on availability).
If I were to order these 5 products on 5 different stores I'd pay 5 times shipping.
And most Amazon customers have prime, meaning they've prepaid shipping already.
Your local or regional provider can and will send you books in the same time - perhaps not in 24h, but this may be rarely the case that somebody is in a such dearly need of a book.
I am buying books from my local provider, though more expensive, but I want people to have jobs - considering how many bookstores closed due to Amazon - and the possibility to go there, have a book in my hand and read it a bit.
It's been a while since I've seen Amazon talked about as a book store.
It's not just books. Amazon offers many more goods, and locks people in with Prime.
I don't like it, but just claiming it as a sign of virtue won't change that.
True. And although some studies reported a positive effect on companies, I have my doubts based on what I have seen with my eyes in my city. A study issues further concerns:
https://www.economicliberties.us/our-work/the-local-harms-of-amazon/
You are mistaken, they all are, what's left is bots talking between them
Ha, if only that were the truth. I keep preaching over there and telling people to check out /r/RedditAlternatives, at least, so I like to think that I've moved at least one person over, which makes it all worthwhile.
The case of free CI/CD, visibility, and network effects are already said. So I wanna offer an anectode: someone I know is a graphic designer, who maintains a project that curate icons. Moving to Codeberg means he has to interact with PRs using the CLI, which he really does not have familiarity with. GitHub OTOH has a simple desktop client that allows natively switching across PRs, approving then in the UI, etc. It's really, really convenient for someone who's not a developer.
I think Forgejo-based platforms will need to work on a very good GUI client, in order to attract less technical contributors.
Why doesn't the web client fit their needs?
The idea is to download the "project" down to a local machine, switch to the contributors' PRs, and have those new files natively show up in their directories. Then they can use local software i.e. Inkscape/Illustrator/etc to edit those SVGs and commit the appropriate changes. This is really not feasible with a forge's web UI.
Two main reasons: history and network effects.
GitHub was an independent company for a decade that provided a vastly superior service to what it replaced, primarily SourceForge. And it was free for FOSS projects, while charging for closed ones.
The improvements paid for by the closed source customers trickled out to everyone. So, it became the best place for FOSS developers, large and small. And as more people moved to GH, the more reason there was to move to it.
Of course, it was constantly bleeding money and eventually had to do something. That ended up being selling to MS.
There was a lot of trepidation about this, but for the first few years they not only kept their promise about supporting FOSS, but actually made it better by allowing small private repos to get many of the services that were previously gated for open FOSS or paid repos.
And the alternatives were stil not as good, and just as importantly didn’t have the user networking that GH does.
Now, some FOSS people are starting to look elsewhere, Codeberg, self-hosted Forgejo, and others. They have come a long way and are nearing feature parity, particularly for smallish projects. But the network effects of discovery and reputation are strong, and GH still provides a few more useful features.
I’ve moved my private repos to self hosted Forgejo, but my public ones are still on GH as push mirrors. I’m not ready to give up the discoverability and Mac/Windows CI runners that I can get from GH for free. I hope to be able to some day, but not yet.
I've only a basic understanding of using Git myself, but I think I'm gonna learn it with a self-hosted Forgejo for my Godot projects too.
Then for the parts that don't have feature parity, I won't know what I'm missing, and I have no need for "iNdUsTrY sTaNdArD LeAdiNg oPtiMiZeD sYnErGyStiC wOrKfLoWs" or whatever hahaha.
It does definitely present a conundrum if you want people to see your open source software though. Damn network effect. =\
The number one thing to remember about git is that you don't need a full hosting service around it for basic functionality. If it's just you, a single local repo will probably serve you just fine, maybe use a bare repo on your main machine or a Pi-level device if you like as a remote/backup. Just
git initorgit init --bareand you're good to go. GitHub, Codeberg, Forgejo, and all the others exist to serve multi-contributor and/or public project-level needs.The number two thing to remember is that it is based around graph theory.
That's some really helpful advice, thank you! 😃 I actually didn't know you could just make any local folder a repo like that.
Would a Forgejo instance still be helpful if I wanted to have "one point of truth" between multiple machines even if I'm the only dev? I already use Syncthing, but for some reason I feel like there'd be a lot of sync conflicts and stuff.
The other main reason for wanting to learn Git, of course, is because it's otherwise more difficult to try out changes to scripts and experiment, without finding yourself lost in the weeds and forgetting what worked last.
My current "version control" is "copy the entire project folder before you do anything major." 😂
If you just want one point of truth, the minimal version is to create a bare repo somewhere that you have ssh access to or your local machine. Then you can clone/pull/push from it.
A bare repo is a special kind of repo meant for exactly this, but can be a bit confusing at first. A normal repo contains all of your current working files and a special
.gitdirectory that holds all the files/blobs/history that git needs to work. A bare repo is just the.gitas a top directory withbare=truein its config. So you can use it as a remote, but it never has a working set. They are usually named something likemy_repo.git.Edit:
Here’s a basic example for setting it all up in a fully local way:
And then you have remotes as your main source of truth in
~/baresand your working copies in~/code. If you want to access from another machine that has ssh access to the first, you can do:And then use git pull/push to keep it all in sync. Don’t use Syncthing on a git repo, it eventually goes badly.
This was really informative, thank you so much for taking the time! Definitely bookmarking this. :)
I was looking up further why you'd use a bare repo over a standard one. Somebody said for just sharing a repo between users, "snapshots just take up unnecessary space."
...But would that mean you can't roll back history? Maybe I'm ignorant on the term snapshot in Git context lol.
But yeah, I really appreciate the post and I think that'll get me on the right foot, to actually developing games instead of setting up yet another tool and procrastinating what I want to actually be doing anyway. 😂
Glad my instinct was correct about not using Syncthing for this purpose. XD
Happy to help! And yes, I have no idea what they’re talking about. If you don’t have snapshots (commits) you don’t have version control.
Let me know when you get your game going, I’d love to check it out. I’m working on a few myself.
Btw, there are some CI runners on Codeberg, but they're not well advertised, and not as feature-rich
Just to give some relevant information: Git, the major program behind GitHub, has been developed by Linus Torvals. The license allowed the free use of git until today. Some people took git and built a web application around - GitHub was born. Sure they added some features, but the engine was git! In 2018 these “creators” of GitHub sold their product to Microsoft. They gave a s**t on the community and what may happen afterwards.
I must've missed this meme if this is some sort of repeat.
For some people, they don't actually care about the politics of FOSS; they want a portfolio for employers.
I use both (why not?, they're both free and it's trivial to add a remote) - I find github is a little quicker to respond, a little easier to work with, and much more well known when you ask someone to go there they're not queasy about what they might be connecting to...
Open Source projects get lots of free features for being on GitHub. Nobody else is beating that offering at current.
What are those free features? Why doesn't Codeberg have it?
Because running servers costs money. The project I work on gets donations towards it's CI costs and it's not insignificant.
fjis decent and improving, butghis betterFor most people, myself included, the only thing that really matters are the CI runners. But that is also the one thing that costs the most to support.
Free github actions
It's disappointing yet unsurprising to read the recurring answers, namely :
precisely because it's absolutely avoidable and a well known strategy. It's so well known that it's precisely why Micro$lop bought Github in the first place. People are there and the free tiers is enough to get the long tail.
Meanwhile since that strategy happened people who consider smart enough should know the genuine cost behind this : it's a TRAP. Plain and simple, you get there and you get STUCK there.
So... yes it takes some sweat and even some money to leave the trap ... but if you care about freedom, as most free software or open-source developers might, then it's aligned with your value.
Free CI/CD
Momentum and time and effort to migrate.
And there's automated workflows such as GitHub Actions and ci/cd integrations that don't have 1-to-1 replacements, which would mean extra work (for quite strained teams of volunteers)
Additionally, as a developer on a large open source project, the community is already established on GitHub. It would be incredibly risky to move it and hope everyone comes along.
Gentoo moved: https://www.gentoo.org/news/2026/02/16/codeberg.html
Good for them, still, it's risky, they just decided it was worth the risk
I moved my projects and yes I had to make new runners and pipelines for forgejo but it's pretty much feature parity
Good for you, guess your setup is less complicated then.
There's still plenty of stuff that is not a 1-to-1 drop in replacement, e.g. plenty use build previews from netlify, they have no drop-in for other providers so to get those you have to directly interact with the API instead, in a runner
Inertia. And GitHub was actually good, despite MS ownership. Until recently.
Amuy new projects are codeberg. But github has a default 10gb repo space. Imagine everyone suddenly wants that on codeberg, the cost alone would force them to shut down or have other forms of income than donations.
I didn't know the repo space was that different. That does play a factor in all this...
Arguably the biggest contributor to the Linux ecosystem is Red Hat, a for-profit company that offers its technologies to the Israeli military among other things. The biggest contributor to the Linux kernel is Red Hat, while the second biggest is Meta. The Linux ecosystem is not inherently nonprofit!
Wow I went to fact check that claim and it's actually no exaggeration. Here is the AP article.
Crazy to see Palantir, Google, Microsoft mentioned alongside ...Red Hat.
If it helps to explain it, Red Hat is owned by IBM.
No love lost for IBM but I still wouldn't expect to see casually mentioned alongside Palantir.
It's red from all the blood? well, fuck
This is also a reason why some are against RedHat distributions (eg Fedora) or products (systemd, pulse audio). If you don’t like to support the company and have an alternative, take the alternative.
Why do you make the argument that Red Hat is the biggest contributor?Searching Linux contributor breakdown by organization puts them tied for 3rd at ~7%.https://insights.linuxfoundation.org/project/korg/contributors?timeRange=past365days&start=2025-06-19&end=2026-06-19
https://commandlinux.com/statistics/linux-kernel-contributors-lines-of-code-statistics/
Don't get me wrong. Intel leading the corporate contributions is worse. lolAll-time contributions are led by Red Hat at 15%. Many top organizational contributors guilty of profiting from the genocidal industrial complex. Maybe TempleOS was the true alternative.
In the first link, look at the parameters in the link. It is for last 365 days. If you take all time, it is Red Hat.
To be explicit: I don't like Red Hat.
I see. Ty
Pardon, I remembered it so from a graph I saw a few months ago. Perhaps I misremembered, or perhaps things changed since then
You were right. Red Hat leads all time.
All the major organizational contributors are guilty of profiting from genocide. TempleOS might be the one true alternative.
Oh... shoot... TIL, thanks!
Did you download the source code? It's on GitHub. It's literally on GitLab. It's on Bitbucket with ads. It's literally on SourceForge. You can probably find it on Savannah. Dude it's on Azure DevOps. It's a Codeberg project. It's on Gitea. You can download it on Gitea. You can go to Gitea and download it. Log into Gitea right now. Go to Gitea. Dive into Gitea. You can Gitea it. It's on Gitea. Gitea has it for you. Gitea has it for you.
That's kind of the point of git
You seem to think that the idea is that linux and most FOSS projects are some carebear nonprofit charity organization. You are wrong.
In most cases the idea is that open source work is there because it is easier to share technological progress if multiple companies work at it. And because of this it is just better than the alternative. The linux kernel is worked on by multiple large corporations that are in the business of making money using servers. If these servers run better then they make more money. To make them run better for them they need to implement their features and because of the licence and the ecosystem they need to publish these modifications back to the upstream.
All this works so good because a lot of companies make a lot of money with it.
Github will be used as long as it does not interfere with the workflow or with the legal aspects, nobody cares about the spirit nearly as much as you think
Fair, but what about the Copilot-pockmarking? And they're always one step away from a paywall... Why wait until it gets that bad versus at least duplicating elsewhere now?
Worth noting that the Linux source is updated and collaborated with via email, not GitHub. The Linux repo on GitHub is a read-only mirror.
Aye, but that's not true of the Linux OS's based on it
All these projects for sure are cloned on multiple backups, if something happens and github is no longer viable it is a minimal effort to clone the source code and bug tracking and move it somewhere else. Serious projects will have contingenties in place for this, lesser projects will do what the big guys do
Plenty of companies are quite happy to pay for github licenses
Serious answer: technical inertia and legacy reasons and most people don’t want to bother migrating established projects.
It was independent (not under Microsoft) until late 2018, and moving is hard. Even after MS bought it, they tried to keep it independent. It's really only been the last few years where it's gone downhill.
It's also kinda the defacto standard for git hosting due to being a solid early player in the space. I assume that view will change as Codeberg and other rivals get more ingrained in the open source stack.
Codeberg doesn't offer CI runners* for macOS for free.
It's important if you have cross platform apps
Runners? If MS is providing free dinners I might have to rethink my thoughts on github.
A friend of mine sees using GitHub as microslop paying reparations to open source.
Right, like how Micro$lop :
and all the other things (please feel free to make this list more comprehensive) as "reparations"?
It's the same old "Embrace, extend, and extinguish " (EEE) scheme they've been (sadly successfully) running for decades now.
Like many other social media sites it's partially network effects.
It's probably majority network effects. If you compare Instagram to 5, 10 years ago on the dot, you see an atrocious drop off on quality and usability. The change was so insidious, majority of people didn't notice or care all that much. And yet, Instagram is still one of the largest platforms in the US, despite how objectively horrendous it is to users.
I don't move mine because of the hard limits at 100 repos and 100 MB of private storage. I wouldn't mind paying to have more, but that's not an option.
edit: it seems one can request limit increases, but I have no idea what's their approval criteria.
It's hopefully common knowledge, but just in case, Codeberg is running Forgejo. You can host a compatible instance yourself! It's not that painful.
just installed forgejo on a locally hosted lxc instance on a spare qemu VM. will use primarily for my own projects and external devs who collaborate on client projects.
doing my part to give an nvidia sized/shaped "torvalds" to ms.
edit: love it. glad I finally pulled the trigger on this.
I know, but the main use i have for github is collaboration, and I don't want to expose a forgejo instance I'm hosting myself.
people have tried.
people predicted the enshittification of GitHub as soon as the acquisition was announced, as you can imagine. now, picture yourself as a dev in that month where a small vocal userbase is reading tea leaves based on Microsoft’s past behavior telling you to move your project, where the best outcome is nothing changes, to a new platform. you have a hundred issues and a dozen PRs in review, and those won’t stop coming in while you are migrating. now you need to mirror your project on GitHub, unless you want to immediately fade into obscurity, because while you’re spending your valuable time making sure everything is setup as it was but now on GitLab (the only realistic alt at the time), issues and PRs are still coming in, and you have to keep your releases updated in GitHub for a while during the migration. you also need to figure out CI/CD on your new platform.
so the ideal—that you can migrate and nothing changes—is a pipe dream. your packaging is now likely totally different; you’re now that snowflake project in the config where i had to figure out how to point to something other than GitHub and waste 30min questioning whether i need your tool at all. you still continue to get PRs and issues through GitHub because of course they didn’t read the README. and there’s tiny friction everywhere. the UI is different, how OAuth is handled is different, the plug and play you got from GitHub Actions is gone, etc etc.
meanwhile for 6 years things are chugging along fine at GitHub: Actions is getting better, Treesitter support, better UI for PRs.
it’s the AI stuff that’s ruining GitHub no doubt. not the AI itself but the culture around it with the “what is our team doing with AI?” nonsense corporate policy. it’s all happened really quickly, and isn’t the “boiled frog” scenario at all really.
Linux was around before GitHub, and wherever we end up as long as we still have our Unix tools like git it’ll be fine.
ideals are great. the perfect is the enemy of the good
Embrace, extend, extinguish.
Microsoft embraced github by buying it. They extended the features and ease of use to where it's the primary website people use for sharing and collaborating on code. Now it extinguishes any alternative.
It already was the primary code sharing place though... that's why they bought it.
Embrace extend extinguish is a well known pattern microslop uses to kill open source alternatives. You're right it was already big which is why they embraced it (we're both agreeing here) all I'm saying is they make sure it's impossible to develop an alternative due to network effects and vendor default lock in. "Embrace extend extinguish" is From their own internal communications found during discovery.
They all want to make America great again.
I joined Github and others, years ago to report bugs in software. But now I rage quit Github. No more bugs from me unless you move your application to a more acceptable platform. I suggest every bug reporter user do likewise. Screw Microsoft.
Hmm, good point... I am an avid bug reporter...
Also, what if MS or the government starts getting hostile and taking down Linux and other FOSS repos they don't like?
Remember that Git is a distributed VCS, so no git repo is dependent on a central server. Everything else about the project might be heavily dependent on GH, but any active developer is going to have a full copy of the code with history on their main workstation.
That being said, it highly depends on the project, but I'd put it into a few buckets.
So the little stuff? Probably going to be annoyed or not care a lot. The big stuff? Same thing. But that middle group would be hurt.
Github was around for a long time before MS bought it.
I know, but more people left Twitter after it became X, for example, so migration is totally possible.
I believe the core reason is that, when MS bought it, and while they make it worse day by day, the number of projects in Github was already huge and it just keeps growing. That being said, it is still the main platform to find FOSS projects, and to have your project be found.
A lot of people are migrating though. The good thing about the FOSS community and philosophy is that they don't really need to rely on shitty companies like Microsoft. They can (and many actually do) just move on, at least regarding their own personal projects.
Yep. For example, Gnome migrated to Gitlab some time ago. Obviously it's not as ethical as Codeberg, but maybe it offers certain features that Codeberg doesn't (yet) have that they require. PikaOS is (was?) on Gitea.
For my part, I've left Github and will only do development on Codeberg. I'll still make pull requests to upstream projects that only exist on Github, but I have no control where those parent projects are hosted, and improving those projects is still a net benefit to everyone.
Gentoo and Guix moved their projects to Codeberg. The programming language Zig did it as well. I have heard from few others, which moved to Gitea (Fedora).
It's really for the copilot integration. ,/s
many were there first, long before microsoft bought the site. but now? yea. why tf are people still using it.
GitHub is good enough to people keep using it. With the exception of the AI-induced downtimes last month, other platforms have as many problems as GH does, but GH gets the bad rep because it's the one everyone uses and has an opinion about.
Despite old problems that still annoy me, they actually have an impressive and unmatched set of features too, so one can't move away without some compromise. For the most part, you might find Forgejo/Codeberg and others to meet your needs, but it's going to take a long time to match GitHub's maturity in some things like code search.
Did you literally just post this to say Microsoft GitHub
Been on this post before but just noticed you mentioned "Linux project" as if everything open source (or even source available) is Linux. Quite the ignorance...
Huh? I am aware; I didn't say "all Linux projects," did I? Of course I already know that there are already some on Codeberg and elsewhere, but I still wanted to address the behemoth.
I am not talking about the git provider, I am talking about "Linux project". I know we are kind of on "@[email protected]", but how many tools you use do you think are truly Linux specific? Even some long time linuxisms like libinput and DRM have been ported over to BSDs for example.
True, I always look for cross-platform ones whenever possible...
If you think github is unstable you haven't tried codeberg. It's down multiple times every day.
I have no troubles. Perhaps check your WiFi.
Cope
Wait, is "cope" some kind of new insult?
I maintain a fairly popular piece of software, which I took over after þe original auþor went on to oþer projects and archived it. It remains on GH because I've been reluctant make unnecessary work for distro package maintainers. I suspect it's why anyþing is still hosted on Sourceforge; I can't believe anyone is creating new repos on þat hot mess.