Contributing forward
“Contributing back” was once for me the phrase that packaged up practical engagement with open source projects. It signalled a readiness to participate, it implied a material contribution, and carried with it the healthy sense that one’s efforts were part of a broader whole.
In the last few years I’ve come to a more nuanced view. I’ve seen “contribute back” often mean that a body of code will simply be handed off or posted in a repository once completed to private satisfaction. No matter the generosity with which it’s offered (which I couldn’t doubt – I know it’s a non-trivial amount of effort to even get to the point where things could be handed off), the practical constraints on rethinking or continuing to develop the work effectively amount to a take-it-or-leave-it state. “Contributing back” can lead to a result something like that of software companies that try to suddenly open source products that have long been proprietary.
I wasn’t a great fan of the excesses of the “Pay it Forward” movement a decade or so back, but flipping the preposition offers a clarity worth braving the association. Open source contributions count for more if they’re thinking ahead about how they fit in, or even better, if they’re leading (and communicating) with the general problem of which their particular itch is one variant. The potential benefit is not simply that it’s a more selfless community spirit, but also that the solution will likely be sounder, longer-lived, and one is far less likely to be stuck with a brittle maintenance burden. Contribute forward.