50 comments

[ 3.3 ms ] story [ 78.1 ms ] thread
>frontend barely works without JavaScript, ... In the past, it used to gracefully degrade without enforcing JavaScript, but now it doesn't.

And the github frontend developers are aware of these accessibility problems (via the forums and bug reports). They just don't care anymore. They just want to make the site appear to work at first glance which is why index pages are actual text in html but nothing else is.

To be fair, the developers might care, but upper management certainly doesn't, and they're the ones who decide if those developers make their rent this month.
We are in the disapora phase; there is a steady stream of these announcements, each with a different GitHub alternative. I speculate that within a few months, the communities will have settled on a single dominant one. I'm curious if it will be one of the existing ones, or something new. Perhaps a well-known company or individual will announce one; it will have good marketing, and dominate.
... and it will be SourceForge. finally.
> I speculate that within a few months, the communities will have settled on a single dominant one.

I really hope not. Heterogeneity is really valuable in this space, and there's really no "one size fits all" model.

I really liked GitHub and I would also pay more for it, but that does not seem to be a priority. On safari the whole PR review is barely useable any longer because of bad performance without gaining any discoverable to me new features. Obviously a lot of man hours went in to ruining the product but I can’t understand why
>The most annoying problem is that the frontend barely works without JavaScript,

Not only did they spend years rewriting the frontend from Pjax to I think React? They also manage to lost customer because of it.

I've been messing around with GitLab as a self hosted alternative for a few years. I do like it, but it is resource intensive!

For the past few days I've been playing with Forgejo (from the Codeberg people). It is fantastic.

The biggest difference is memory usage. GitLab is Ruby on Rails and over a dozen services (gitlab itself, then nginx, postgrest, prometheus, etc). Forgejo is written in go and is a single binary.

I have been running GitLab for several years (for my own personal use only!) and it regularly slowly starts to use up the entirety of the RAM on a 16GB VM. I have only been playing with Forgejo for a few days, but I am using only 300MB of the 8 GB of RAM I allocated, and that machine is running both the server and a runner (it is idle but...).

I'm really excited about Forgejo and dumping GitLab. The biggest difference I can see if that Forgejo does not have GraphQL support, but the REST API seems, at first glance, to be fine.

EDIT: I don't really understand the difference between gitea and forgejo. Can anyone explain? I see lots of directories inside the forgejo volume when I run using podman that clearly indicate they are the same under the hood in many ways.

EDIT 2: Looks like forgejo is a soft fork in 2022 when there were some weird things that happened to governance of the gitea project: https://forgejo.org/compare-to-gitea/#why-was-forgejo-create...

I used, administered, setup, and customized many on prem gitlab instances for years. I gitlab doesn't memory leak, you're making that up. It's exactly as resource intensive as the number of resources you setup. Can't say the same for JIRA et al.

This comment makes me suspect this entire thread as some astroturfing for that other product.

(comment deleted)
I wish I could search in Gitlab like I could in Jira's SQL-esque query syntax, but otherwise its interface is a step-up, if still pretty "busy" for my taste.
And gitea is once again a fork from gogs that happened with some controversy in the beginning.

The gitea project has a lot more features such as CI and SSO at this point, gogs continues to be a viable alternative if you actually only want a git server with an UI like GitHub was in early 2010s - and are on resource constrained hardware

> Additionally, GitHub seems to encourage a "push model" in which you are notified when a new event occurs in your project(s), but I don't want to work with that model. Instead, I prefer it to work as a "pull model", so I only get updates when I specifically look for them. This model would also allow me to easily work offline. Unfortunately, I see that the same push model has been copied to alternative forges.

Someone kind enough to explain this to me? What's the difference between push model and pull model? What about push model makes it difficult to work offline?

> To avoid this problem, I created my own bug tracker software, buggy, which is a very simple C tool that parses plain Markdown files and creates a single HTML page for each bug.

The hacker spirit alive and well.

That is an approach very few people would take. I would never do it, as I am sure it would cause me trouble than any potential benefit.
got here to comment on that, hella impressive and looks so simple and clean.
To me, this sounds like a good change. And FWIW, I an finding I am using dillo more and more these days.

I went to gitlab from github due to Microsoft changes, my needs are very simple so far gitlab seems OK.

I also mirror just the current source on sdf.org via gopher. If gitlab causes issues this could very well become my main site.

I hope you will continue maintaining a mirror in GH. Some tools like deepwiki are excellent resources to learn about a codebase when their is not much documentation going around. But these tools only support pulling from GH.
> On the usability side, the platform has become more and more slow over time

The best reason right here.

