A couple weeks ago I wrote a post that talked about wanting to switch away from Github. Since then, I’ve been thinking about exactly what it is I’d want in a replacement. From a user autonomy standpoint, here’s a list of things I think are really key:
- Can I move away without inconveniencing myself?
- Can I take my bugtracker/wiki/etc. with me?
- How much do other developers or myself have to care whose website a
repo is hosted on when wanting to contribute?
- Do I have to sign up for another account on each site?
- Can I submit “pull requests” (or equivalent) from a repository not hosted by the same provider?
The FSF recently published their own list, and I’m surprised to see none of these concerns listed there. I’m also surprised—particularly coming from them—that the server-side code be free software is so far down the list of criteria. I’m generally disappointed, but the full details are their own post.
From a technical standpoint, I have some more requirements:
- Bug tracker
- Supports a workflow both potential contributors and myself can deal with
- If I’m hosting it myself, the setup process should be reasonably straightforward.
I’m still bouncing around ideas. I’m considering switching over to Gitlab as a stopgap, but it actually falls flat on all of the user autonomy criteria. It gets points for being free software, but that doesn’t count for much when it fails to interoperate with other people’s instances of it. It’s also not Github, which gives it points just for not contributing to the network affect around Github. And of course, it does get the technical criteria right (assuming I’m using gitlab.com; I haven’t tried setting it up).
The other possibility I’ve been thinking about is a bit more invasive up front, and I worry it will raise the barrier to contribution too high: Fossil. It nails the first bullet point on user autonomy. It also hits at least the first and last technical bullet points. I haven’t really investigated everything else I’d need or want. The fact that it’s not Git isn’t a problem for me personally, but I am worried it may cause some friction with other developers.
I’m continuing to bounce around ideas. Once I’ve settled on something, I’ll no doubt write a post about it.