Idiomdrottning’s homepage

User/Dev dialectics in FOSS

Today’s example of dialectics is user/dev relationships in FOSS.

Let’s start by two ideas that, unless we’re careful, will contradict each other.

The two ideas

Testing and design is valuable

Finding issues and bugs, cooking up feature requests, is something that traditional software shops pay good money for.

Often in FOSS, users come with ideas for a user experience, a workflow, an interface, or a feature. A lot of the time the app is better off without that feature (keep it easy to use and focus) but sometimes there are some absolute gems in there that’ll set the app aside from everything else out there.

It’s heartbreaking to see these users shot down with an “Implement it yourself”, “Send a PR or STFU” etc.

FOSS devs don’t owe you anything

Every piece of FOSS is a precious gift.

Releasing software can’t come with a responsibility of having to be responsive, attentive, fix things, do more free work; we can’t disincentivize it. It’s gotta be OK to jam a few lines together and upload it and maybe it goes nowhere or maybe it gets picked up and loved.

The synthesis is respect

To bring these together we’ve got to respect each other. Mutual gratitude.

Devs, if you don’t have the spoons to implement a requested feature or even a bug fix, that’s OK. You don’t have to.

Just recognize that what seems like their whining is a contribution, an attempt to make the software better. Treat it like a patch; you don’t have to implement every patch especially if it still needs a lot of work to integrate or if it leads to a bloated and feature-creeped or misguided app. But, you recognize that the other person did put effort into contributing. They’re not here to harm you, they’re not “entitled beggars”, they’re contributors.

Users, you are not a customer. The devs aren’t obligated to fix it for you or even help you fix it. Working on this for you isn’t their job and they might be stressed up over their ears on other stuff. It’s a community project. Be considerate in how you engage.