Home > Developers > Technical Orientation > Commit Privileges Process
Document Actions

Commit Privileges Process

What do you need to do in order to gain commit privileges for Mifos?

The first requirement is to submit enough code for the Mifos team to evaluate your work.  This won't translate into some particular number of patches since some patches will contain more code than others.

Here are some things that we look for in patches we receive in order to decide if someone should get commit privileges and continue evaluating to determine is someone should retain commit privileges they have been granted.  Contributors should:

  • Follow the code submission process and not break the build. (see Code Submission Process)
  • Subscribe to the automated build reports so that you are aware if the build has been broken.  After you have commit privileges, then if you break the build (ie. the build fails after you commit changes) getting this notification allows you to fix the build promptly.
  • Write test driven code.  If you are fixing a bug, then there should be a test which demonstrates the bug.  If you are building new functionality, then there should be unit tests that exercise that functionality.
  • Work iteratively. If you are working on something that involves a significant amount of code, send it in multiple patches or commits as you complete parts of the work rather than one big piece when everything is done.
  • Not introduce new bugs.  Fixing a bug or adding a feature shouldn't break other functionality.
  • Follow the Mifos Coding Standards. Please make note of the Database Standards which require that schema changes be accompanied by appropriate automatic upgrade steps.
  • Demonstrate the ability to write clean code and apply good software design
  • Submit a committer agreement-- the agreement and instructions will be posted on mifos.org
  • Participate on the Mifos developer's mailing list.
  • Do not introduce dependencies on new third party libraries without consulting the developer list.
Mifos is a work in progress and current Mifos code is not always the best example of how code should be written.  When preparing to write code, it is always good to look at existing Mifos code and ask yourself if it can be improved rather than just following what has been done before.  If it seems like there is an improvement to be made, suggest it on the developer mailing list to get feedback.  Based on the feedback, then make your change and help to improve the Mifos code base.
last modified 2007-12-31 09:58
Grameen logo