Incentivize Open Source contributions through decentralized governance

How open and transparent web3 governance can help bolster community participation

Aitor Argomániz
Keyko
6 min readJan 29, 2021

--

Photo by Ilse Orsel on Unsplash

Open Source software represents a relatively new way of organizing the production of complex assets. This production is highly decentralized and collaborative, based in common problems and solutions put in place between loosely connected individuals and organizations.

The incentives of contributing to Open Source software have been broadly studied and documented in the last few years. Whether motivated by economic incentives or developer altruistism, contributions to projects come from individuals and corporations alike.

What’s not always so clear however, is how contributions to Open Source projects reward their community members beyond the typical recognition and reputation that contributions often bring about. It is also unclear how such contributions engender more important roles and responsibilities within those communities. In fact, it’s common in Open Source projects to see different kinds of meritocratic governance models.

Jim Whitehurst (IBM, RedHat) describes perfectly the concept of Meritocracy as the union of three basic notions:

  • The best ideas should come from anywhere. Arbitrary lines on a chart and artificial silos shouldn’t dictate how innovative ideas and solutions might (or might not) travel through an organization. Good ideas, no matter where they originate, should always find generous and interested ears.
  • The best ideas should always win. Debate over potential solutions, paths, or decisions should always be about ideas.
  • Contribution matters more than title. As people in open source communities often say: “Code talks.” What people actually do (what they contribute, what they bring to the table) matters more than what they say they can (or should) do, and it matters far more than whatever title they hold. While it’s true that people with long histories of concrete, effective solutions tend to garner more power and authority in meritocracies, this principle always underscores the fact that power is something earned, and is always shifting based on what people continually produce for the good of the group.

This post focuses on this last point and explores how community contributions can be materialized into tangible rewards, that empower and recognize contributors as core members of the community.

How can the Open Source contributions be measured?

There is no unique answer to this question. Indeed, different projects can have different objectives or metrics to evaluate contributions, but typically you will have:

  • Number of features, issues implemented or bugs resolved
  • Number of pull requests merged
  • Lines of code committed/deleted (actual code, documentation, translations, etc.)
  • Questions answered (discord, slack, github, etc.)
  • Events hosted or organized, etc.

In my opinion, it would be interesting to reward all of these individual contributions in a way that is accepted and relevant for each community — these rewards should in turn be open, transparent and agreed on upfront between community members. It is not necessarily helpful or important to discuss here what the individual value and reward for each contribution should be in this post, as this is up to each community to decide.

Community reputation was always critical

The Web 2 era brought us community participation. Social interactions in all their glory, complete with trolls and imperfections. One observation which can be made is that community reputation plays a big part in helping to moderate and motivate participation. Whether on Yelp, Reddit or StackOverflow, among others, reputation holders have been and still are proud of their status and the benefits or privileges that it brings to them.

As we said above, Open Source communities are also based on reputation in a more intangible way and are not so “score” oriented. Nevertheless, most recognized community members have a natural ability to influence projects because of their contribution history within that community. For new people joining the community it’s sometimes difficult to join an existing ecosystem with non-written rules. How decisions are taken is not always evident; who is taking these decisions is not always clear; why and how people became relevant in the community is not always easy to know upfront.

Photo by John Dancy on Unsplash

How can we make community reputation more open and transparent?

Openness and transparency can help to bring new people and organizations to join an existing community, the primary aim being to motivate and facilitate user adoption. For open source to work successfully, a clear agreement between community members about what is important and how others can collaborate is key. How contributions are rewarded can empower users and channel their contributions in a more democratic way, which in turn becomes an important pillar of community success.

On the other side of the galaxy, in the Web 3 space, open source projects have the possibility of giving some form of control to contributors in the form of governance tokens, which is becoming an increasingly popular form of recognizing and rewarding community members.

Holders of governance tokens are given the option to vote on certain aspects of how these networks work and evolve. As defined by Smith + Crown research group, a governance token confers the power to influence decisions concerning the core protocol, product or feature roadmap, hiring and staffing, and changes to governance parameters.

We spoke about this a couple of weeks ago, at Keyko when we helped Bancor to define and build their Governance Framework where the same principle was applied to promote open source contributions within their community.

Some possible steps to apply this framework are:

  • The project community decides what parameters the project needs to focus more. It can be code, community support, or anything that objectively the community decides on
  • These parameters can then be codified in a publicly available Smart Contract. An oracle (or a bunch of them) can fetch the required information (from github, discord, etc.) and put it on-chain
  • For all the contributions made and previously agreed by the community, the participants are rewarded with a predefined amount of a Community Contribution Token (or Governance Token)
  • When deciding on new features, next steps, etc. this contribution token can be used for voting, thus allowing for a more democratic open source process
The Governance Interface built by Keyko for Bancor’s network proposals

The same process can be used to govern the process itself :), allowing the evolution or tuning of the parameters used to promote community contributions.

Web 3 networks are demonstrating new ways of opening up the decision-making process within their communities. Participation mechanisms such as governance tokens allow for more open and transparent processes, whilst empowering the community and improving overall participation, reputation and reward mechanisms. which ultimately leads to more natural collaborative environments.

If you think this can be useful for you, drop us a line, we would love to hear about your current challenges and explore how we can help.

Keyko is a Web 3.0 solutions provider offering integrated decentralized solutions and advisory for enterprise and startups. We thrive on providing organizations and individuals insights into this emerging digital world where capitalism and ownership are being profoundly rethought.

If you would like to know more about our services or are interested in having a chat please reach out to us on info@keyko.io or visit our website here.

If you enjoyed this article let us know by clapping or leaving your comment below. Thanks to Jesse Steele and Don Gossen for the editorial contributions

--

--