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."