Last night I went to the the Free Software Foundation’s 30th birthday party. I got to hang out with a lot of old friends I hadn’t seen in a while, there was food, and I went home once again in possession of a Happy Hacking t-shirt that fits me. All in all, it was a good night. It was also the first time in a while that one of RMS’s speeches has really done much for me. Like most frequent public speakers, his talks can get a little repetitive. He also usually does something cringe-worthy at some point during the talk. I don’t think this speech was really that different, but I was in just the right spot for it.
Last week I wrote about how I’ve been dealing with pull requests on Github lately. The workflow in question isn’t really Github-specific, and would work just as well with a simple low tech, “Hey, I pushed some stuff to that repo over there, could you have a look and maybe merge it?”. As I mentioned though, I did this in the context of wanting to be able to accommodate other people’s expectations about how to submit a patch, and there are other workflows that solve the same problem, some of which I personally prefer.
The thing is, in this case meeting people’s expectations means further encouraging the use centralized, proprietary development tool, controlled and owned by one company. I’m not really okay with this. What’s more, it’s hard to come up with any justification for it other than meeting people’s expectations. It’s actually a pretty lousy tool, and there are plenty of other (often better) ones out there. It’s also built on top of Git, which is naturally distributed, so using a different site isn’t nearly as hard of a problem as it is with say Twitter or Facebook. So why have I been willing to put up with it thus far?
I’m realizing that what it comes down to is this: I have poor conflict resolution skills, and as a consequence have become used to just avoiding conflict. I’d already been starting to see how this was affecting other areas of my life, and planning to work on it. RMS’s speech last night, as usual, talked about willingness to stick to your principles, even when it’s inconvenient or makes working with others more difficult. A few things clicked in to place, and I’ve come to the conclusion that I need to start moving away from Github, at least as the canonical location for my code and bug trackers.
Exactly what form this will take still a little up in the air. I do have some git repositories on this server, but in spite of all the complaining I do about Github as a tool, there are some bits I would miss. I could move things over to Gitlab, but I’m less than thrilled with the enterprise edition thing, and I would like to host it myself. Ideally, I’d use something that would be relatively easy to set up, if for no other reason than because I’d like to have an answer for people who want to do something similar. I’ll figure it out as I go along.