Matching markets are markets where the allocation – i.e. who gets what – is not (completely) driven by price. A classical example is kidney exchanges. It’s illegal to buy a kidney, even if you want to. It’s impossible to donate yours if the recipient is not compatible, e.g. with your blood type.
Therefore, market design is crucial to optimize the number of “matches” in these markets. And this, often, implies coming up with “original” strategies. For instance, for our kidney donor problem above, a solution is to organize “paired donations”. In short, a chain of kidney exchanges where you give your kidney to a stranger so that the partner of that stranger donates his/hers to another stranger…. making sure your loved one will get hers too.
Alvin E. Roth shared the 2012 Nobel Memorial Prize in Economics for his research on this type of market. After reading his great book Who gets What and Why where he discusses what factors make these markets go well (or badly), I’m wondering how many of the ideas and strategies that work well for these markets could be brought to open source.
I do believe open source is a matching market. You cannot force anybody to work on your project (sure, putting money on the table may help but you will still need some convincing), even less to use your project. And conversely, you cannot force a project to integrate your contributions. Both sides (the project and the contributor/user) need to be a match. A complex problem, but one that it’s critical for the long-term sustainability of open source projects.
So, clearly, the more matches the better. I don’t have any magical recipe for increasing the number of matches but some clear lessons learned from the book could be easily applied. Right now, we need to worry about thickness (there is not enough potential contributors for the needs of the OSS projects). But if we reach enough thickness we will must worry about congestion, as any transaction / match is complex to agree on (compared to how easy it is to buy products in a supermarket).
IMHO, a key element in reducing both threats is better communication. Projects should do a better job in explaining what they need (no, an endless list of open issues is not enough) and the profiles they think could complement best the expertise already available for the project. Of course, this needs to be paired with transparent governance rules that help to convince the potential contributors that their work will be properly considered. And a public list of hopeful contributors stating their skills and what they look for in a project could be useful to find good project matches for them. Or, a contribution chain, similar to the kidney chain above, could also work: I help you with my backend skills, you help her with your frontend ones and she helps me with her scaling advice.
What other strategies can you think of? What initiatives in this direction have you already seen? (most I know are oriented towards getting funding for contributors, I’d love to know others that aim more at optimizing OSS under this matching market perspective!).