Bounties

OpenMRS developers interested in bounty opportunities, please read through this page, especially the section directed to developers considering bounties.

What is a bounty?

A bounty is a monetary reward for completing a project or task.  In most instances, a company or organization has a specific amount of money for a given task, lacks the internal programming resources to complete the task, and decides to allow anyone (including someone outside of their company or organization) to claim the money by completing the task.

Our Position on Bounties

We believe that bounties can be useful in specific circumstances, but are concerned that the use of bounties within the community could be poisonous to the community.  Hearing about studies that show developers who receive bounties for work on an open-source project tend to leave the project sooner makes us concerned that monetary rewards for work may not only erode the altruistic nature of our community, but also drive good developers away from OpenMRS.  On the other hand, we do not believe that a one-size-fits-all approach is fair either.  Therefore, we prefer to settle on a shared convention for how to share bounties within the community and try to improve those conventions over time as needed to best benefit the community (both developers and implementers).

We prefer that bounties be handled as follows:

  • Bounties should not be announced or negotiated in community forums.
  • We create this space for describing the complexities of bounties and our position on them along with any available bounties.

As a community, we need to be continuously re-evaluating ourselves and how we work.  To this end, if you feel that our position on bounties could be improved, please do not hesitate to suggest improvements.

Examples of Bounties

  • The Example Organization is using OpenMRS and is willing to pay $100 USD to anyone who fixes a specific ticket that they want fixed.
  • Company X announces that they will pay $250 USD to the first person who builds a module for them that meets their requirements.

Are bounties good or bad?

This is a tough question.  Bounties are not inherently bad: an organization gets their task done for a fixed amount of money and a willing programmer makes some extra cash... everybody wins, right?  It might be that simple in other environments; however, in the midst of an open-source community, driven by volunteer efforts, offering money for tasks can be more complicated.  For example, if you are a programmer looking at two tickets that are equally challenging for you, one of them has a reward of $50 USD for completion and the other does not, which ticket would you choose?  How would you feel if you completed the ticket with the reward and then found out that you weren't going to get the $50 after all?  How would you feel if you were part of a scrum and got assigned another ticket while someone else was assigned the ticket with the reward?  When mixing monetary rewards with the typical incentives of open-source volunteers, complications can arise and the purpose for contributing may change.  Bounties themselves may not be bad, but they may not be the best medicine for an open-source community.

Much of work done on open-source projects like OpenMRS is voluntary, meaning that people are doing work without monetary compensation.  Why would technically skilled people work on a task for free?

Understanding Motivation

Bounties use money to motivate people to solve a particular problem, but money is not the only way to motivate people.  Contrary to popular belief, money can only go so far in motivating people.  Daniel Pink provides a very insightful look into what motivates us.

  • Autonomy
  • Mastery
  • Purpose

Daniel Pink's research suggests that challenge & mastery along with making a contribution (like saving lives with code) are powerful motivators for open-source developers.  While someone offering a bounty may just want to get their task completed, it's important for the OpenMRS community to understand what motivates a community of volunteers, especially if introducing money might jeopardize the health of the community.

The challenge of bounties is when money become the purpose for doing work.

Alternatives to Bounties

"The challenge of bounties is when money becomes the purpose for doing work."

