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.
The thing is, having a “centralized” place makes it easier to cooperate with others, with a single account. Monopoly is probably not the right word here, because nobody is really dependent on Github. And the core functionality of hosting the code and builds for free does come at no cost (money) at all. All Git functionality work. It is still Git.
I don’t see anything in Github that is against Open Source and Libre Software. The features like searching might not be optimal, but that’s just a feature of the site. On the other hand, I’m also just a little guy who does scripting and small CLI tools. So it does not matter at all what I do. In the end, I do not feel the need to stop using Github, despite disliking Microsoft a lot.
nobody is really dependent on Github
If that were true, moving away from github would be ezpz.
The features like searching might not be optimal
Requiring an account to find a project = not optimal is an understatement, IMO.
I’m also just a little guy who does scripting and small CLI tools. So it does not matter at all what I do
That sounds an awful lot like a fallacy. If you wait longer, then when something does drive you to say “I should switch”, you’ll run into the sunken cost issue. If you think you’re unimportant, that’s great for github because they have thousands of people that think they are unimportant but it adds up. You could be part of the solution, no matter how small.
Github outside of hosting the actual git repo largly just provides good routes for collaboration, namely issues, their PR system and some convenient rules on who is allowed to mess with branches and how (IE you can set master to only accept merges done via github themselves). CI is the real lock in far as your git repo is concerned cause that just won’t work at all on another host
Gitea and forgejo have gh compatible actions, thank god. GitLab’s ci was awful from my experience
I’m right now in the process of creating accounts to publish a VSCode extension. But the choices are either Microsoft (marketplace) or Open-vsx.org which requires github account which is also Microsoft, so … Eclipse foundation is acting totally anti-open-source it seems.
deleted by creator
Enshittification is everywhere.
The fundamental flaw of autonomous, individualistic organizing is that it puts a ton of weight on a handful of people.
As soon as a corporate entity sweeps in and offers a huge payout in exchange for less work, the temptation to sell out becomes severe.
Look, I get it that it’s trendy to hate on Microsoft, but these complaints don’t even make sense. You complain about requiring an account to contribute, and then you propose some other services that do the exact same thing! Turning github into a 4chan style free-for-all is a terrible idea. Maybe that’s exactly why you VPN got blocked, because it’s enabling spam accounts. And what info are you giving Microsoft to create an account? An email, a password and a username? Not exactly doxxing material, is it? I just searched for some code from one of my repos in incognito and it was the first thing that popped up.
Microsoft is not preventing you from migrating, it’s just that there is no standard for issues, discussions, PRs etc. But every other service has an import tool that can do it if needed. And if you’re only hosting code (doubt) you’re a git remote add & git push away from being free of that evil Microsoft that is hosting all your repos for free.
I hate Microsoft and big corporations just about as much as anyone on Lemmy, but geez, pick your battles people.
I feel some sadness in seeing Microsoft’s slow sludge of enshitification oozing forward and gradually engulfing github. There’s still a way to go before it become totally crap, but it is definitely getting worse and will continue to get worse as Microsoft does their best to mine whatever value they can from everyone passing by.
Knowing this, I think it is wise to start looking at alternatives.
In what way has Microsoft enshittified GitHub? Since the acquisition they’ve mostly made more services free for open source users, and prices and features haven’t gotten more restrictive.
I just saw this late, but I agree here. Also they added CI to Github with very generous limits (which were promptly abused to mine bitcoin), whereas before you had to use something like TravisCI which hit free limits constantly or some complicated solution using your own Jenkins server. Not to mention very restrictive private repos before the MS takeover.
People just like to complain because “Micro$oft bad” but when you point out the facts it’s just crickets…
But people said it wasn’t a big deal if microsoft bought it all up!!?
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”.
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.
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.
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.
That’s BS, if the software’s good people (i.e. devs) will find the source, unless all they do is spent their day on the github website.
Most fine software i find is through social media and websites, i then proceed to checkout the code.You picked one concern of multiple: Code discoverability of an already known project.
Multiple times I have found project sources on their own platforms, and when I would have contributed tickets or code, I did not because of requiring yet another account on yet another platform, with whatever yet unknown signup workflow.
And there is man other concerns, some of which the comment you are replied to mentioned.
For yet another account i use a password manager and an email address i only use for crap. It’s a one time process.
If that’s too much for you then perhaps you’re not that interested in contributing to <project>?Exactly. It’s a matter of barrier and interest. Signup requirements are a barrier to drive-by improvements and reports, and them as entry points to further contributions.
I am seeing a LOT of the emulation crowd over at codeberg and other type of sites. Its gaining some popularity which is nice.
I get that, and I even made an account on PeerTube’s GitLab just to submit a tiny fix on a secondary project of theirs, but do you think an average issue submitter would bother? I do not. And it’s not as simple as this process separating the wheat from the chaff, either.
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
I don’t get why devs refuse to work on things outside github.
Herd mentality, it affects devs too.
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.
Only if they measure their success in terms of traffic on a Microsoft web site.
Successful projects predate GitHub.
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.
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 hate that they started taking down emulation repos more and more. They have a majority and heavy visibility for companies.
Gitlab just reduced their monthly ci minute cap.
Fucking… Goddammit Gitlab!
It’d be cool to use one service to upload to everything simultaneously.
What do you mean? Github has remotes and you can push to all of them at once. Or dk mean something else?
Presumably they mean on the PC side. Like a tool where
git push
can push to multiple repos, keeping it safe everywhere. I presume you’d have to pick some sort of pull priority order or something, and balancing changes pushed to different repo hosts could be a chore.
Want to mention that OneDev does support SSH clone. Only that SSH access to code.onedev.io is turned off (code.onedev.io is not a public hosting service, it is set up to develop OneDev itself).
Oh, that’s a pity. So there is no public instance? If not, I’ll just remove it from the list. code.onedev.io is thus a dogfooding instance?
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 😀
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.
Lol this is literally me right now. (Well waiting for another run to probably fail) So also on here.
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?
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.
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!
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.
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.
Complaining about needing an account to contribute is wild to me.
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
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
If I have to search something in a repo, I just clone it and use my IDE. GitHub search sucks, but I don’t think it’s possible to have a web experience that is on par with an actual environment an IDE.
I literally just need dumb search. No regex, no nothing, but just for that you now need an account. Especially on mobile, I’m not going to clone every repo I come across. It’s a hassle already.
If I really do care and dependent on the repo, I’ll clone it. Otherwise I just drop it most of the time or use a third party service. But ever since Microsoft bought github, it’s been really annoying.
VSCode runs on the web and has IDE-grade search functionality