Initially, LinkedIn was just another site where you could find jobs. It was simple to use, simple to connect with others; it even had some friendly groups with meaningful discussions.
And then it gained monopoly as the “sole” professional network where you could actually land a job. If you are not on LinkedIn now, you are quite invisible in the job market. Recruiters are concentrated there, even if they have to pay extremely high prices for premium accounts. The site is horrible now: a social network in disguise, toxic and boring influencers, and a lot of noise and bloated interface to explore.
When Google decided to close their code.google.com, GitHub filled a void. It was a simple site powered by git (not by svn or CVS), and most of the major open-source projects migrated there. The interface was simple, and everything was perfect. And then something changed.
GitHub UI started to bloat, all kinds of “features” nobody asked for were implemented, and then the site became a SaaS. Now Microsoft hosts the bulk of open-source projects the world has to offer. GitHub has become a monopoly. If you don’t keep your code there, chances are people won’t notice your side projects. This bothers me.
Rant over. I hate internet monopolies.
Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!
Cross posting is strongly encouraged in the instance. If you feel your post or another person’s post makes sense in another community cross post into it.
Hope you enjoy the instance!
Follow the wormhole through a path of communities !webdev@programming.dev
I’m very split between Github (currently) providing a really nice interface/collection/way to access all kinds of open source projects and the obvious ‘out-of-control centralisation’ by the mega corp Microsoft.
It definitely got a little bit bloated the last years, but I still think it has a generally nice interface (browse code/review stuff, simple issue/PR system, simple way for CI via actions etc.).
But I really hope something like https://forgefed.org/ takes off someday, I feel like if the barriers are much lower to get onto a different network with the same user (without registering etc.) decentralisation can lead to more innovation in this space (management of all the stuff that Git doesn’t manage itself, like issues, PRs etc.).
The beauty of Git though is that it’s decentralized, so you can just mirror it on Github while mainly using a different platform. If you want a bigger userbase interacting/contributing with your project you’ll allow PRs and issues there and if not just add a link to the README that points to the platform you’re using…
I see two points in your argument:
Everything becoming a social network
People working at tech companies have to justify their salary somehow and this is low hanging fruit for adding ‘features’ as all people feel some need for connection. Feeling that a place is alive with other people will motivate your more to engage with it, rather than say, your own Git hosted server. I don’t mind the social features added to GitHub as long as they don’t take the main stage, like it did in the LinkedIn transformation.
GitHub monopoly of open source
GitHub has for most of the time been the main place for open source. I don’t see a monopoly as necessarily bad as long as it remains focused on some values other than profit. I would rather have one big Wikipedia than a shitload of small fractured Wikipedias. Can it become a problem going forward, like it did with Reddit? Definitely, but I am cautiously optimistic. And in the worst case, git is heavily decentralized by design so you’re one
git remote add && git push
away from moving. Migrating issues would be a bit more of a hassle, but surely there are solutions. And CI is not easily portable, but not a huge amount of work to convert to other formats.SourceForge went to shit when it was the de-facto location for free and open source software, now GitHub is where Sourceforge used to be. When will people learn?
Codeberg can automatically migrate code and issues from Github using a personal access token iirc.
Github packages and especially CI/CD are the real vendor locking antifeatures. All of the actions and scripts that your app/company depends on to run are completely locked to github.
Doesn’t Codeberg say it’s mostly for FOSS? They say private repos are only allowed for really small things like note keeping, so it wouldn’t be right to just move everything there from GitHub.
I can run GitHub workflows directly on my machine with ACT, I’m sure you could run that on your own private CI if you needed too. It’s not perfect, but if a lot of people started wanting to migrate I’m sure it could get better.
Fwiw, gitea has compatible actions. Not sure how compatible, though.
I mean, both of them have common ownership. Maybe just correlation and not causation, but I’ve definitely noticed these types of changes post acquisition.
Hi! I am new to the programming world, and everything involved. What do you think about gitlab? Many people are using it instead Github. Also I heard about Codeberg, but I dont know anything about it :)
Every time I have to try to find things on gitlab I have a generally harder time doing so than on github. Maybe I’m just used to github’s layout, but gitlab’s just seems awkward to me. Also, I think non-tech-savy people will inevitably be confused by having to click “deployments” to get to releases; and on release pages, below where you actually download files, it always says “evidence collection”, which sounds really ominous (for end users)
I was thinking about switching to GitLab. But after reading your comment… not so much.
Just check it out, it has an open source base unlike GitHub. If you don’t like it, that’s fine, but like you do t even want to try it now?
https://sr.ht/
Gitlab adheres to a “one tool for all the jobs” philosophy and tends to be a performance mess for the end user. Every time I had to use it, I wanted not to.
SourceHut is a counterexample to claims of monolith superiority gitlab makes. Whether it will continue to be that is an open question, but right now it’s quite a joy to use.
Gitlab marketing docs heavily mislead you on its capabilities. Technically they are correct, but the way something works is reality isn’t often useful (epic boards are a great example).
This would be ok, but It’s really tightly integrated and doesn’t provide means for external tools to hook into it usefully.
For example I think GitLabs CI is the worst on the market but if you integrate another CI you don’t have a means to feedback information into Gitlab.
You can do almost everything with the Gitlab API so I’m curious what issue you had.
I’m also not sure why “Gitlab CI is the worst on the market”? I really like in particular that I can have my own gitlab-runner on any machine.
I want a build job to be triggered when a merge request is raised/changed to verify merge requests. Primarily I want it to comment/annotate changes so peer review focusses on logic and warnings are clear.
I can do this with Concourse, Circle, Jenkins and Github Actions on Azure Devops, Bitbucket Cloud, Bitbucket Server & Github. All Gitlab can tell you is pass/fail, which was good in 2003 but seriously lacking in 2023.
Similarly I want the ability to trigger a release and supply a desired version for the release (or someway to achieve that since our projects follow semantic versioning).
The release DSL is incomplete and could not work on server/cloud last time I used it. The page claims it can do alot but there is a hole in it and even the writer clearly knew.
I want the ability to specify multiple reusable pipelines, in a central place. This is not possible in cloud.
Lastly I would like to have multiple potential pipelines in a repository (e.g. smoke test and release). You can hack this in via variables. This will/won’t work depending specifically on the runner for your job. if self hosted or cloud you’ll notice different parsing behaviour depending on what host it runs on. This is shocking.
I have an email somewhere where I went through every GitLab CI DSL and documented which didn’t consistently work, which only worked consistently on cloud and which only worked on server. Also things like release that are broken on both.
The only way to make it work is to use multi stage docker builds and if your doing that build bot and a bash script would be better.
All of what you said seems completely doable to me.
You can. See https://docs.gitlab.com/ee/ci/variables/predefined_variables.html
CI_PIPELINE_SOURCE
You have full access to the API and can do whatever you want in the MR too.
You can, with CI templates. Templates can be in a completely different repository
I do have different pipelines for staging and production in my projects with no issue.
Try to do it and get back to me.
For extra fun try to do it in cloud and server, you’ll realise some stuffis server only, some cloud only and the docs don’t tell you which one is true
I’m only using the hosted version, it works. I do have a separate gitlab-runner in GCP at the moment though that is working fine.
If something doesn’t work for you I suggest creating a ticket?
Advantage of Github over Gitlab is code discoverability. My organization hosts Gitlab instance but I would still rather host my open source project on Github instead, because its impossible to collaborate on Gitlab with external users who dont have an account on our instance.
Once there is a federation feature similar to Lemmy, I would be happy to host everything there.
You can use Gitlab exactly the same as GitHub though if you use the hosted Gitlab. I have multiple of my open source projects on Gitlab.com and everyone can access.
Well not really, you would need an account in the organization in order to create issues, pull requests for a privately hosted instance. You can see the public repository but apart from cloning you cannot do anything else.
While Gitlab.com is centrally hosted, not much different than Github, you still cannot communicate with other Gitlab hosted servers.
Ah yes this I agree. But it’s not like it’s different on GitHub. I guess I got confused because you said “Advantage of Github over Gitlab is code discoverability.”.
While no it’s the same? There is no advantage for GitHub
This could be what you’re looking for. Their main implementation is a gitea fork, but I’ve seen mentions of gitlab as well. Unfortunately I don’t think github would ever consider being compatible, that would just lose them users.
Thanks. There is also a Gitlab issue requesting this feature, which I am tracking.
It needs to reach a polished state before organizations and university adapt it. So something like what you linked probably wont fly.
We use gitlab at work.
If you’re going for hosted, I’d always use github (userbase, UI, free features set). If you’re self hosting, gitlab is a good alternative. Their heavy promotion of and focus on full chain into managed cloud can be irritating and annoying though.
Gitlab has a free tier too. If you’re curious, try it out.
As an aside, anybody looking at alternatives or just similar tools should check out pijul which is another vcs that implements a very interesting algorithm for patches. They also host a very simple interface at https://nest.pijul.com.
Haven’t looked at LinkedIn in years, it’s just full of low quality recruiters who “have the perfect full stack position for you” that’s clearly a front-end or backend position using obscure languages you’ve got no interest in.
Glad I don’t have to use these vultures
Github has always had being a job site be it’s secondary feature.
Except that it has a slightly higher bar of entry to recruiters and recruitment bots spreading toxic positivity, and anyone asking for a job is able to prove (at least some of) their value by showing off their code and how they participate publically in other repos (if at all).
At least, there’s Codeberg, run by a German nonprofit, who’s challenging the monopoly. It is aimed exclusively for FOSS projects, private repositories are forbidden. They are running Forgejo as their bloat-free software forge server.
Now, I think every Web2 website must be operated by a nonprofit.
From my PoV it’s probably many of these projects are effectively public good spaces. Hosting a code repository has become less of an esoteric thing and turning into a public good benefit (like a physical library but virtual for code). Spaces like Reddit and Twitter are todays analogous of a public discussion forum in a park or at a bar.
Internet tools have become so ubiquitous they are critical to serve public needs and public benefits. However these internet spaces are increasingly commercialized and privatized, which runs against them being valuable public goods (see the difference between Wikipedia, run primarily for public benefit, and Wikia/Fandom).
Codeberg has private repos
Section 2.1.2 of Codeberg Terms of Service says:
So it’s not for proprietary projects anyway.
Overall codeberg has been pretty decent, it’s where the Kbin project is located. There’s been a few outages over the last few weeks but overall it’s pretty good.
Github has had some outages recently too. Codeberg’s recent outage was particularly bad, but not serious.
Yes, I also experienced some outages and thus delayed pushing (which made me re-think again of overusing git submodules).
Nevertheless, I migrated my works from my server and Github to Codeberg recently.
wasn’t codeberg using gitea? not it says powered by forgejo
Forgejo is Codeberg’s fork of Gitea.
Forgejo is apparently a fork of Gitea.
Gitea was taken over by a for-profit company, Forgejo is a fork by the previous maintainers to continue it fully FOSS without any of the shenanigans. See also their FAQ.
Fun fact…
A few years ago Microsoft was granted a patent on using social media data left behind to resurrect dead people as chatbots.
The more GitHub is considered to be a social network, the more extending the content there (such as the maintenance of a popular sole-contributor project) fits into a patent protected usecase.
And now you know 🌈
I wouldn’t say it’s a new LinkedIn, but it’s definitely a defacto monopolio. It pains be that Cargo (the official rust packaging system) is so integrated with it. My own personal hobby projects are self-hosted on a gittea instance right now, but I still have a github account to contribute to a friend of mine’s project which is, sadly, hosted there.
Its not anymore, the new sparse index protocol is not using github.
No, I don’t see how GitHub it turning into LinkedIn. Everything you said are definitely new things GitHub is doing but none of them are things LinkedIn does. LinkedIn is pretty much just Facebook with career applications built-in.
I am not saying they are competing on the same niche. I am saying both sites started well, and they transformed into something worse, profiting by their monopoly on their specific markets.
It sounds like your issue is with capitalism rather than GitHub. The same logic is applicable to many corporations.
We’re going to need a replacement for github pretty soon.
What makes you think we need a replacement soon?
@Kissaki @sizeoftheuniverse
GitHub is owned by Microsoft and it seems to be getting worse. It is also nearly a monopoly and that’s bad in general.
There are many good replacements, you just need to stop using Github :)
Some examples: Forgejo/Gitea (self-host or hosted eg. codeberg.de), Gitlab (self-host or hosted), Sourcehut (self-host or hosted eg. sr.ht)
@unicorn @Hypx self-hosted is ok only if you don’t want any contributions.
Otherwise self-hosted solution becomes a yet another barrier for the person who wants to contribute.
This is only true for the merge request workflow and not at all a problem for the patch workflow, which can work entirely via email (and is in my eyes simpler). Have a look at https://git-send-email.io/ if you want to learn about it. This is the true decentralized spirit of git. :)
@unicorn
> Have a look at git-send-email.io if you want to learn about it.
But I don’t. And that is exactly the barrier I’m talking about.
By this logic, you want a complete monopoly of a single platform? Because that’s the only possible way to have “no barrier”. Unless GitHub starts federating with some kind of standardized protocol. This is a huge technological and monetary barrier for GitHub, which is why it will never happen on its own, so if users are not willing to try platform-independent workflows then the problem is frankly not the competing platforms.
“Show us your GitHub”
Sure, here it is
“Looks empty”
Ya, I code for work, it’s all in private repos or in Azure Devops.
“So you don’t contribute to open source in your free time?”
No, I spend free time with my family. Again, I code for work, why on earth would I also use my free time for extra coding
“Thanks for your time but…”
Nah thanks for yours, I don’t wanna work for a company that expects me to code for them for for 8 hours and then go and code for someone else for free for more hours. That’s not a healthy work life balance, dickhead.
Edit: well this blew up (in a small lemmy kinda way). To clarify, before I coded for a living I coded as a hobby. Since I now do it full time, I don’t have any itch to scratch, I get my fill 40 hours a week. I’d ONLY be contributing to keep my GitHub looking a certain way for recruiters that one year in five I’m jobseeking and that feels like a waste of time. In reality it’ll probably be dark green the week before I started interviewing when I updated my website and then nothing before that until the last time I was interviewing.
Also, I chose to have a family and that takes effort, time and precedence over hobbies for me. If you also made that choice and you can code full time, have a healthy relationship with your wife and kids and still find time to have hobby code projects, all power to you. I don’t have the energy to open the laptop back up and get into something by the time the kids are in bed and I’ve spent some time with the wife. I’m not staying up into the night so a recruiter can glance at a chart and judge me to be a good or bad dev by how green it is.
How do I improve my skills over time? Tbh if the company I’m working for doesn’t allow me to block out a couple of hours to half day a week for learning I’m at the wrong company. I read, follow along with tutorials, experiment and think about how what I’m learning could be applied to the product I work with. Then if an opportunity to apply it comes along, I take it and either fail fast or bring something new, of value to the table.
Yup, the chart still goes green with contributions to private company repos, but those contributions also ain’t from my personal GitHub account, they’re from the one linked to my work email and I imagine they’ll close that account pretty quickly when I leave. Idk how that works tho, I only worked in one team in my whole dev career that seriously uses GitHub as source control, and they’re being moved to ADO as we type. GitHub is the go to for FOSS, but I don’t work in FOSS, I work in enterprise software and there’s much better enterprise git providers than GitHub (imho, ymmv). You can even throw the question back “do you actually use github here? If so can you tell me what lead you to go with that instead of other source control providers?” or side step it “I don’t really use github but I’m experienced in Azure DevOps and Team Foundation Server plus I’m fluent in git command line so I’ll be able to skill up in GitHub specifics pretty quickly if I need to”. Interviews are two way streets, I’m interviewing a company as much as they’re interviewing me, I have standards on where I’ll choose to work.
If you want a portfolio, I’ve got one, it’s on my website, the url of which is on my cv. Knock yourself out, sign up if you like, it’s public. I even updated it just for you last week.
Y’know why recruiters ask to see your github? Because they read in a book or a blog somewhere that that’s what they should ask when interviewing developers. 21 year old graduate developers looking for their first junior position, sure, maybe. That isn’t all devs tho.
you can show activity without showing the details of the activity. which is at least demonstrating you’re active.
Like this?
https://github.com/taichi/gontributions#examples
I get where you come from. I don’t code after work much, but if nobody did, there wouldn’t be much OSS. As for that interviewer, he’s a dickhead.
I’d love to see recruiters who recruit in their free time, or surgeons who perform surgery in their free time.
there are tons of developers and technical folks that still find it fun and enjoyable to work on personal projects.
i mean, how else do you build new skills or gain familiarity without stuff you don’t use at work?
Woodshedding. I can not learn as fast if I’m weighed down by the idea that every piece of code I check-in needs to be production ready.
Easy. Just don’t work at work and read articles on hackernews instead.
That’s called a hobby. And hobbies are great and lots of fun.
Monetizing hobbies turns them back into a job.
“programming” is so broad though. surely there’s room to have it be both work and a hobby ?
i mean, it is for me and lots of folks i know.
Yeah same as artists, would you rather commission an artist who says ‘i don’t really like art it’s just a 9-5’ or someone who say ‘art is a passion, I love creating and am part of various art communities to develop and grow my skills’
Musicians, writers, photographers, all the creative industries are full of people totally dedicated to their passion or at least deeply interested in their field - of course people are going to want to employ someone that constantly improves and evolves their knowledge and skills
Even artists don’t end up working on art every chance they get though. Most professional artists are just that. It’s the artists who haven’t made it yet that are making art in their off time
If you know an artist who works 40 hours a week at a minimum wage job and then paints for 40 hours a week in their free time then you know an artist that works 80 hours a week
I suspect surgeons doing surgery in their off hours wouldn’t be just weird, but also very creepy.
I can think of surgeon examples but I’ve never heard of Recruiters Without Borders. Unless it’s just CapGemini
I suppose this happens already, with there being a black market for human organs after all.
Hobby: cooking, meat enthusiast
Well, some people regard coding as a hobby…
Sysadmining is a lifestyle
But not expected, and they may have selfhosted repo at home.
Yeah absolutely I quickly get bored playing a computer game or something, but I just love coding (in Rust obviously ^^), creating new things etc.
Fintech is easy to deal with in this regard.
“do you have code samples you can share?”
“would you be happy if an employee interviewed elsewhere and used your codebase for work samples?”
What they’re asking for is a public portfolio.
Obviously, you can’t give them code that legally belongs to a past employer and they’re not allowed to look to avoid accusations of copyright infringement.
Especially if they do any reverse-engineering for interoperability, there must be zero suspicion that they were inspired by code they’re not allowed to use.
This is where open source contributions under permissive licenses come in.
Something shown to work in a real project is also viewed better than out of context code snippets.
When you’re essentially saying you have nothing to show them, you’re indistinguishable from someone who actually has nothing and is lying about their skills, so the onus is on the interviewers to vet you, which for various reasons may not be possible, so they’d rather just move on to someone with a clearly proven track record.
Ok but the original point still stands. Coding outside of work and at work is poor work life balance. Even my own projects I do are to learn not solve an actual problem in the world with code.
And a public portfolio is the CV that states “I worked for this company making thier products”. They might ask for the specific products, but there’s a chance some people never made public ones.
Github is for college and thesis projects. That’s what most people have on there.
The correct answer to these recruiters is still not stated yet. When they say
People should answer
Indeed. A clearly proven track record is a given, in that I worked at software company x y & z for a number of years each as a developer in these technologies and with these good references. You don’t need to see my individual contributions to understand that holding several multi-year dev positions at enterprise software houses tells you a lot.
Tbh, if my track record is in question I don’t expect to be at an interview, I expect my CV to be on a no pile.
I think the real issue is that recruiters learn how to interview graduate junior dev candidates and apply it across the board. When you interview mid/senior devs with years of experience for senior roles which require years of experience, maybe “do fizzbuzz” and “show us your open source work” is a little patronising, no?
Might just be me tho, maybe I’m just a prick. Could be.
Bro that occurred years ago. Github and linkedin are both owned by Microsoft. It is a funnel from LinkedIn recruitment requiring Github requirements from the recruiters. Unfortunately nobody who is under 30 years old saw these dumb tools getting ripped off.
removed by mod
I don’t think that’s how “gaining experience” works
Why would you say something so controversial yet so brave?
Who tf thinks that’s reasonable
Okay boomer. That has to be one of the most boomer things ever said.
Dude I’m 30 lmao. The fact that a moderator removed my comment that was just like “don’t use Microsoft products” is completely ridiculous. Like, have you never heard of embrace extend extinguish? I know about that and it literally was in my first years of life.
Okay boomer. Being 30 doesn’t stop you from having a boomer mentality.
Yeah dude what you are talking about is studying history lmao. Wouldn’t go so far as to say I have a boomer mentality considering my attitude about them involves [REMOVED BY ADMINS DUE TO FBI SUBPOENA]
Okay boomer
Ok zoomer
What an odd thing to say