Open Source is, as many collective human endeavors, a bit of a mystery. The reason is because Open Source belongs to a particular kind of endeavor, one where many contributors act with selfless intentions which happen to coincide with the creation of products with extrinsic value. Open Source is an art and social work, while simultaneously the output is an actual commercially or pragmatically helpful end. This juxtaposition, particularly when plenty of the contributors do not necessarily get rewarded monetarily for their work, is jarring in a capitalist society so interested in the preservation of the self-interest. It being a matter of software development certainly doesn’t help with the tension, given how transportable the techniques are into ubiquitous and multi-billion dollar commodities.
Naturally, I am not a member of such a community. The sharp skills alongside the engineering spirit do not reside in me, but I can respect those who do possess the required passion for the medium. Nevertheless, the core question remains, a philosophical one at heart: why would someone in such a lucrative field lend their talents for (on average) no personal financial benefit? It may be reminiscent of something like the Prisoner’s Dilemma, where the best end result for everyone is mutual cooperation, but perhaps at the cost of one’s own interests. Yet, still, some would argue that the Prisoner’s Dilemma is solved by that very result: if all involved parties recognize that doing their small part, even at their expense, brings about the best outcome, they may actively choose to do so.
But then, why see the issue in this way? Why does the developer choose to align their interests with those of the crowd and value this final outcome? Sure, they will benefit from it too, but then how come it has to be particularly them? I believe that it comes down to two things: many of these people tend to be (1) problem-solvers and (2) part of said problem-solving community. Many have engineering backgrounds, hate when things work wrong and love when things work right. If there is a problem, and they can fix it, why not? It certainly helps when others benefit from their work, or they have historically benefited from the work of others.
It would be remiss to forget the pride that comes with significant contribution. In such tight-knit communities – where very few can truly recognize the worth of an ingenious solution – this effect is exacerbated. Appraisal is fantastic for all, but when it is genuine and emerges unprompted by peers regarding a material contribution, the sense of accomplishment is inevitable even for the most humble. This is not a selfish type of pride, but the pride that comes from being part of something positive, almost something bigger than yourself. Open Source is bound to feel this way because, as an internet project, it is an academic project in essence. It is a collaborative effort that would be otherwise impossible by a singular entity, and many of its applications – albeit, definitely not all – are for the benefit of the community.
However, I do not think every Open Source contributor has this moral dilemma before writing a line of code. As I said, sometimes it is as simple as wanting to be useful and fix something. But is that not the base of nigh all civilization?