Masterminds,
The past year we have learned a lot of lessons on how to develop a decentralized protocol, how to engage core developers and how to offer bounties to encourage development of an open source project. Below I’ve outlined those lessons so that the whole decentralized community can benefit from them and that the MSC community specifically knows the direction the Foundation is headed with its bounty system.
TL;DR Lessons:
1. Empower the developers most heavily involved in the development of the platform.
2. Sponsor developers most involved, to be able to work full time on the clients.
3. Organize developers into teams with daily standup meetings, so that they are in constant communication.
4. Designate a single reference implementation for each use case (eg. designating “MasterCore” as the downloadable client and “OmniWallet” as the web wallet) and focus a single team dedicated to each implementation.
5. Set up specific bounties, narrowly defined, and with short timelines of two weeks or less.
6. Have those most involved in development define the specific bounties and judge their value.
MSC History:
At first, the Foundation started with a very loose approach of offering very generalized bounties for what ever developers came up with when it came to creating wallets, clients and building features listed in the protocol.
Over time it became clear that those contributing the most useful code were those focusing their time and efforts on the MSC platform and fully aware of the context and progress of development. The Foundation began sponsoring full time developers as part of its “Role Based Bounty” program. This program expanded over time from a few developers to its current size of 12 full time developers being sponsored.
At the same time generalized bounties continued to allow independent developers to contribute code and be rewarded at the end of each month, based on rankings from the other developers.
However this process has become tougher over time as the teams grew and developers had less visibility into projects outside of their team and even less insight into independent efforts. Also, without clearly defined bounties, the independent efforts of developers were uncoordinated, fragmented and difficult to integrate into the features of the clients.
Bounties Moving Forward:
1. The Foundation will no longer be engaging developers on a part time basis. Engaging team members full time has proven to be much more effective, as this enabled team members to be fully in sync, and drive the pace of feature development forward.
2. Starting September 1st, the Foundation will be phasing out generalized bounties and instead only listing specified, narrowly defined, and short term bounties, which will be judged by the developers most involved in that area of development. These bounties will be posted and shared with the community and serve as the open door, for new developers to prove their skills and the community to provide input on the direction of the MSC platform.
I’m confident in our team and I believe these reforms to the MSC Foundation’s bounty system, will empower their development efforts going forward.
Best Regards,
David A. Johnston
Chairman of the Board of the MSC Foundation
David (at) Mastercoin.org
Thanks for your careful attention to this David. I’ve been so pleased at how carefully you have analyzed each aspect of our project, and recommended appropriate changes. I really feel you understand the project thoroughly and what we need to be doing!
David, in a new project, would also recommend this updated method? Or you would suggest two (or more) stages with different bounty schemes. For example, initially, having a large bounty for a lofty goal (create a wallet) may have been a good way to spike interest. Also, in a new dapp developers may not know upfront whether they would want to commit full time and having smaller projects to have them try their hand at and see if they fit the team, seems good.