When I mentioned making compromises, one of them had to do with how I host git repositories. I spent the day cleaning up my repos, and here are some of the decisions I made.
I use git for version control, and I like having my repositories hosted online and mostly in public. In theory I like collaborating with others, and have contributed to more than a few projects, mostly for fixing typos and added licenses to them. However, the bulk of my work is done alone.
GitHub is a neat website for hosting git repos, but a bad company for various reasons including lack of software freedom and harassment. Gitorious is okay software that has a prominent instance for hosting free software projects, but has quirks that irritate me, on top of being very hard for me to install. A couple years ago I settled on using GitLab, which was a good balance between GitHub and Gitorious, and I ran a useful instance at https://allthecod.es.
Trouble with it began when the development team started documenting their enterprise version of GitLab, and while the different versions do not affect me personally, I am dismayed by the spirit of licensing the version differently. There is no evidence that they are more financially successful this way, but it does change how folks are able to use it.
I documented this all in T9, where I researched alternatives and didn’t find anything that would be easier for me. It got worst when GitLab created an omnibus version that didn’t have a supported upgrade path for my version, and I haven’t updated it in about six months as of this writing. It has become a cognitive and technical drain on me, because I keep my overhead low and all my code lives in this space.
Having to do something, I assessed how the site was being used, and what my needs were. When I started allthecodes it was to create a safe space for others to use as git hosting, that wasn’t influenced by making a profit. And it was used by more people than I personally invited, though only a dozen folks, and I never really asked anyone to join. My plans to mentor folks and teach them git hasn’t panned out, and hosting a site for others to use isn’t as important.
I also needed private repos, though not for the same reason most people need them I think. Most of what I do is free software, and sharing how I do something is easy by hosting it in public. But there are some thing that I do for clients, like asset management where all the images are logos of corporate sponsors, which need to be kept private.
I did one more round of research into hosting a bunch of different git web interfaces, but none of them were easy for me, and GitLab by far had the best workflow and UI for how I use it. All these things together led me to rent a GitLab instance from GitHost.
I hadn’t considered it before because I wanted more control, but that control comes with a price in time and effort that I can’t afford. And since I essentially use the instance by myself and I don’t kept any sensitive info in it, it made sense. It still feels crappy, because I am very into self-hosting, but with the current state of self-hosted git web apps, this is the best match for me.
On a silly note, the new domain is https://allthe.codes (the dot moved over two spaces), and today I moved 49 repos to it, and dozens more to various GitHub orgs run by past clients. If they choose to use GitHub, whatevs, not my problem.
And that is the larger lesson here: it isn’t my problem. I’ve been trying to fix so many parts of web, and remain “pure” while doing it, that my own productivity was being hampered. The compromises I make will hardly show up on most folks’ radar (how is someone else hosting my repos in dual-licensed software different from me doing the same for you?). But they are big steps for me, and I intend to continue this purge until I can create again, instead of just holding together my slice of the web.