Skip Navigation
73 comments
  • sourcehut. I like how it’s structured, where issue trackers, repos, and so on are independent of each other but can be grouped using a project, and you can have as many of each as you want or none at all. You should be able to have a huge monorepo with many issue trackers, or a single issue tracker for a project split across many repos if you want. GitHub doesn’t really allow you to do either, certainly not the former, and same with most of the alternatives. Everything else seems to clone GitHub’s workflow for contributions as well which I can’t stand (sourcehut uses git send-email as the primary contribution method — but there is also a GitHub style PR button —, which apart from the email jank I find much better because once it’s set up you can just send changes to any project with just a local clone; it also means you don’t even have to be registered on sourcehut to send changes to a project hosted there).

    I also self-host cgit I suppose but that’s not really a GitHub alternative.

  • For Darcs I have been using darcs hub & mirroring to my server. That said Smederee has slowly but surely been shaping up to be a better replacement (recently got reStructureText support!); once they have obliterate support, I will be tempted to make it primary for real since it covers all the basics.

    For Pijul, I can really only use it self-hosted over SSH. Nest is far too feature barren to be usable—especially without the ability to fetch tarballs for instance where you can’t have or use the pijul binary for fetching (which is a bit ironic since the Pijul binary has an archive to create tarballs, Nest just doesn’t expose it). Pijul is faster & the key concept of separating your commit ID from details (such as Darcs or Git using Name <e@mail.address> as the identifier) is much nicer not just for privacy if wanted but changing these details for whatever your reasons maybe (imagine changing your name after marriage or sex change & trying to convince all projects you’ve committed to to rewrite their history with your new info to not be confused or dead-named—most maintainers would ignore you). Someone should write a decent, lightweight forge so Pijul can be usable.

    I use Darcs/Pijul since Patch Theory is a better model than snapshot-based version control as seen in Git/Mercurial & others. Since neither have many hosting or forge options, there are not many choices (answering the “why?”).

    If using Git, an inferior VCS IMO, things are now going hosted on Codeberg. In the past, I had paid for SourceHut & while it was a generally nice, lightweight experience I was disappointed with the features & progress to the point I didn’t feel I was getting good value (also no Darcs or Pijul support, just Git & Mercurial). Since I don’t write any of my own code using Git anymore, I don’t really bother self-hosting cgit, Ayllu, or something. That said, Forgejo is a pretty disappointing in its direction as they choose to clone more features from MS GitHub than even Gitea which basically leaves you with MS GitHub but FOSS without addressing some core issues (PR workflow is not good, YAML-based CI is not good, & so on); a better sell IMO would be fundamental improvements on these old models/workflows that would inspire leaving for technical reasons instead of social/political/philosophical reasons.

  • As much as I hate GitHub, for in-person projects involving multiple people I usually end up having no choice since they usually think GitHub is the most important programming tool ever and nothing I do is going to convince them to create an account on something that's not GitHub.

    For personal stuff I use Forgejo and disable everything except the code view, so I have a quick way to show people stuff I'm doing (for career reasons).

    If I was doing a project with multiple people and actually got to chose the platform I would probably use Forgejo or Codeberg and make use of the project management features.

    Pijul looks interesting but the ecosystem is very lacking and it doesn't integrate well with Guix which I base a lot of my workflows around, so until this improves switching to pijul creates more problems than it fixes. The only other VCS and frontend I'm familiar with is GitLab which I don't use anymore self-hosted since Forgejo is more performant and the main version randomly deleted all my repos and changed all sorts of stuff.

    cgit also looks interesting, I might look into it.

  • I just self host gitolite. I wrote a script for archiving tagged versions to zip files as well as an optional parameter to pipe code into a markdown file and convert that to HTML for code i wish to show people. Everything else I do through the cli and have no use for a fancy UI.

  • I used GitLab for personal projects, and I use GitHub for contributing to other project

    GitLab is partially open source, GitLab can be self-hosted while GitHub does not

73 comments