Today I uploaded some of my repositories to sourcehut, mainly as an experiment to try out sourcehut.
The first experience was pretty smooth, and I really appreciate the option to get encrypted mail to a PGP key that I provide — why don't more companies have this?! I would have liked to turn on 2FA, but it doesn't have the option to generate backup codes, which is too scary for me.
The idea of sourcehut seems to be that you can group all the various things you need under one "project", which acts as a homepage to go to some repository, build, bug tracker, or mailing list. It's a good model.
One of my favourite things about sourcehut is the incredible speed that pages load at. GitHub is pretty speedy, but does take its time. In GitLab, every single action is painfully slow. sourcehut loads in a flash. According to one thing I read, and I hope I am remembering this correctly, the pages are on average 100 times smaller than GitLab's.
The only struggling point I had while using it was figuring out how to add another repository to the project. The different categories of things: repository, project page, whatever, are not very clearly labelled as belonging to that kind of page. If you go the project page, and then to the repo page, there's not a whole lot of difference to indicate which one you're on, and indeed the URL also looks identical at first glance, until you notice the
git. subdomain lurking at the front. This gave me a lot of confusion because I thought I was on the project page, and was looking for the option to add another repository that only exists on the project page, but I was actually on the repository page, so the option was nowhere to be found.
I think this could be improved by adding some obvious visual indicator as to which kind of page you're on, possibly by adding large black text in the top corner of the screen saying "project" or "repository" (no, the top bar highlighting "git" in a slightly darker text colour does not count!!!), or perhaps a change in colour scheme, like blue for projects and red for repositories, though of course this wouldn't be accessible for people with vision problems like blindness and colourblindness.
Aside from that it seems like a good platform to host code on. I'm especially interested by the promise of being able to SSH into the CI server and examine exactly what the problem is. I don't have many tests for my projects at the moment, but this would have definitely been useful for projects that I worked on in the past where builds failed mysteriously in CI, for example by having a different version of some dependency than the version on my desktop.
The pay to use model is interesting. I think it will work out well. If I actually started using sourcehut and its features as the main host for a project, I'd happily pay a couple of dollars per month to use it.
I think I'll just keep sourcehut as a mirror for now, but I'm excited to see what happens to it in the future, since currently it's in the alpha stage. I think it has a lot of potential to turn into an interesting and unique platform.