Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »

What do you need to do in order to gain privileges to push code into Mifos version control?

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 CodeSubmissionProcess and not break the build
  • Follow builds on our continuous integration server so that you are aware if the build has been broken (committers, also see HowToBreakTheBuild)
  • 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 CodingStandards. 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 contributor agreement
  • Participate on the mifos-developer mailing list
  • Read AddingSoftwareToMifos before introducing dependencies on new third party libraries

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.

  • No labels