Bounties are often considered when monetary resources are available, programming resources are not available (internally), and the amount of money and/or the size of the task does not warrant hiring someone to complete it.  If you consider that bounties may be poisonous within an open-source community of volunteers, then you may want to consider alternatives.

  • Just ask.  Sometimes simply drawing attention to your needs may be enough.  If there's a ticket you would like to get done sooner than later, you might be able to get it done simply by drawing attention.  While pleas for help or complaints about tickets not getting attention may not motivate developers, consider these:
    • Helping to define the problem more clearly (write out requirements, clear up design questions, write out a recipe for replicating the bug, etc.).
    • Expressing the need in relevant terms (e.g., how will patients lives be helped?).
    • Getting the ticket(s) on the radar of an appropriate, upcoming sprint.
  • Collaboration.  Working together can be fun & rewarding, but it takes extra effort to coordinate.  You might be able to get your task done by helping coordinate developers to work together.  For example, a developer might be excited at the opportunity to interact directly with users within a developing country.  Giving developers the opportunity to create their own solution, a chance to demonstrate their skill by solving a problem, and the ability to more directly see the effect of their work on patient care in developing countries are all strong motivators.
  • Non-monetary rewards.  Could the developer who solves your particular task be a co-author on an upcoming paper?  Or be acknowledged in your organizations newsletter or on their website (or both)?  Can you express the benefits of the completed task in terms of patient lives improved/saved?
  • Internships.  Internships (like Google Summer of Code or the OpenMRS Internship Program) provide money for developers; however, internships provide the money in a substantively different way – the money is provided as a stipend to free the developers time while the work is undertaken.  There is a subtle yet important difference: the money is no longer the goal; rather, the task and the opportunity for mentorship are the goal.

If you are willing to consider options other than offering a bounty and have questions about how to proceed, please feel free to contact us so we can discuss alternative options, such as setting up an internship or finding other ways to fund developers that do not make money the purpose for the work.  Understanding how people are motivated (by autonomy, mastery, and purpose) may help you to think up other alternatives to a bounty.  If, in the end, you decide that you still want to offer a bounty, it's important for you to understand our position on bounties.

Our Position on Bounties

We believe that bounties can be useful in specific circumstances, but are concerned that the use of bounties within the community could be poisonous to the community.  Hearing about studies that show developers who receive bounties for work on an open-source project tend to leave the project sooner makes us concerned that monetary rewards for work may not only erode the altruistic nature of our community, but also drive good developers away from OpenMRS.  On the other hand, we do not believe that a one-size-fits-all approach is fair either.  Therefore, we prefer to settle on a shared convention for how to share bounties within the community and try to improve those conventions over time as needed to best benefit the community (both developers and implementers).

We prefer that bounties be handled as follows:

  • Bounties should not be announced or negotiated in community forums.
  • We create this space for describing the complexities of bounties and our position on them along with any available bounties.

As a community, we need to be continuously re-evaluating ourselves and how we work.  To this end, if you feel that our position on bounties could be improved, please do not hesitate to suggest improvements.

Do you want to offer a bounty?

We would ask that you respect the open-source volunteerism in the community and follow our conventions for offering bounties.

OpenMRS Bounty Conventions

  • While we recognize that there are cases where bounties are warranted, we would prefer not to risk having bounties adversely affect the altruistic and volunteer atmosphere within the OpenMRS community.
  • Please, do not post, discuss, or negotiate bounties within the OpenMRS community.
    • Bounties should not be offered within the ticketing system (JIRA)
    • Please do not advertise bounties within our wiki
    • Please avoid offering/discussing bounties on the mailing lists or in our IRC channel
  • Bounties for OpenMRS-related tasks should be handled through bounty-sites external to OpenMRS.  We provide a list of such sites below.

Developers considering bounties

You are welcome to browse the bounty sites mentioned below and follow-up on any that interest you.  Please do not negotiate bounties in the OpenMRS forums (e.g., mailing lists, IRC, etc.).  If you are a regular, volunteer contributor to OpenMRS, we would urge you to consider an internship or to look for bounties within other open-source projects, since we know that receiving bounties for work in OpenMRS may drive you away from OpenMRS in the future.

If you decide to pursue OpenMRS-related bounties, we hope that it won't adversely affect your perception of OpenMRS, our community, and your ability to save lives through writing code in the months and years to come.  Please refer to our bounty conventions above and the list of available bounty-sites below.

Available Bounty-Sites

If you are looking for bounties related to OpenMRS, you may want to search these resources.  We prefer not to handle bounties directly within the OpenMRS community for the reasons mentioned above.

If you are using a different bounty service for bounties, please let us know and we'll be happy to add their website to the list.  Please do not post bounties on this page or within the wiki (see our bounty conventions above).