Dinner Party Software
I can’t remember where or when but I once was told an anecdote about economics and human perception that stuck with me. This is paraphrased somewhat so lets hope the original author forgives me. The story goes like this:
It’s fairly well known that if you’re lucky enough to be invited to someone’s house for a dinner party you should bring a bottle of wine. Your host has been kind enough to invite you and put in the work to prepare a meal and the wine is your way of showing thanks.
Depending on where you live, a bottle of somewhat decent wine might set you back around $25. Now a pure economist would say, rather than bringing wine, simply bring $25 in cash. You don’t know for sure what wine your host enjoys and you can save yourself the social embarrassment of picking a bad bottle by providing a cash payment.
I strongly recommend you never do this.
Despite being equal in value the two things are not equal in the way they are perceived. A bottle of wine is seen as a symbolic gesture of thanks. You both know it cost money but its not about the money. Cash on the other hand causes a dinner party to shift from a social gesture to an economic gesture.
A shift like that, especially without some prior agreement, has a good chance to be the catalyst for your name being taken off the list of future invitees.
What the story above tries to communicate is that not everything is a cash purchase. There are plenty of traditions and social rules that exist where value is exchanged but people don’t want the interaction to feel purely economic.
Amongst friends and colleagues this exchange can work. You all sort of know how much the wine costs and are fine with it being a proxy for a pure economic exchange. You’re unlikely to show up at your boss’s house with a $5 bottle of wine or a $5,000 bottle of wine when the expectation is $20.
This exchange is open to manipulation however when the social expectations are ill-defined. If you show up to the dinner party of a relative stranger you can bring any wine you want, especially when you don’t care about a repeat invitation.
This isn’t a post about dinner parties though, its about software. In particular open source software.
Open source software is the dinner party in this analogy. Somebody, or a group of somebodies, has put time and effort into developing some software. They’ve chosen to open source the software, adding anyone who is happy with the supplied license to the invite list.
With such an open invitation there’s little chance to form social expectations. There may be a core group of people close to the project or the open source community that know and maintain some expectations on remuneration. The software isn’t commercial but many projects these days have some mechanism to provide financial support for the ongoing work needed to keep projects going. These are often optional, much like bringing wine, but provide a way to ensure open source contributors aren’t starving themselves.
Unlike most dinner parties however, many open source projects have an infinite invitation list. Anyone can use the software and in many cases modify and redistribute the software without paying the original developers. This is intentional but it does open the door to abuse of this generosity.
Most open source projects don’t want to check the value of the metaphorical bottle of wine on entrance. They exist to give back to the world. Some projects are spun out from companies, in those cases developers are often compensated for their work on the project anyway. Others are individual labours of love. In these cases, developers work on these projects in their own time for the good of the community.
So what’s the solve? Should we kill this analogy and try and make open source more transactional? Personally, I don’t think so. There are plenty of ways to write commercial software and open source exists in intentional opposition to that fact. What we need to do is set and reinforce the social norm of supporting the people behind these projects.
That means finding whatever the open source bottle of wine looks like and make bringing one to the party a social norm. That’s not to say shame those who don’t bring wine but if providing support is the norm I think there will be a lot of projects, and developers that are better off as a result.