Open Source and Cross Goal Gamefleeting
During a discussion between someone adding an issue or a pull request and the maintainer.
- the maintainer’s goal is to improve the software,
- the issuers’s goal is to have per use case dealt with.
The game of cooperation here is to find actions that will move toward both goals at the same time.
If at some point the issuer finds a suitable workaround that does not need to improve the software, per will be no more incentivized to contribute.
Likewise, if at some point the maintainer realize that fixing the issue is not helping improve the software, per will be no more incentivized to help the issuer.
Of course, that does not mean that the issuer will never want to contribute to the software in that situation or that the maintainer wont help per. It just means that the reason why they would do this are not depending on their relation open source maintainer/contributer. For instance, the maintainer might genuinely want to help the issuer, or per might want to help someone to increase the popularity of the tool.
About the latter point, I think that most maintainers might think that improving the public image of the software entails increasing the amount of contributors and then increase the likelihood of good contributions and eventual quality of the software. I agree with this and that this nuance the previous claim. If this case, it means that the maintainer decided to use “improve the public image” as instrumental objective to reach the final objective of “improving the quality of the software”. This is a clever (IMHO) decision but not a compulsory one. Therefore, it does not contradict the claim if one only takes into account the final objective and makes no assumption about the instrumental goals taken to reach it. In other words, the objective of the issuer and the objective of the maintainer might be correlated in this situation.
There may be also some kind of cognitive bias making people that already contributed a small part to contribute more in a close future (théorie de l’engagement, pied dans la porte) and make maintainer help more than needed sometimes. But to be intellectually honest, I think we should realize this is likely not to have anything to do with some rational decision.
As a conclusion, I believe that
- maintainers should not expect issuers to help them improve the software more than needed to help them reach their goals,
- issuers should not expect the maintainer to help them improve the software more than required to reach their goals,
In both cases, I believe that they should respect and accept any reluctance to provide more than that (like writing some additional tests or documentation1).
I also believe that there is nothing wrong with asking this.
Notes linking here
I mean more than the ones specific to the issue or pull request↩︎