> The places where I find the strongest form of reciprocity is when social norms heavily emphasize reciprocity and punish defectors

I think it is important to make a distinction between chosen reciprocity and expected reciprocity. Both are valid but come from different circumstances and motivation.

If you are an open source proponent, how did you become one? For me, it was growing up at a time when the vast majority of software that I needed was not free. Then the open source movement took hold and brought a wide choice of high quality free software in virtually every category. This was software you can trust more, learn from, and build upon because the source was available. And the developers have little or no expectation, it was free even though it could easily compete with proprietary options. This made a big impact on me and helped me recognize the value of open source.

Survival is not a relevant concern when it comes to open source. I'd wager that most people who advocate for it were impacted by a similar experience. Expected and transactional reciprocity is something that people are more likely to see as a burden. If you want to spread an idea, it's not a very effective approach. People generally recognize and appreciate a meaningful sacrifice for a good cause. Attaching strings makes the sacrifice confusing. In a pay it forward kind of system, chosen reciprocity sends a much clearer message. And that may not always be the intent, but it is effective either way.

Some people, maybe even the majority of people, may choose to use it without giving back. That is also a part of human instinct. As someone else mentioned, corporations that care only about profit will take advantage of the opportunity. But the beauty of software is that it can be copied at virtually no cost. You can write software for the positive impact and let the others do what they will do.

The distinction between chosen reciprocity and expected reciprocity is indeed one aspect of the concept, and they do indeed have generally different circumstances and motivation. I would add that chosen reciprocity has additional context here that also play a major role. Let make an example here.

Let say you are helping, for free, young adults/children to learn programming. You sacrifice time and energy for a good cause, and generally make the world a better place. No string attached, and no expectation for payment by those you help, a clear example of giving something away with no conditions or string attached.

Let now say that a for-profit tutoring company notice this and start to send their students to you. Instead of paying expensive teachers, they will use you as free labor and still demand payment from the parents. Does this change the context for your teaching? The parents, not knowing that you do this on your spare time for no pay, starts giving demands and expect you to behave as a paid employee, and do not recognize the sacrifice. Does it now mean something has changed, or are you still doing the exact same teaching to children as before?

I have seen multiple times when developers that release software under permissive licenses getting upset and stop developing when a for-profit company takes advantage of the fact that the license was permissive, breaking a social norm that has been created around the project. The permissive licenses only worked for those developers if everyone followed the social norm of reciprocity. How should such motivation be interpreted?