Table of Contents
A quick start guide to contributing on Sahana
Welcome to the Sahana community! We have created this mini guide to help you get up to speed on Sahana and start contributing quickly and effectively in colloboration with the rest of the community. However it is completely open to feedback and if you have any thoughts on how to improve it just message it on the mailing lists.
Understand the Sahana vision
Before you start on the Sahana project, understand clearly what the project is about and what it strives to accomplish. You can find most of this in the Sahana Overview and objectives
Join the Community
Sahana is developed and guided by a large community of people from around the world, with diverse expertise. As everyone is in different timezones, the heart of this community is the mailing lists, so it is important for you to join it and actively participate in the discussion. The following mailing lists are a must:
- Sahana-user - This mailing list is users/administrators of Sahana to submit queries on any specific aspect of using, administrating and deploying Sahana.
- Humanitarian-ICT - This mailing list exists discuss the humanitarian and emergency management domain related requirements, problems and solutions. This list is for people who do not want to get involved with the technical details on humanitarian-ICT projects such as Sahana.
- Sahana-maindev - All Sahana contrinution related discussions happen on this list, weather it be technical design, coding, QA, documentation, deployment and geeky discussions (even Sahana T-Shirts!). really represent the project team mailing list. This thus represents the main Sahana project team mainling list.
Please read our mailing list policy and also this recommended read on mailing list etiquette.
Install the system and try it out
We recommend for all community members to try and install the system on their machines at least once, so that they can get a better understanding of how the system runs and can work. This is good experience to enable you to give us more constructive feedback.
- Installation guides for Sahana are provided for Windows XP,
Portable App (XP) . Linux and Max OS X .
- Understand the Sahana release conventions and what to expect by looking at the Sahana release process
Ways of contributing on Sahana
Development is not the only way to contribute on Sahana. Here are some other ways you can contribute your talents and become recognized for it in our community
- XHTML/CSS web design - We need help designing styles for both the Sahana application and our homepage
- QA and testing - The stability, usability of this codebase is high priority as it applies in a disaster scenario
- Localization - Translation of Sahana into another language
- Research - Looking into various technical areas (e.g. GIS) and informing the team of the best approach
- Helping us with logistics (e.g. website, hosting, etc)
- Writing user guides, demo and tutorials on using the Sahana system
- Promoting or writing press articles on Sahana
Tracking non development contributions
Unlike code the only way to keep track of non development contributions is for you to submit them to our contributions tracker. These will be accepted as a contribution by the core team based on the significance, completeness and relevance of the contribution. For acceptance make sure you contributions are deliverable and accomplishment focused. Subsequently you will have an “official” record of what non-development work you have done.
Becoming a developer on Sahana
Only read beyond this point if you are interested in becoming a developer on Sahana.
Understand the Free and Open Source developer ethic
Read the following:
- How to become a Hacker by Eric Raymond
Join the developer mailing lists
- sahana-maindev is where all technical discussions on Sahana take place
Download the sourcecode
Once you are committed to contribute
Sahana is built on the LAMP stack and most of the development is done in PHP. I would recommend the following steps to understand the technology:
- Review the documented design
- Look at the code to validate parts of the design. Check out the skel module which is a base reference implementation you can build upon.
- Read the development conventions and guides
- Register for a sourceforge ID if you have not done so already
- Mail us your sourceforge ID and how you feel you can contribute to “sahana @ opensource.lk” and we will add your ID to the project
- Check the bug tracker. If you are going to work on something new, you should still enter it into the tracker to keep everyone updated on what you are working on.
- Send us your patch to the main-dev mailing list and we will review it before committing it to the codebase. If you send us enough good patches we will put you on the committer list so that you can submit them to the BZR directly.
Becoming a Committer
Only once you have established through continious contribution that you can contribute significantly to the Sahana project following all it's conventions and aspirations will we nominate you to become a committer on the Sahana project which will give you direct access to submit code to our BZR repository.
Once you become a committer you need to understand the following: