Designing a market to reduce software risk and compensate open source contributors
This talk covers a prototype solution to shortcomings in the current economic situation of open source software development, a system where neither developers nor users are satisfied. Developers face the risks of under-incentivization, leading to lack of sustainability of key projects. Meanwhile, users face the risks of missing or delayed features, bugs going un-fixed, and software projects going unmaintained.
This project is one of several recent attempts to improve transparency, incentivization, and sustainability in the production of software. I will demonstrate a trading market for futures contracts on the status of software issues. Users, who value secure software, can use tha market to predict outcomes and incentivize work to meet their software needs. Meanwhile, developers can strengthen collaboration and information sharing in open source software development.
Conventional open source bounty systems often fail to incentivize cooperative work, and in a lot of situations might incentivize un-cooperative behavior. For example, if a user finds a bug in a web application, and offers a bounty to fix it, the fix might require JavaScript and CSS work. A developer who fixes the JavaScript and gets stuck on the CSS might choose not to share partial work in order to contend for the entire bounty. Likewise, the developer who fixes the CSS part of the bug might get stuck on the JavaScript. If the two wanted to split the reward they would need to find, trust, and coordinate with each other.
With this new market design, the JavaScript developer is incentivized to cooperate by sharing work and writing up a good commit message explaining how their partial work made progress toward a fix, and the CSS developer is incentivized to take on the rest of the work.