Bounty Program

From GnuCash
Revision as of 21:17, 5 May 2013 by Cstim (talk | contribs) (Eligible Tasks)
Jump to: navigation, search

This page collects ideas for a potential bounty program within GnuCash.

Goals

*DRAFT* The goal of the GnuCash Bounty Program "GCBoP" is to make good use of some of our available donation money, specifically for the following aspects:

  • Get some issues fixed that have been a pain for many users but somehow were not interesting enough for developers previously
  • Attract new contributors by rewarding them for working on those issues
  • Stimulate current contributors to take on issues that remain open for too long

Summary

*DRAFT* The GCBoP program puts a bounty on the completion of any of the tasks that are listed as Eligible Tasks below.

Some of the current developers will be act as Evaluators. As soon as some contributor sends in a patch that completes a task, one evaluator from our Pool of Evaluators will evaluate this contribution and decide whether a task is "done" so that the bounty is paid.

See How does it work? below for the full explanation of the program.

Eligible Tasks

Bugzilla

DRAFT The following items from Bugzilla are tasks whose completion will be rewarded by a $xx bounty:

  • 413494 Enable closing normally the application with kill -TERM
  • 514492 Win32: Crash when loading data file with invalid txn dates
  • 626970 Crash when saving a transaction whose destination account was deleted in the meantime
  • 651981 Crash on restarting GnuCash after renaming accounts/modifying account hierarchy while a report is open
  • 669964 Importing log file from a transaction that moves money between mutual funds creates a brokentransaction
  • 670264 GnuCash won't open on User Account of Installer
  • 672595 If the data file is not saved when the new file wizard terminates, no confirmation is issued if you exit gnucash
  • 678103 Crash when creating new invoice
  • 679126 "You must select an item from the list" when an item has been selected from the list
  • 691587 Crash while loading corrupted .gnucash/stylesheet-2.0
  • 697950 could not input in the "open" dialog when using postgres or mysql database
  • 699156 Preferences not responding

Criterion for choosing those tasks: They have severity CRITICAL and remained opened for quite some time already. FIXME: Please remove items if they are again in NEEDINFO mode!

Uservoice

DRAFT Also, the following items from http://gnucash.uservoice.com/ are tasks whose completion will be rewarded by a $xx bounty:

Criterion for choosing those tasks: Those are the Top Ten feature requests by count of the user's votes. And yes, they are not easy to do. That's the whole point of the GCBoP program.

Pool of Evaluators

*DRAFT* The following developers are available as evaluators to decide whether a task is done:

  • a
  • b
  • c
  • d
  • ...

How does it work?

*DRAFT* If you want to work on any of the eligible tasks, you can start right away by checking the information provided in the bugzilla item or uservoice item. Please make sure to work on the SVN "trunk" branch! Also, the page Development might be helpful for a start. If you have technical questions on the GnuCash code base, do not hesitate to ask on the gnucash-devel Mailing List. However, please keep in mind this is not a Google Summer of Code and there is probably no personal mentor available for you, but usually questions on gnucash-devel will get helpful answers.

*DRAFT* As soon as you have your first and/or final code patch ready, submit it to a bugzilla item as an "attachment". (If there isn't a bugzilla item available for a uservoice item, please create one.) One of the people from the pool of evaluators will respond to this item within 48 hours and give feedback whether the task is completed, or the task needs more work to be completed, or the evaluation takes slightly more time. If there isn't feedback on your contribution within 48 hours, feel free to ask on the gnucash-devel Mailing List.

*DRAFT* Once the evaluator decides the task is completed, the payment can be sent and we will contact you about the details. If the evaluator decides the task is not yet completed, more work is needed from you.

*DRAFT* The fine print: If you disagree with the evaluation and think your contribution does complete the task, you may request evaluation from a second evaluator of our pool of evaluators. Please indicate so on the respective bugzilla entry. If the second evaluator confirms the non-completion of the task, this is our final response and no bounty will be paid unless the additional work is done. If the second evaluator comes to a different conclusion than the first one, a third evaluator will be asked to look on the task as well. After the third evaluator gave his vote, the majority of those three votes are our final response.

*DRAFT* As soon as you start working on any of the tasks, we strongly encourage you to drop a short note in the respective bugzilla entry so that others are notified about your upcoming contribution. This is the best you can do to avoid unnecessary competition.