The Arcology Garden

What is "Convivial Software"?


In conversation today I described nixpkgs as a "convival" of functional programming nerds – i meant convivial, but i don't know why i meant that.

In searching my memories and the internet's I found only mitcham2009.pdf which describes "Convival Software" as an extension of an idea from engineering ethics of a "convivial tool" which a community of individuals can opt in to adopting rather than having it forced on them. The paper's point is that the engineer is further and further removed from the end-user, but Free Software has the ability to invert this where the end-user can make fundamental decisions about the software, including to not change it.

Non-commercial Linux distributions are convivial software, they're assembled by their users, and actively court contribution from those users. They seek not only technical contributions but any labor is welcome as long as they shape the outcome in the direction the convivial wants. If the drift is too far for too many folks, software freedom ensures that both courses can flourish apart from each other. They don't have this sort of in-built stability, but certain incarnations of nixpkgs distributions could be considered much more stable, relatively, if you're not on unstable. and you can "hold certain applications back" or only use Unstable for some things.

I write more about this in Free Software as a Community of Mutual Aide, Sacha Chua writes about this in Why I love Free Software - Sacha Chua.

This comes in line with my thinking on software which is hard to recommend – a convivial occurs naturally not through marketing or evangelical force. I say "Hey Smell This", and you say "oddly, that smells great."