I didn't know about forgejo, it looks pretty nice.
A good reason to move away from GitHub is it is from Microsoft (FAMAG; a company who kissed Trump's ring).

Sourcehut is hosted in The Netherlands, and Codeberg in Germany.

(comment deleted)
Excellent. I hope to see more of it.

Another social issue on GitHub: you cannot use the "good first issue" tag on a public repository without being subjected to low quality drive-by PRs or AI slop automatically submitted by someone's bot.

I think the issue with centralization is still understated. I know developers who seem to struggle reading code if it's not presented by VS Code or a GitHub page. And then, why not totally capture everyone into developing just with GitHub Codespaces?

This is exactly what well-intentioned folk like to see: it's solving everyone's problems! Batteries included, nothing else is needed! Why use your own machine or software that doesn't ping into a telemetry hell-hole of data collection on a regular basis?

> To avoid this problem, I created my own bug tracker software, buggy, which is a very simple C tool that parses plain Markdown files and creates a single HTML page for each bug.

I love this. I used to be a big fan of linear (because the alternatives were dog water), but this also opened the question "why even have a seperate, disconnected tool?"

Most of my personal projects have a TODO.md somewhere with a list of things i need to work on. If people really need a frontend for bugs, it wouldn't be more than just rendering that markdown on the web.

> GitHub has been useful to store all repositories of the Dillo project, as well as to run the CI workflows for platforms in which I don't have a machine available (like Windows, Mac OS or some BSDs).

The post does not mention CI anywhere else, are they doing anything with it, keeping it on GitHub, or getting rid of it?

> Furthermore, the web frontend doesn't require JS, so I can use it from Dillo (I modified cgit CSS slightly to work well on Dillo).

That sounds like a bad approach to developing a Web browser, surely it would be better to make Dillo correctly work with the default cgit CSS (which is used by countless projects)?

This was the part that mystified me. Love it or hate it, GitHub Actions is free. Alternative providers like Codeberg have much tighter limits on it, and it sounds unlikely the author's solution includes CI at all.
> The post does not mention CI anywhere else, are they doing anything with it, keeping it on GitHub, or getting rid of it?

Yes, we have our own CI service. It is not public for now.

(comment deleted)
There are ways around some of the issues there, such as using the GitHub API (I almost exclusively use the API), and/or using a user script (see below). Furthermore, on GitHub and on some other version control hosting services (such as GitLab), you can change "blob" to "raw" in the URL to access the raw files. However, as they say, it can be mirrored on multiple services (including self-hosting), and this would be a good idea, whether or not you use GitHub, so if you do not like GitHub then you do not have to use it.

Note that for some of the web pages on GitHub, the data is included as JSON data within the HTML file, although this schema is undocumented and sometimes changes. User scripts (which you might have to maintain due to these changes) can be used to display the data without any additional downloads from the server, and they can be much shorter and faster than GitHub's proprietary scripts.

Using a GPG key to sign the web page and releases is helpful (for the reasons they explain there), although there are some other things that might additionally help (if the conspiracy was not making it difficult to do these things with X.509 certificates in many ways).

Although I'm not a fan of GH, I appreciate the ability to see how popular/valid some project is by looking at the number of stars (I know this is far from a perfect signal). I'm much less likely to try projects that have a low number of stars, or projects in different places.
One of the things Forgejo has been working on is federation, such that hopefully someday we can replicate the discoverability of GitHub without a central provider.
God forbid we'd have to actually look at the code itself to figure out whether something is good.
I freely admit I am out of my depth and have nothing educational to add on the subject. I have but four things to add on this subject:

1. Oh! It's "d.i.l.l.o."! I misread that as something else.

2. After reading many comments in this thread, I must admit I am stupefied at the sheer amount of stuff that can go into merely setting up and maintaining a version control system for a project.

3. I have cited every one of the same problems OP enumerates as my argument for switching new projects over to self-hosted fossil. It also helps a good bit with #2 above when you're a small organization and you're the sole software engineer, sysadmin, and tier >1 support. It's a much simpler VCS that's closer to using perforce in my experience. YMMV, but it's the kind of VCS that doesn't qualify as a skill on a resume.

4. I also find GH deploy keys frustrating because I can't use the same key for multiple repositories. I have 3 separate applications that each run on 4 machines in my cluster, and I have to configure 12 separate deploy keys on GitHub and in my ~/.ssh/config file.

> GitHub seems to encourage a "push model" in which you are notified when a new event occurs in your project(s), but I don't want to work with that model. Instead, I prefer it to work as a "pull model", so I only get updates when I specifically look for them.

I agree with the sentiment, but want to point out that email can be used to turn push into pull, by auto-filtering the respective email notifications into a separate dedicated email folder, which you can choose to only look at when you want.

Nice! Finding new places to stick a Dillo into.