The question is whether or not GitHub is losing market/mind share and if we will see a slow migration away from GitHub towards GitLab (self hosted or otherwise).
No system is perfect. And at some point the incremental improvements from GitLab will be appealing to a larger set of projects. If enough of the “cool” projects move to GitLab, we will see a SourceForge like shift away.
My money long term is on https://sr.ht . I largely kid — sourcehut doesn’t seem like it is really designed for the masses. And I think that’s the point. But the more I use something like Sourcehut, the more I appreciate the minimal GUI.
I'm going to wager not. I think this is a classic case of something making it to HN or the HN crowd finding it interesting, but in reality, GitHub is probably doing more than fine and continuing to grow.
Sourceforge has been more or less abandoned/forgotten for the past five years. Some projects continue to stick to it though due to inertia and laziness.
The one thing I think GitHub is missing is a solid, well thought out bug/project/ticket management system. Issues is too basic, and Projects are only really collections of Issues.
I think GitLab's issue tracker has a lot of usability issues, but it fits the template of an issue tracker (mostly defined by Jira) much better. For those selecting a new platform for a large project or organisation, I can completely understand GitLab's issue tracker being a safer bet than GitHub.
I would say GitHub is also missing CI. After having worked with GitHub Actions I cannot say I am impressed. It feels more like an MVP than a real CI system. It also as frequent outages.
CircleCI is the best system I've encountered so far that enables running locally what one can run "in the cloud." GH Actions has "act" which is some kind soul's attempt, but is ultimately emulation. The gitlab-runner binary is a cruel joke (I mention that both in support of "seems local CI running is damn hard" and also because GL allows just using it for CI of GH repos, presumably a feature from back before GHA existed)
Earthly just switched their license to MIT, so that's something I intend to try out, and Dagger is a new entrant into that race, but (a) requires learning cuelang (b) shit itself when I last tried it
I ported a lot of stuff from Jenkins and CircleCI to GitHub Actions, as well as building an iOS build/release pipeline with Actions, and honestly I don't understand this criticism.
I find Actions to have a maturity far beyond how long it has existed for, with very strong primitives that compose better than anything else I've seen.
GitLab CI always felt to me like it was a minor improvement over Travis, and that they hadn't yet realised that complex CI trends towards general compute orchestration. I found it hard to achieve complex, reliable, and fast pipelines with GitLab CI.
There have been outages, but we didn't find this to be any worse than CircleCI, and was better than our experience running a Jenkins cluster.
I actually really appreciate GitHub issues for its simplicity: just a list of issues that need addressing. I found most more "advanced" systems to be much harder to use and get an overview of things, especially with larger projects. I found that "just a list of things" with some labels usually works best both from a programmer's and from a management perspective.
What could be simpler than having to press "Show More" 20 times because you can't Ctrl-F what you're looking for? Especially in larger project, as you say.
You mean in large discussions some comments being hidden? It's not my favourite feature either, no. I'm not saying it's perfect or that I wouldn't change things, just that I appreciate its simplicity vs. a more complex system.
Epics can help with a group view over issues in multiple projects, with more planning features, for example roadmaps and boards. [0] Board/roadmaps are available for issues in projects too.
To a larger extent, the planning with work items may help address the challenge with project/group boundaries. Recommend reviewing the direction page [1] and linked issues/epics, and add your thoughts :)
I have pinged our product managers at GitLab, and they kindly shared the issue titled "Share an Issue/Epic To Multiple Projects or Groups" [0] which directly addresses the initial request.
Never occured to me before, but you're right, and it's an interesting way of putting it.
Github boasts "83 million developers", but I think the number of actual developers is probably closer to 0.83 million (which is still a very large amount).
But of course I am an insensitive jerk who likes to exclude people, because I think to be called a developer it takes more than registering an account, creating a repo with a couple of broken files and add noise to the signal.
Totally agree. I have a programming background but don't really program anymore. My Github account has been used for nothing more than submitting issues for projects I use. Any source control I need for other things I do, I use GitLab because of the free private projects and CI integration, but even that's minimal.
GH made private repos free (for an unlimited amount) a few years back (maybe when MS bought them). Not sure about the free tier for GH actions (their CI).
Gitlab restricts its free offering while Github enhances it. I don't know about instagram, but if you're cheap and want free ride, Github just better. Gitlab is open source which is huge for self-hosting and that's about it.
> Gitlab restricts its free offering while Github enhances it. I don't know about instagram, but if you're cheap and want free ride, Github just better.
Well GitLab don't have the unlimited cash of Microsoft, so of course, GitHub can afford to lose money on the free offering. However GitLab have free self-hosted, while GitHub don't ( and as a matter of fact their self-hosted solutions sounds pretty terrible, being months/years behind the SaaS features, while GitLab is the same).
They now added achievements 5 days ago. I have an achievement for having "opened pull requests that have been merged". It really is becoming a social network.
It's just... noise? I assume the average github user is a developer and has closed dozens of PRs in his life.
It's cool to see someone's code is on the mars rover or in the artic storage. I can't care about achievements like "yolo" "galaxy brain" and "pull shark". I don't understand what information that conveys on a code collaboration platform.
That's too bad. Gitlab is the code host that doesn't use HTML. They're even more hostile to HTML than Microsoft Github. It's infeasible to use or even look at a directly listing on gitlab in a browser older than a year or two. It's all javascript over there, and not generic javascript: bleeding edge JS that only works in megacorp browsers.
A couple of years ago I wanted to put my open source projects on GitLab, as I was thinking... "why is the biggest open source hub not open source". Back then the GitLab CI was much better compared to alternatives, and I had a couple of other features that I liked on GitLab.
I tried for a couple of months, and gave up. I switched back to GitHub for a couple of reasons.
- After some time, GitHub's CI became a thing, it became good enough for me (and other features improved, too).
- Companies want to see your GitHub profile. Publishing your work on GitLab is not going to get you the same exposure as publishing on GitHub.
- Open-source contributors are on GitHub. The majority is not going to create a GitLab account just to fix a bug or open an issue in my little library. If you want community, it's on GitHub.
- Hosting open-source really didn't seem to be a priority for GitLab, so if they don't seem to care, why should I?
- GitLab's quality started to decrease. More bloat (both in terms of UI and code size), slower and slower app whereas GitHub hit the sweet spot of keeping things simple while providing essential features that are fast.
Yes, but see, this is exactly what we ought to fight. No?
I don't want to be forced to host my open source projects at Microsoft. Or any place really. I don't think there should be any centralization for project hosting.
GitLab.com is not perfect neither, it requires users to run reCAPTCHA. This is forced Google spying for any GitLab users and therefore potential contributors.
I really want this fad that considers platforms hosting projects as social networks to end.
I should not have to open an account on GitHub. But okay, maybe-ish. However, my point is actually larger than this.
There's a whole ecosystem where your project doesn't exist if it's not on GitHub. For example, Hackoberfest, where only projects on GitHub are eligible (not that it necessarily a bad thing actually, but still, it really puts in the head of people that open source = GitHub) (edit: I see that they accepted GitLab in 2021. It's less bad than just GitHub, but still problematic). There are studies / research on software / open source that don't bother with projects not on GitHub. Libraries are often evaluated on the number of stars / forks / issues they have on GitHub.
I've been a loyal gitlab user since before it turned into the absolute beast it is now. I even considered applying there because I like their values. Only problem is, I've never written a line of ruby.
I really don't look forward to having to move to yet another platform. Will probably just host my own repo's if that time arrives.
> - Open-source contributors are on GitHub. The majority is not going to create a GitLab account just to fix a bug or open an issue in my little library. If you want community, it's on GitHub.
This is a double-edged sword, because it means that your project will receive a lot of trivial issues/requests. I've seen more than one complaint that the having to handle the amount of requests in an open source project made it more than a daily job than a enjoyable activity
Ideally you want to make it easy for people that care to contribute, but not too easy in order to avoid "spam".
> GitLab's quality started to decrease. More bloat (both in terms of UI and code size), slower and slower app whereas GitHub hit the sweet spot of keeping things simple while providing essential features that are fast.
Honestly, this is why I switched my previous company and my personal repos to Github. GitLab has always felt slow as molasses, with unintuitive UI.
I'm using both, and in both cases for both work and personal projects.
There are a few things which are better in GH, some are better in GL. Which one is which is really subject to taste (I prefer the review workflow in GL, I much prefer the simplified issues management in GH, but I got the exact opposite opinion from colleagues). GL used to have the upper hand with CI, but lately GH actions again improved enough that I don't mind it.
For a professional setup though, GL CE offers an escape hatch and can be a _huge_ cost saving measure if you ever find yourself needing it. Managing GL in a container is almost painless in the last couple of years. By contract we're actually running on an older GH plan due to plan cost increases we don't find reasonable. On that basis alone, GL seems a no brainer. Both GH and GL online services princing plans can have questionable costs in several scenarios.
GH can give your project wider visibility due to it's popularity, but I never had any any complaint from developers. I see issue reports coming in on GL even on obscure projects, and in most cases devs already have accounts on both platforms.
I do see somewhat less random requests for generic help on GL (as in "what do I need to do to install this?" which is answered in the README), but it's really hard to quantify seriously.
> The majority is not going to create a GitLab account just to fix a bug or open an issue in my little library
FWIW, GL supports a lot of social auth providers, including GitHub: https://gitlab.com/users/sign_in/ (you may have to open that in an incognito window to see the login choices, but there are 5 of them currently)
> The majority is not going to create a GitLab account just to fix a bug or open an issue in my little library.
Honestly, that sounds like a selling point. Having a road bump so that people who show up in issues are motivated should cut down on the zero effort drive by bug reports.
If you already know of more bugs than you have time to fix, then more bugs for the sake of more bugs aren't that valuable. And sifting through dozens of bug low effort bug reports, to try to find the one useful one isn't actually a productive use of time. And not every software project has the same concerns as every other one.
> If you already know of more bugs than you have time to fix, then more bugs for the sake of more bugs aren't that valuable.
We disagree quite strongly on this. In fact, I'm currently being burnt by an example.
I'm currently interacting with one of the big delivery websites. Think similar to GrubHub or Instacart.
Every so often the system auto-temp-bans me. I think maybe I'm falling afoul of scraper detection; it tends to happen when I am searching through stores because I need three obscure things and each store has two, looking for one that has all three.
This happened again two days ago. I was trying to get all the flavors of one particular brand of chocolate chip. I had gotten a bag as a substitute, and it was much higher quality than expected, so I wanted to try the others.
Problem is, the brand isn't common, and has 12 flavors, and the top-level search only shows 7 things.
"Just open in tabs!" Nah, the system thinks you're a bot scraping prices, and blocks you for seven days in a way that looks like you're perm-banned.
I'm sure they're drowning in tickets about their modest quality CSS and so on, but this ticket should still go in.
That doesn't matter to an open source project without any revenue stream and no budget for a help desk.
And it sounds like you're doing something niche that shouldn't be prioritized, and eliminating abusive scrapers is probably worth it to them even if it means that they're losing your business. If they're not fixing it, that is a message to you that your use case doesn't matter to their business model. What you want is a way to demand you get attention. You are precisely the kind of squeeky wheel that wastes everyone's time.
> And it sounds like you're doing something niche that shouldn't be prioritized
Using the site for its main and sole purpose? No
It sounds like you're looking to apologize so that you can win
.
> If they're not fixing it, that is a message to you that your use case doesn't matter to their business
No, it's not. It's a reflection that their customer service isn't actually communicating with the engineers.
.
> You are precisely the kind of squeeky wheel that wastes everyone's time.
Please take your public guess driven judgements somewhere else, thanks. I just received a thankful email from their engineering department as a result of the HN comment making one of their engineers aware.
It's not clear why you felt the need to insult a stranger for saying "here's a situation in which ranking tickets can matter, even when there are already too many."
69 comments
[ 5.5 ms ] story [ 130 ms ] threadNo system is perfect. And at some point the incremental improvements from GitLab will be appealing to a larger set of projects. If enough of the “cool” projects move to GitLab, we will see a SourceForge like shift away.
My money long term is on https://sr.ht . I largely kid — sourcehut doesn’t seem like it is really designed for the masses. And I think that’s the point. But the more I use something like Sourcehut, the more I appreciate the minimal GUI.
Or I'm completely wrong.
Sourceforge has been more or less abandoned/forgotten for the past five years. Some projects continue to stick to it though due to inertia and laziness.
I think they knew that sourceforge has been effectively dead and is saying here that GitHub is following in it's footsteps.
I don't agree with that, but i believe that was the point.
I think GitLab's issue tracker has a lot of usability issues, but it fits the template of an issue tracker (mostly defined by Jira) much better. For those selecting a new platform for a large project or organisation, I can completely understand GitLab's issue tracker being a safer bet than GitHub.
Earthly just switched their license to MIT, so that's something I intend to try out, and Dagger is a new entrant into that race, but (a) requires learning cuelang (b) shit itself when I last tried it
I find Actions to have a maturity far beyond how long it has existed for, with very strong primitives that compose better than anything else I've seen.
GitLab CI always felt to me like it was a minor improvement over Travis, and that they hadn't yet realised that complex CI trends towards general compute orchestration. I found it hard to achieve complex, reliable, and fast pipelines with GitLab CI.
There have been outages, but we didn't find this to be any worse than CircleCI, and was better than our experience running a Jenkins cluster.
Epics can help with a group view over issues in multiple projects, with more planning features, for example roadmaps and boards. [0] Board/roadmaps are available for issues in projects too.
To a larger extent, the planning with work items may help address the challenge with project/group boundaries. Recommend reviewing the direction page [1] and linked issues/epics, and add your thoughts :)
[0] https://docs.gitlab.com/ee/user/group/epics/
[1] https://about.gitlab.com/direction/plan/project_management/t...
[0] https://gitlab.com/gitlab-org/gitlab/-/issues/296668
github is busy creating Instagram for "Coders"
Github boasts "83 million developers", but I think the number of actual developers is probably closer to 0.83 million (which is still a very large amount).
But of course I am an insensitive jerk who likes to exclude people, because I think to be called a developer it takes more than registering an account, creating a repo with a couple of broken files and add noise to the signal.
Well GitLab don't have the unlimited cash of Microsoft, so of course, GitHub can afford to lose money on the free offering. However GitLab have free self-hosted, while GitHub don't ( and as a matter of fact their self-hosted solutions sounds pretty terrible, being months/years behind the SaaS features, while GitLab is the same).
It also just happened to be the slick(read nice ux) tool.. so i guess many just pretended it wasn't a social network?
It's cool to see someone's code is on the mars rover or in the artic storage. I can't care about achievements like "yolo" "galaxy brain" and "pull shark". I don't understand what information that conveys on a code collaboration platform.
Welcome to $current_year I guess
I tried for a couple of months, and gave up. I switched back to GitHub for a couple of reasons.
- After some time, GitHub's CI became a thing, it became good enough for me (and other features improved, too).
- Companies want to see your GitHub profile. Publishing your work on GitLab is not going to get you the same exposure as publishing on GitHub.
- Open-source contributors are on GitHub. The majority is not going to create a GitLab account just to fix a bug or open an issue in my little library. If you want community, it's on GitHub.
- Hosting open-source really didn't seem to be a priority for GitLab, so if they don't seem to care, why should I?
- GitLab's quality started to decrease. More bloat (both in terms of UI and code size), slower and slower app whereas GitHub hit the sweet spot of keeping things simple while providing essential features that are fast.
Yes, but see, this is exactly what we ought to fight. No?
I don't want to be forced to host my open source projects at Microsoft. Or any place really. I don't think there should be any centralization for project hosting.
GitLab.com is not perfect neither, it requires users to run reCAPTCHA. This is forced Google spying for any GitLab users and therefore potential contributors.
I really want this fad that considers platforms hosting projects as social networks to end.
There's a whole ecosystem where your project doesn't exist if it's not on GitHub. For example, Hackoberfest, where only projects on GitHub are eligible (not that it necessarily a bad thing actually, but still, it really puts in the head of people that open source = GitHub) (edit: I see that they accepted GitLab in 2021. It's less bad than just GitHub, but still problematic). There are studies / research on software / open source that don't bother with projects not on GitHub. Libraries are often evaluated on the number of stars / forks / issues they have on GitHub.
These issues are all about the network effect.
This is a double-edged sword, because it means that your project will receive a lot of trivial issues/requests. I've seen more than one complaint that the having to handle the amount of requests in an open source project made it more than a daily job than a enjoyable activity
Ideally you want to make it easy for people that care to contribute, but not too easy in order to avoid "spam".
Honestly, this is why I switched my previous company and my personal repos to Github. GitLab has always felt slow as molasses, with unintuitive UI.
There are a few things which are better in GH, some are better in GL. Which one is which is really subject to taste (I prefer the review workflow in GL, I much prefer the simplified issues management in GH, but I got the exact opposite opinion from colleagues). GL used to have the upper hand with CI, but lately GH actions again improved enough that I don't mind it.
For a professional setup though, GL CE offers an escape hatch and can be a _huge_ cost saving measure if you ever find yourself needing it. Managing GL in a container is almost painless in the last couple of years. By contract we're actually running on an older GH plan due to plan cost increases we don't find reasonable. On that basis alone, GL seems a no brainer. Both GH and GL online services princing plans can have questionable costs in several scenarios.
GH can give your project wider visibility due to it's popularity, but I never had any any complaint from developers. I see issue reports coming in on GL even on obscure projects, and in most cases devs already have accounts on both platforms.
I do see somewhat less random requests for generic help on GL (as in "what do I need to do to install this?" which is answered in the README), but it's really hard to quantify seriously.
Does it matter where you link to in your resume?
I can't imagine someone open a URL only to realize it's not GitHub and close the page before checking out some repositories.
FWIW, GL supports a lot of social auth providers, including GitHub: https://gitlab.com/users/sign_in/ (you may have to open that in an incognito window to see the login choices, but there are 5 of them currently)
That's in contrast to https://github.com/login which is "GitHub or GFYS"
Honestly, that sounds like a selling point. Having a road bump so that people who show up in issues are motivated should cut down on the zero effort drive by bug reports.
"we're not just cutting off the information we need, right?"
We disagree quite strongly on this. In fact, I'm currently being burnt by an example.
I'm currently interacting with one of the big delivery websites. Think similar to GrubHub or Instacart.
Every so often the system auto-temp-bans me. I think maybe I'm falling afoul of scraper detection; it tends to happen when I am searching through stores because I need three obscure things and each store has two, looking for one that has all three.
This happened again two days ago. I was trying to get all the flavors of one particular brand of chocolate chip. I had gotten a bag as a substitute, and it was much higher quality than expected, so I wanted to try the others.
Problem is, the brand isn't common, and has 12 flavors, and the top-level search only shows 7 things.
"Just open in tabs!" Nah, the system thinks you're a bot scraping prices, and blocks you for seven days in a way that looks like you're perm-banned.
I'm sure they're drowning in tickets about their modest quality CSS and so on, but this ticket should still go in.
Tickets aren't of uniform importance.
And it sounds like you're doing something niche that shouldn't be prioritized, and eliminating abusive scrapers is probably worth it to them even if it means that they're losing your business. If they're not fixing it, that is a message to you that your use case doesn't matter to their business model. What you want is a way to demand you get attention. You are precisely the kind of squeeky wheel that wastes everyone's time.
Using the site for its main and sole purpose? No
It sounds like you're looking to apologize so that you can win
.
> If they're not fixing it, that is a message to you that your use case doesn't matter to their business
No, it's not. It's a reflection that their customer service isn't actually communicating with the engineers.
.
> You are precisely the kind of squeeky wheel that wastes everyone's time.
Please take your public guess driven judgements somewhere else, thanks. I just received a thankful email from their engineering department as a result of the HN comment making one of their engineers aware.
It's not clear why you felt the need to insult a stranger for saying "here's a situation in which ranking tickets can matter, even when there are already too many."
Thanks for your time. Have a good day.
When I do hiring I will look at your any public code repo you put in your resume. I’m totally agnostic about where it is hosted.
wrong alternative.