They slowly started locking down the platform for people without accounts and it has been really annoying to use the website since. First it was not possible to search for code, then even searching for issues got more and more difficult with it randomly failing, and now it’s gotten to the point where I can’t search for a fucking project anymore!
Github’s search is becoming as bad as reddit’s, where if you want to find anything, a secondary service like SourceGraph, GrepApp, or even a dumb search engine is better. Sometimes those haven’t indexed what I need (especially code search), so I have to download the bloody tarball and rg
for whatever the fuck it is I was looking for.
Sometimes it will also block the VPN I’m using, so I have to proxy to a non-VPNed machine. The world could do without these unnecessary roadblocks.
What also grinds my gears is requiring an account to contribute. There is no way to send in a patch, raise an issue, or anything without an account there, so by if a project being on github, you have no choice but to give Microsoft your data to participate in opensource. Don’t get me wrong, mailing-lists are filth, but and I’d rather claw my eyes out than participate in any project demanding their use, but Microsoft being the “lesser evil” is not a good look.
Please, for the love of opensource, get your project off of github, please. It’s a monopoly at this point and doing microsoft things. This isn’t the end and they’ll probably do more stuff to see how far they can push it. We’ll all be the boiled frogs.
Yes, I know they have a CI and some other features, but if all you’re doing is hosting your code, please consider an alternative.
Possible alternatives in alphabetic order:
- Codeberg (could have federation in the future)
- Gitlab (has CI)
OneDev (no git SSH clone but feature-rich)not an instance for the public- Radicle (no CI, but federated)
- Sourcehut (minimalist, but fast as fuck)
or maybe others will suggest more.
For a small project I recently switched to fossil from git. It’s also distributed version control, but includes a bug tracker, wiki, and other stuff as well. It’s minimalist, but hosting yourself is super easy.
Default git over ssh is often enough as well. Combine with any bug tracker and CI you like. You don’t need to use an all in one tool like GitHub.
Gitlab just reduced their monthly ci minute cap.
Fucking… Goddammit Gitlab!
I’ve stopped using github because I hate advertising and nags. Probably most people don’t care much about it, but for me github nagging and ‘reminding’ me about copilot is just so off-putting that I immediately want to leave the site. I don’t want my attention stolen like that.
Codeberg is criminally underrated. The UI is great, it’s 100% open source, it has CI, and it will have federation in the future. It’s a shame more people don’t use it. Piefed/river and a bunch of cool niche projects are on it though :D
The lemmy developers should seriously think of moving lemmy to codeberg, it’d be in line with lemmy’s anti-corporate stance.
The choice every developer has to make is between having a potentially successful project, with contributors and community engagement, or hosting their stuff on an open platform. PeerTube even has a GitLab of their own, and yet they host their main software on GitHub, because they simply have to.
Yep, codeberg is great for personal/hobby or small projects, but beyond that it’s not ideal. The worst part is git is a decentralized protocol; yet github has centralized it, basically forcing developers to use it if they want their projects to live, or get a job. It’s a vicious cycle.
But i still think developers should migrate to codeberg, if all of us just wait for codeberg to get big to use it, there’d be no users in the first place. Even if you put your project as a mirror, it’s still a step, or even better: vice versa, see river.
Only if they measure their success in terms of traffic on a Microsoft web site.
Successful projects predate GitHub.
I really don’t understand it.
It is 5 minutes to create an account and you can even use the same SSH key everywhere technically.
Then just put a bit config per website and it literally requires nearly 0 additional work ever. You can commit to all the different places practically simultaneously.
I guess you have to go to different websites for issues and I don’t know if codeberg specifically has CI/CD tools, but I don’t get why devs refuse to work on things outside github.
the actual problem is not that you need an additional account, but as OP said, the terms. with an account they can tie all your searches, what repos have you visited and how often, and other non-public activities to you. basically the same data mining that youtube, facebook and others do, just in an earlier stage
Pushing commits is just one of many concerns.
Do you want to suggest synchronizing issue tickets as well?
I am not talking about federated git repos. You are right, that is a huge undertaking with many issues to overcome.
I am simply talking about dev’s willingness to work only within X Y or Z website’s ecosystem even if another project they want to contribute to exists on another ecosystem (for example KiCAD which exists on their own gitlab instance and needs a separate account or gadgetbridge on Codeberg). It is enough to stop many people from contributing.
They are on Codeberg, but it’s only as a github mirror.
I didn’t know, thanks. But last commit was 8 months ago :(
I never sat foot on github, but moved from some shady place to Codeberg and it’s just fantastic. It just works.
Only thing missing is some 5/10€ monthly plan where you get a golden leaf or something :-p
On a more serious note, gotta check out how to support them in some meaningful way.
They have a donate button. 🙂
Yeah, figuring to go member, it’s only 24€ a year (FYI 12€ if you can’t shell out that sum) and this is one of the first projects that I’d really like to see take off.
I’m looking forward to when they implement fediverse integration.
Yeah. I know in my heart that I will get off my ass and move some projects over to Codeberg after federation arrives.
Specifically for the rate limit issue, a lot of nix’s derivations are hosted on GitHub and now and then the rate limit problem comes up when I rebuilds a dev environment.
Nixos.org is kind enough to host gigabytes of cache, but to get a ~40MiB tarball, we need to beg at the door of M$. Path dependency is really a trap.
Yeah, nix is utterly dependent on github and there have been many discussions about it. The majority of the community is very against migrating and refuses investing in anything else.
I remember a project abused github as their CDN, and github shut that down. Can’t remember the name but it was something plant-related (the name). Pods or something. If nix ever scales up massively, github just might rate limit the repo.
I support moving off GH but
There is no way to send in a patch, raise an issue, or anything without an account there
Currently this is the case everywhere? With the exception of projects that take email patches, currently all the options are centralised/not federated, and even if e.g. Forgejo finished adding ActivityPub integration you’d still need an account on some Forgejo instance to contribute. Same for email patches; they still require having an email address. If it’s specifically about giving MS your data, sure, although iirc the only data they actually require is an email address. You can use duckduckgo’s duck addresses to get one that’s relatively anonymous (i.e. can be deanonymised by duckduckgo but I doubt anyone’s conspiring that hard to deanonymise a random github user).
Yeah and that makes sense. There’s plenty of examples of open source projects that have had their issue trackers flooded with politics rather than real issues and they have to then spend all their time policing and cleaning that up and that’s using GitHub’s user reg system and basic protections against spam accounts. Without requiring any sort of auth or user reg that would be impossible
If you look at a project on sourcehut while not logged in, you will see instructions on the side how to create a patchset and mail it directly to the maintainer, no account needed.
You still need an email address…. which is functionally an account.
Pretty sure gitlab requires you to enter a CC to make an account as well, which turned me off from submitting a bug report a few weeks or so back
While I agree about most of your gripes. I don’t think requiring an account to contribute is unreasonable. I can underdtand not wanting to create an account and give them personal info and such. But if that is your stance, stop using them entirely. Giving them code is even worse.
I used codeberg and liked it. This is a good reminder to try to stick with it moving forward
I use Codeberg and even paid to be a member, because it goes directly to support the development of forgejo.
I would be pretty interested in reading a more robust analysis between the alternatives you list and GitHub itself. Going to each one and giving them a glance really doesn’t show me much other than “yup, it’s similar to GitHub”.
without these unnecessary roadblocks
But then how will they harvest your data?
rip gitorious
Who?
First result of a search:
Gitorious was a free and open source web application for hosting collaborative free and open-source software development projects using Git revision control. Although it was freely available to be downloaded and installed, it was written primarily as the basis for the Gitorious shared web hosting service at gitorious.org, until it was acquired by GitLab in 2015.
I’m really looking forward to Forgejo federation
I don’t know if they need more funding or contributors or something, but that has been on the roadmap for years now. I think all they can federate now are stars.
But I do hope that it’ll arrive soon. Github needs a federated alternative and gitlab isn’t going to give it to us. Radicle already has federation, but only within its network, so not exactly optimal.
sounds awesome
I see projects move over to Gitlab a lot lately, but without porting over the issues. That means a huge amount of history and discussions are lost. If you want to find out why something is the way it is, old issues would be a goldmine. Sometimes they are still up on archived GitHub, but not always.
It’s a shame because how gitlab is basically begging to be bought out and hides a lot of useful features behind subscriptions… I remember when it was originally just a GitHub clone way back when.
Yes, I know they have a CI and some other features
Github actions are terrible - fight me.
commit: actions commit: actions commit: actions commit: actions commit: actions commit: actions commit: actions commit: actions commit: actions commit: actions commit: Another actions fix commit: Fixing actions commit: Fixed issue with actions commit: Actions not logging in properly commit: typo in actions commit: Created GH actions!
Let me generalize that - yaml pipelines are terrible 😀
As the primary author of my previous org’s GHAs (not GH Enterprise, just the team tier) I found some feature gaps compared to org[n-2]'s Jenkins but they were fairly quickly filled.
I was initially skeptical but it wasn’t more than a month or two before I was just glad to be off Jenkins. And now that I’m back to a big org with a big Jenkins footprint, I really miss GHA.
Having everything be contextual in the same place is a huge value add for me.
Just commit to a different branch, and then rebase to main. If you’re putting this shit into main, it’s not the tool’s fault.
act drastically reduced the amount of back-and-forth getting actions right for me
It’s an interesting idea - but I’ve not been able to get it to work. Some of that is due to us using “GitHub Enterprise” which is somehow MUCH worse than the normal hosted GitHub - but we get to pay more for it! I haven’t tried it with “normal” github.com actions yet - does it deal well with shared workflows and custom builders?
I know because of security, people jumped off circleci but their local tool was amazing in what it did. No messing around, it worked just like their own platform. Being able to ssh into the box that was failing was a great feeling. Sometimes you just have to get into the box in order to see what is going wrong, and they allowed that.
Ive had to fight
act
quite a bit to get the same functionality. Things would go to GH Actions only to do something slightly different and I would have to make a fix. Over time, it gets tiring. Ive worked with CI/CD platforms for over a decade and Actions are…ok. Still feels beta in how much is reliant upon the community which drops scripts from time to time.I still like Jenkins… Yeah it looks like early “Web 2.0” still but it’s much easier to use.
We recently migrated our code base to GH and from Jenkins to GH actions. And I can’t say that it’s any better, just more confusing. Shit was much more simpler on bitbucket server with Jenkins. Never realized GitHub was slow until today, loading pages takes like a second.
My favorite code repository in terms of layout (not functionality) is still gitblit. Looks simpel and easy to read the commit log because that is the first you are shown when navigating in a repository, no PR support though.
We still use Jenkins at work. It certainly works!
It does with some hoops IIRC. I used act a couple of years ago to test a very distributed flow for enterprise IaC projects. I can’t remember all of the things we had to do and I think I’m conflating some of the podman issues we had on macOS with act issues. AWS credentials were an annoyance, I think, but we worked around it with some community code. Our primary purpose for act was to be the local testing for enterprise action deployment so I’d guess it’s close to yours. I think our conclusion was to distribute the actions to each repo rather than use the central
.github
repo for actions because of how GitHub handles overrides. My memory is really fuzzy.If you’re going to believe this internet stranger, start with a very simple set of demos to vet me. I remember being very happy; I do not remember how the team solved it. M
As with all things GH Actions related - “it kinda works if you struggle with it for a while”. If I get some spare time I may tinker with it a bit then - knowing things are “possible” is a good start. ;-)
It’s my biggest complaint with GH Actions - death by a thousand paper-cuts. It’s not that it does any one thing wrong (though the way “shared workflows” work is pretty abysmal) it’s that everything hurts a little to work with. At least if you’re not building an open source project freely shared on github.com and using all public actions.
Totally agree. I’m glad you read between the lines there. It’s out there if you have the resources to throw at it.
Like most DevOps things, it’s all about the opinionated ecosystem you hop in. It has most things and does most of the stuff you want until you decide to adapt the pattern to your use case and holy fucking shit is it hard to adapt opinionated ecosystems. That’s why I continue to have jobs.
Lol this is literally me right now. (Well waiting for another run to probably fail) So also on here.
Whenever I need to fix something with them, I go onto a separate branch, write a sane commit message once and suffix it with a “1”. Then the next time, I just grab the same
git commit
command from my history and change the “1” to a “2”, then to a “3” etc…I’m sure you can just
--amend
it and push with--force-with-lease
(safer than just--force
). That’ll prevent the 78343 commits.Oh yeah, you can, but it makes it pretty much impossible to discern between commits in the action run overview. So, if something broke between one change and the other, then you’d have to just kind of know what that change was.
That is obviously doable, if you make a singular change, then wait for the result before you make the next change. But I often had the problem that I would get interrupted or that I had to continue on the next day, so when I wasn’t quite as clear anymore what lines I changed precisely. Or what also often happened, is that I would get bored while I’m waiting for the action run to complete, so I start making the next change before I know whether the previous change was successful (I guess, this only really starts to become a problem, if it takes 30+ minutes for the run to complete).But yeah, I put them onto a separate branch, so I can easily squash them into one commit before putting them back onto the proper branch.
Complaining about needing an account to contribute is wild to me.
I read it as needing a Microsoft account, and having to accept Microsft’s terms and conditions, in order to contribute to an unrelated (and probably open-source) project. That’s a valid complaint.
You’re not okay with anonymous malicious prs? How prude! /s
The problem is that you end up using software that’s hosted on GitHub and then you’d like to report a bug or contribute a fix. You also don’t want to give your data to Microsoft. Both can be true, because the projects on GitHub don’t exist in isolation there.
idk, the only “personal data” GitHub requires is an email address… If you don’t have a throwaway one not associated to your identity yet, what are you even doing on the internet :D