Contributions and reciprocity are praiseworthy of course, and we should all aspire to this. But that doesn't mean someone is ethically wrong for choosing to accept a gift freely given without giving one in return.
Because of the endless amount of expectations.
All cultures I'm familiar with recognize that someone who is well off taking advantage of a tragedy of the commons is unethical. The particulars vary by locale but my impression is that it is universal that the degree of condemnation increases the wealthier the person exploiting the system is.
When I accept a friend's hospitality and don't reciprocate, I am taking their time and resources. When I take five free samples at the store, I ruin it for others who come later.
When I download an open source GitHub repo, I am burning 1¢ of Microsoft's money.
Perhaps my definition is off? If so I would appreciate a pointer about the correct terminology.
I suppose it might be different in the case of a one-time fork. It still seems like there's an ethical obligation to contribute back if you are well off and you benefit from something. I think there's a meta, societal level tragedy of the commons to be found there. But if you aren't actively benefiting from maintenance efforts then perhaps it doesn't qualify as a direct tragedy of the commons.
If nobody pays for that cost, then the work will never get done in the first place, and we won't have these resources.
While the other examples seem good for illustrating the point, this one has it backwards I think. Microsoft worked very hard to be in this position. They did this on purpose and this aspect is essential to their success:
- GitHub did everything they could to capture the market by being free to use and by leveraging the network effect
- Microsoft bought GitHub at a point where it was already widely successful in this aspect, so they fully knew what they were buying
Capturing the whole open source market is part of their business model. I don't like they've done this and I don't get to choose where authors host their code. Even the authors themselves might not have felt free to choose something else because of the network effect. It's only fair Microsoft pays for the privilege. GitHub being free is a feature for Microsoft.
> When I accept a friend's hospitality and don't reciprocate
I came to realize that you don't need to return the favor specifically to the person who helped you. Things work as long as you help anybody. The loop will be closed by someone who will eventually help the person who helped you (or has in the past). Actually, it doesn't events need to be a loop. This is very powerful and quite relaxing because you can be chill both for helping and for receiving help, and it has the potential of working very well and be very enjoyable.
In short: take (from anybody) as long as yougive (to anybody)
(Of course, in a friendship, some reciprocity is necessary, if things only go one way, it doesn't work)
Another pithy way people express this is with "pay it forward" https://en.wikipedia.org/wiki/Pay_it_forward
Many cultures do in fact work that way. And while modern American culture views the idea of taking everything you can and only giving back what you are contractually forced to in a more positive light, the term freeloader still has negative connotations.
Your point about the gap between the words of a license and an ethical expectation is well taken. But why put that gap there at all? It's going out of your way to make sure that people have the choice to screw you.
That’s not a thing in American culture. Maybe you are referring the low trust culture of international commerce, which just happens to be centered in the US.
Not users, companies that make bilions. We call that shameless.
You need to make it about utility. Open sourcing some package or contributions to an existing package is giving you returns far beyond your investment. A community will help maintaining, improving, growing your code. Perhaps even competitors will chip in. (If they don't, well, their loss..) It's going to be a net positive.
Or you can charge money for your product.
> Use GPLv3 or AGPL then. If you want companies to "give back" when they use your code, put it in the licence.
Seems like a poor choice given that projects like MongoDB try out AGPL for this reason and then later switch to nonfree licenses like SSPL. OpenBSD is not interested in that—whether its attempts to raise funds through goodwill work out or not, OpenBSD will always be free software.
A moral people could operate communism successfully. Unfortunately, most people are not even remotely moral. Pragmatically moral (in plain view, but not behind closed doors), for sure, but innately good -- definitely not.
A company doesn't have ethics. It's sole purpose is to make a profit.
One of the primary outcomes that people want from corporate structures is profit, but that is not the structure's "sole purpose", either in law or practise.
Corporate structures can't have ethics because they are not people (legal constructions of "person" vs "natural person" notwithstanding).
https://www.nytimes.com/roomfordebate/2015/04/16/what-are-co...
https://www.forbes.com/sites/jerrybowyer/2017/04/25/what-mak...
https://money.usnews.com/investing/articles/public-benefit-c...