Hacker News new | ask | show | jobs
by mirzap 1097 days ago
I'm incredibly pleased about Microsoft's acquisition of Github, as I notice visible improvements every passing month. Considering Gitlab's pricing, I wonder why anyone would abandon GitHub Team or Enterprise plan in favor of Gitlab. Gitlab's costs are exorbitant, and they resemble Atlassian products, with an overwhelming number of features that are rarely used, cluttering the interface and diminishing the overall user experience.
9 comments

I am not pleased with Microsoft. Yes, there have been some improvements. But GitHub Actions is very half baked, yet the bean counters at my company are asking "why do we pay for buildkite?". It feels like they are using the same playbook as MS Teams.
GitHub Actions seems turing complete to me (meaning, I can do anything I can dream up)
To be trite; Jenkins is then equivalent?

CSS can famously be made turing complete.

https://notlaura.com/is-css-turing-complete/

It invokes arbitrary shell scripts, so who cares?
What’s half baked about it?
forgive me if my information is outdated, but:

- You can't retry a failed action, be it manually in the UI or automatically under certain conditions.

- workflows have a pretty low limit for number of jobs - 250 or so. We already split our rspec tests across 300 parallel jobs.

- the UX is full of jank. If I click into an in-progress jobs I often can't see prior logs for the in-progress step until the step completes.

There are also some annoyances that aren't really half-baked, but annoying for Monorepos:

- workflows have to be defined under the .github folder. This means workflows can't be collocated with the code they relate to.

- workflows can't be generated dynamically. At best, you can dynamically trigger predefined workflows, but I don't think they get associated with the PR that triggered them. This makes patterns like dynamically dispatching workflows based on, say, a bazel query for affected rdeps more challenging, if not entirely infeasible.

