In No Free Features, Alan Gibson writes:

I look forward to a day when asking anyone to do unpaid labor is considered unethical by our industry. That goes for feature requests on open source projects, on unpaid internships, and on unpaid 'take home' interview assignments.

Requesting work in an economic context without offering compensation in some form is morally indefensible. It's wrong because unpaid labor is wrong. It's wrong because presuming on anyone's helpful nature is wrong. We shouldn't be using bounties to move our change requests to the head of the line because we shouldn't even be making requests without a bounty attached.

This is an attempt to change open source norms, and I don't think it's a good one. While I'm sure there are some open source developers who see feature requests as a burden, lots of us just want to make useful software. If someone lets me know about a way that icdiff, or anything else I've written could be better, I'm happy to hear it.

I'm not always up for implementing changes, in which case I'll typically say whether a PR implementing the feature would be welcome. I set boundaries, and do only the work I want to do. I think some of this is an ask/guess (more) divide, where I would like people to feel free to ask for features, while Gibson would like people to only ask for features if they expect the request would be welcome (making up the difference with money if need be). Open source has traditionally been a very explicit ask-y place, however, and I think these norms have generally served the community well.

Another place where we disagree is that Gibson sees a feature request as a favor request: no benefit to the author/maintainer, only a benefit to the requester. My projects are open source, however, because I want them to be useful; I like making things, I want them to be good, I want them to meet people's needs. When someone gives me a feature request, that's often a good idea about how the software can be better. Even feature requests I don't pursue can be useful in letting others know that there's interest. If people felt that it was unethical to file feature requests without offering payment, most people would stay quiet about their ideas for improvement and we would all miss out.

Even after a good bit of back and forth with Gibson I also don't understand how their moral claims about unpaid labor interact with open source in general. Open source is full of unpaid labor, in coding, documentation, handling bug reports, questions, and, yes, feature requests. They draw a strong line between feature requests, which they argue should be accompanied by an offer of payment, and bug reports, which don't require one, but I don't see that line. Both of them involve, in a sense, requesting work from the author to solve a problem that the user is running into. Yes, you can ask for a feature that would help only you, but you can also file a bug for an issue that's only coming up because of your strange choices.

I think this may be partly a reaction to entitled requests: people who think that because you wrote some software and offered it for anyone to use, you have a responsibility to support them in their use or add features they need. I entirely agree that dealing with entitled people is no fun! But I think we should push back against rude requests, not re-categorize all requests as rude.

(Expanded from a discussion in the HN comments on his post.)

Comment via: facebook

New Comment
1 comment, sorted by Click to highlight new comments since:

I agree with your take.

I think Gibson's stance is coming from the same place as anger or outrage over big profitable businesses using open source software without financially contributing to its development or maintenance. This is very understandable! And I suspect what they really want is not financial assistance ongoing as much as a reward for the prior work.

A blanket ban on asking for unpaid labor, i.e. asking for volunteers, seems ... ridiculously excessive? It's hard to know exactly how they'd imagine that ban working in practice (even if it's only enforced by social norms).

I suspect open source might effectively be something like a workaround for the practical difficulties of paying for software.

It's easy enough (if expensive!) to pay a programmer or a team of them for some purpose, e.g. writing or maintaining software. It's much harder to succeed at the larger purpose, or even the instrumental purpose of writing correct-enough software, let alone to do either for a long time.

To then add on the top of all of that some kind of piecemeal each-feature-is-a-contract financing/purchasing seems like it would almost inevitably cause the relevant transaction costs to explode! How would they be billed? A flat rate set by the developer or maintainer? Surely the benevolent dictator, or oligarchy, or whatever, would receive the money but also be obligated to give or share some of any payments with the individual contributors that actually write or modify the relevant code, right? That seems like something that would very quickly become awful, especially for the median open source developer/maintainer/contributor.

The workaround then – to avoid basically being required to become a software company – is for people to write whatever code they want to write, share it with whomever they want, and cooperate or coordinate with whomever else is also willing. Adding some money – possibly; subject to (inevitable) dispute! – seems likely to be strictly worse than working for free, or for a software company.

The somewhat viable middle ground is, e.g. Patreon, a simple regular (ideally, recurring) transfer or payment to someone or some team for their prior work on ongoing efforts.