bsdbox

sourcehut: open source software development platform

<2019-09-27>

With the ubiquity of Git, there's always the question of where do I host my code? Github is obviously the dominant domain for developers but I can understand the reluctance of many free and open source software proponents to use an entirely closed source system. And with the new owners, it's an even less appealing prospect—particularly for those who have been around a little longer than Gen Z. Sure, there's a surfeit of options but the majority are, for the most part, Github clones.

This is where sourcehut—heretofore known by its abridged moniker sr.ht—shines.

It provides all of what you'd expect—git repository hosting, bug tracking, wikis, the usual suspects—and so much more. It offers powerful continuous integration through a variety of virtualised builds including OpenBSD, which is super cool. Through YAML-based build manifests, a new environment can be deployed in seconds, with test automation running for every commit in your continuous integration workflow. But it's the impetus driving the entire ecosystem that makes sourcehut an attractive home for free and open source software developers. Particularly those with an affinity for correctness and security, which is why I feel it's perfectly suited for OpenBSD users.

It's modular and incredibly lightweight—seriously, most pages are less than 10 KiB. There is zero tracking, no JavaScript, and it employs an email-based workflow; paying homage to the history of mailing list development where hackers have collaborated on projects since time immemorial. There are sane defaults and enforced ettiquete such as plaintext emails only. As begriffs accurately described on lobste.rs, the sourcehut platform evinces the wisdom of the kernel hackers and the product is a real paradigm shift; enabling you to break out of the loop of Github emulation we've until now been experiencing.

Amazingly, this is all the work of one man, Drew DeVault, who built each web application that comprises the sourcehut software suite in Python with Flask. The modular design allows users to deploy whichever mini-service is needed, creating a more accessible and streamlined architecture that delivers as little or as much as the project necessitates.

The list of services and features is a veritable treasure trove for developers; like the Unix toolset, each utility is complementary but functionally independent. The underlying ethos is that of simplicity and correctness, with no regard for the meaningless—only substantive details matter. This manifests in a clean and minimal interface that is aesthetically pleasing but, more importantly, conducive for pain-free productivity.

In addition to Git, there's even first-class support for Mercurial, and you can completely self-host if you want to keep your code local. So whether you're looking for somewhere to simply host your code or deploy a CI build environment with complete support for a large-scale project and a team of devs, sr.ht is well-worth considering.

Tags: git vcs
send comments to mark AT jamsek DOT net

Generated by emacs org mode

Copyright © 2023 Mark Jamsek