You can retry failed jobs these days (for awhile now, at least a year? I can't remember).

Workflows can also be (sort of, depending on what you mean?) dynamically generated by using tojson and fromjson to feed the output of one job into a matrix.

Full disclosure, I work at Microsoft but nothing to do with GitHub.

One area is its reusability story. Last I looked you couldn't create reusable actions in the same repo you want to call them from, they have to be in an external repo. For quite a while, private reusable actions were an Enterprise-only feature, but that may have been lifted now. The ability to reuse particular jobs is also missing, and communication among jobs is limited to variables after the fact. You can only use success or failure states to trigger other jobs, you can't pass values.
> Last I looked you couldn't create reusable actions in the same repo you want to call them from, they have to be in an external repo.

I'm not sure if/when this changed, but you can definitely do this now.

> You can only use success or failure states to trigger other jobs, you can't pass values.

This is also not true: you can pipe environment variables to $GITHUB_OUTPUT which can be referenced by future jobs.

If anything, the main issue with GitHub Actions is that it's confusing, and the docs don't make it easy to understand how to do things at a high level.

Interesting, I'm _extremely_ happy with Github Actions. But I have pretty basic needs, admittedly.

You mention buildkite as something you think is a lot better than GH Actions. I'm curious if you've also used the Gitlab equivalent and can compare (I haven't, really).

I would not not say buildkite is better, per se. I'd say it's more mature and much more flexible. Buildkite is easily "programmable" in a way that GHA is not. That flexibility is important for advanced/large scale use cases.

I've not tried Gitlab.

I would still ask why would you pay for Buildkite.

Github Actions might not be the best but so is Buildkite. It's not exactly strictly better in every way.

Having used all 3 mentioned, it'd be Gitlab > Github > Buildkite for CI/CD for me.

Github wins at least by the sheer community support. Every vendor has an action.

IMO Gitlab's offering is far more comprehensive and can't really be an apples to apples comparison.

Plus, I greatly appreciate the transparency of many of the features that Gitlab sells around security outlining exactly which open source tools they use so that you can just go do it yourself on the CI pipeline. The real value for the premium security tier is when you have a team coordinating multiple projects.

I've seen Github try to upsell to enterprise with features that I can just install in a few minutes using the tools that Gitlab tells me about.

I dunno, gitlab looks more comprehensive if you just look at a checklist "do they have feature X, Y, Z?" but if you look at depth and quality of implementation a lot of their features fall apart. Even issues, which seem like one of the top 4 things they do (git, MRs, CI, issues) are fine for simple stuff but fall apart after that (Have you ever wanted to search for an issue based on something mentioned in a comment on it? Good luck!).

They're also buggy, and in my experience I keep hitting bugs that are long-tail and therefore never prioritized to actually fix.

Well said and matches my experience as well. A breadth of features but once you start actively using them in depth you find that the experience is not as polished.
Agreed - I'm working at a place that's switching from GitHub to GitLab because it's cheaper (or was when the project was started; maybe still is because GitLab can replace a couple of other tools as well). The checklist looks impressive but I find myself thinking "GitHub does this better" a lot of the time.
To be fair, this has changed considerably over the last 10 years.

GitLab was drastically cheaper, offering free private repos, and interesting features ahead of GitHub (although IMO always slightly less "sexy" than GitHub, using Ruby on Rails, etc.).

But at the time they gathered (1) serious funding money and (2) influx from MS-asylants their priorities started to change. But they were still the cheaper option for quite some time IIRC. The pandemic and the associated gold-rush/growth in IT pushed the dynamics over the edge I think.

Now their position is not really that different from GitHub's, and I think it is kind of a preference thing.

I can do with both, but I kind of still like the appeal and UX in GitHub. GitLab will always be in my heart, just like ever "Underdog" (even if that was a long time ago).

I could further see myself immediately falling for a third alternative, if it was sexy/unique enough with drastically better UX, and I think that is not even too far fetched.

But there is the thing, GitHub is a platform, not (just) a tool. GitLab still managed to take ground - kudos! That would be the hard part.

It's actually fucking crazy how expensive GitLab is in comparison to GitHub.

Let's say we have 40 employees who code and 30 employees who create tickets, and we want to get all of the security scanning features that the platform has to offer.

For GitLab, we need the $99/user/month plan because the security features are only available in that subscription. Guest users are completely free, but they're extremely gimped when it comes to issues, so most likely you'll have to have most if not all of your non-coding employees at the $99/user/month tier. Final price is $6930/month (or $3960/month if you can really handle the gimped guests).

For GitHub, you need to pay $19.25/user/month plan for every user and $49/month for every person that commits code for the security features. So that's $1347.50/month for user accounts and $1960 for security features for a total of $3307.50/month.

GitHub is not even half what GitLab wants. It's even less than the gimped guest user experience that you can subject yourself to with GitLab.

I still use gitlab primarily because of the CI system. Still haven't found any competitors that are as easy to use and integrated as gitlab CI. Github actions are still lagging far behind.
same here, package/docker registry + ci/cd are just simple and easy to use, all the other features I really don’t care about…
The UI keeps bloating, lagging more and more. It can now take few seconds to load a few thousand line file for display.

Ctrl-f search doesn't work anymore because it lazy loads the file as you scroll, with a very noticable lag at that.

Some repos are inexplicably limited to 50KiB/s.

And yes I have a powerful computer, very good Internet connection with low latency to GitHub.

I guess you are on Windows then. After Microsoft there are more and more UI bugs creeping in to Firefox
I'm not. The biggest enemy of Linux/FOSS should never have been in charge of the biggest repository of open source software.
> The biggest enemy of Linux/FOSS

Have they outdone Oracle? Impressive! :)

On a serious note, is your comment based on historical or recent events?

For the historical you have all the EEE tactics https://en.wikipedia.org/wiki/Embrace,_extend,_and_extinguis...

For recent events, you could look at stuff how VSCode is supposedly Open Source and yet fully ridded with spyware and also propietary plugins...

On github, having MS at the realm has certainly affected too how DMCA's and such are deal with vs the old Github.

The VSCode situation could be improved but isn't there VSCodium to remediate that?

As for DMCA, I think you have to talk to the government officials about how badly it works.

Are there any other recent events that I'm forgetting that make MSFT the biggest enemy of FOSS?

> The VSCode situation could be improved but isn't there VSCodium to remediate that?

That's a great example, actually, because they'd like you to think that VSCode is open source... but then if you actually use that you can't access a rather lot of the most useful extensions, which is a completely artificial limitation that appears to be there only to prevent people from actually using any fork.

VSCodium is specifically incompatible with Microsoft's proprietary extensions like SSH development, and now the official VS Code Python extension has now switched to a proprietary Pylance language server.
He gave you a recent event and you conceded the point then suggested he use something else.

And, DMCA is bad law but many companies make it worse in their overzealousness to "comply" with it.

I also couldn't find sources to care to respond to him but I remember about some little terminal app which FOSS code was basically stolen by MS from the indie dev and then he was gaslighted about it. I can't find the source in reddit thanks to the going dark thing now lmao. Can't find it now, so maybe I hallucinated it better than some fine LLM's

If anyone else remembers this incident and can link to a source that'd be great for my sanity.

Maybe similar to this: https://news.ycombinator.com/item?id=17214257

I do have a love-hate relationship with MS, but I don't love the fact that they own 80% of my stack (Yes, I know, my choice) between TypeScript, VSCode, NPM, Github, etc..

Also on VSCodium, it only fixes the telemetry bullshit, the custom LSP Plugins that microsoft keeps for themselves or whatever are not available there. so If you want to use for example copilot or other -microsoft official- plugins you can't do so on VSCodium

Also let's add the whole Github Copilot WhiteWashing non-FOSS proprietary code into anyone to steal. Basically breaking the current status quo in favour of the megacorps that can steal it all and respect no licenses

> He gave you a recent event and you conceded the point then suggested he use something else.

Not really. It was a good point but it wasn't clearcut.

Of course I don't think the VScode situation is great but it's far from being "the biggest enemy of FOSS".

That's why I was wondering if there were any other recent events. I've not been keeping track, truly.

It doesn't matter, the only difference between Nadella era and Ballmer or Gates era is marketing. It's the same Microsoft that it's always been.
> is your comment based on historical or recent events?

Why would I need to choose between those two? How about 'both'?

Microsoft earns a significant amount of money from hosting Linux servers and even makes contributions to the kernel.

How are they an enemy?

This is more than 20 years old...
So is Microsoft. And everybody that is currently controlling the company was there when this happened.
And? Are they still doing this kind of stuff or not? If they are, then it would be easy to come up with more recent examples.
We're in the process of switching from Atlassian to GitHub.