Is crowdsourcing bug fixes the next big wave in quality assurance testing?
Learn how crowd sourcing can incentivize the development of bug fixes and new features for open source software.
A crowdsourced, open source funding model created by Bountysource promises to streamline the prioritization and funding for new features and bug fixes. This promises to make it easier for enterprises to guide the implementation of necessary improvements. Leading open source proponents like IBM, Facebook, and PagerDuty are taking advantage of this novel approach.
Bountysource is also being used by smaller companies focused on open source development. Elementary has been using the Bountysource marketplace to improve a Linux-based operating system called Elementary OS. Currently, the majority of the work being done on elementary OS is either volunteer or paid through bounties. Daniel Foré, Founder and Lead UX Designer for Elementary said, "We only have 2 employees, so Bountysource has been an essential tool for us in attracting talent and making sure some of the more difficult and less engaging work gets done."
Bountysource has been an essential tool for us in attracting talent.Daniel Foré, Founder at Elementary
Connecting issues with resolution
Bountysource standardizes the funding cycle and creates a vibrant marketplace of dialogue and collaboration between developers and backers. Developers can create bounties to resolve issues within any open-source project using issue trackers like GitHub, Bugzilla, Google Code, Jira, and LaunchPad.
The model incentivizes users to support their favorite open-source projects through monetary donations or completing bounties connected to a project. The company is also working with corporate sponsors, like Adobe and Uber, who have a vested interest in supporting open-source projects, which often serve as integral parts of a company's engineering infrastructure.
Elementary uses a milestone systems as part of their tooling in both GitHub and Launchpad. The company tracks issues to the next milestone and focuses on completing those first. Foré said, "It can often be difficult to make sure that volunteer developers are prioritizing issues tracked to milestones as opposed to the ones that interest them the most."
A recurring fundraising system called Salt has been established for Neovim and Elementary OS. This allows open source projects to set monthly funding targets, offer rewards, and collect pledges every month on a subscription basis. Foré said "The system can be compared to Patreon, but ours is focused on open-source and any funds raised can be used for bounties directly."
This has been immensely helpful in keeping volunteers focused on the issues targeted to milestones. This approach provides extra incentive for staying on task with developers largely made up of independent volunteers. The salt program has lead to a variety of improvement in Neovim, an update to the Vim programming environment. The goal is to refactor the Vim code to improve maintenance, expose a more powerful plugin system, and implement new features. This has allowed the implementation of a new API for managing multiple processes asynchronously and improved the infrastructure for functional testing.
Improving developer feedback
This approach has also improved the feedback from users of the Elementary OS. In the past, Elementary would start a bounty off and ask users to pitch in to reach funding goals. With the Salt integration, users have started to be more proactive about sharing what's important to them. Foré said, "I think the most surprising and actually exciting examples of this are bounties on little issues that slip through the cracks. We had two users recently place bounties on an issue where a feature wasn't reachable in an app under certain conditions. I think it's exciting that people can really become part of the QA process and make sure that edge cases are taken care of."
Informing users of a new program is just a start to creating engagement. One practice that has worked for Elementary has been to engage the community as much as possible. Foré explained, "Remind them that bounties exist and encourage them to make their own bounties. Sharing that bounties are available to be claimed has brought a lot of attention to our code, even when bounties aren't available anymore. So I think making a bounty program part of your social media presence has proven to be pretty essential."
Developer can also earn some large sums in response to important bounties. One developer has earned over $27,000 in 90-days on the system. But many of the developers are simply getting a side benefit from improving their favorite open source projects. Developers who solve issues they receive the full bounty amount, which can be used to create more bounties, donate to teams, or pledge fundraisers. A 10% fee is charged for cashing out. This approach allows developers to focus on the improvements they are good at, while encouraging others to develop different features.
"The open-source ecosystem significantly drives and enables tech innovation, yet too many projects languish for lack of support and the stigma of asking for money," said Warren Konkel, founder and CEO of Bountysource. "Bountysource hopes to change that by streamlining the funding process and building a community-based system that both supports developers and honors community participants."
What approaches have you tried for fixing issues or adding improvements to your favorite open source projects? Let us know.