Drew DeVault's Blog

The happinesses and stresses of full-time FOSS work

In the past few days, several free software maintainers have come out to discuss the stresses of their work. Though the timing was suggestive, my article last week on the philosophy of project governance was, at best, only tangentially related to this topic - I had been working on that article for a while. I do have some thoughts that I’d like to share about what kind of stresses I’ve dealt with as a FOSS maintainer, and how I’ve managed (or often mismanaged) it.

A philosophy of project governance

I’ve been in the maintainer role for dozens of projects for a while now, and have moderated my fair share of conflicts. I’ve also been on the other side, many times, as a minor contributor watching or participating in conflict within other projects. Over the years, I’ve developed an approach to project governance which I believe is lightweight, effective, and inclusive.

Status update, January 2020

I forgot to write this post this morning, and I’m on cup 3 of coffee while knee-deep in some arcane work with tarballs in Python. Forgive the brevity of this introduction. Let’s get right into the status update.

Following up on "Hello world"

This is a follow-up to my last article, Hello world, which is easily the most negatively received article I’ve written — a remarkable feat for someone who’s written as much flame bait as me. Naturally, the fault lies with the readers.

Hello world

Let’s say you ask your programming language to do the simplest possible task: print out “hello world”. Generally this takes two syscalls: write and exit. The following assembly program is the ideal Linux x86_64 program for this purpose. A perfect compiler would emit this hello world program for any language.

Managing my dotfiles as a git repository

There are many tools for managing your dotfiles - user-specific configuration files. GNU stow is an example. I’ve tried a few solutions over the years, but I settled on a very simple system several years ago which has served me very well in the time since: my $HOME is a git repository. This repository, in fact. This isn’t an original idea, but I’m not sure where I first heard it from either, and I’ve extended upon it somewhat since.

PinePhone review

tl;dr: Holy shit! This is the phone I have always wanted. I have never been this excited about the mobile sector before. However: the software side is totally absent — phone calls are very dubious, SMS is somewhat dubious, LTE requires some hacks, and everything will have to be written from the ground up.

Status update, December 2019

It’s December 15th and it still hasn’t snowed here. Why did I move to this godforsaken den of unholy heat and rain? I think I have chosen a latitude just southerly enough to deprive me of the climate I yearn for. I take some comfort in the knowledge that I’m travelling home to see the family in a couple of weeks, and sure enough Colorado has been covered in snow for some time now. Anyway, none of this is relevant to my work, which is what you came here for. Let’s take a look at this past month.

Developers shouldn't distribute their own software

An oft-heard complaint about Linux is that software distribution often takes several forms: a Windows version, a macOS version, and… a Debian version, an Ubuntu version, a Fedora version, a CentOS version, an openSUSE version… but these complaints miss the point. The true distributable form for Linux software, and rather for Unix software in general, is a .tar.gz file containing the source code.

Take action to save .org and prosecute those who sold out the internet

As many of you have no doubt heard, control of the .org registry has been sold to private interests. There have been attempts to call them to reason, like Save .ORG, but let’s be realistic: they knew what they’re doing is wrong, the whole time. If they were a commercial entity, our appeals would fall on deaf ears and that would be the end of it. But, they’re not a commercial entity - so our appeals may fall on deaf ears, but that doesn’t have to be the end of it.