π Become a Contributor π¶
Background¶
HOT has a small tech team of motivated individuals that work to:
- Develop many different tools you can see in our Github organization
- Improve accessibility of humanitarian data to the wider community.
- Support field activities for data collection and analysis.
Being quite stretched, we rely heavily on the support of volunteers for all of the above activities!
Getting Started¶
We welcome and encourage contributors of all skill levels, and we are committed to making sure your participation is inclusive, enjoyable, and rewarding.
If you have never contributed to an open source project before, we are a good place to start, and we will make sure you are supported every step of the way.
If you have any questions, please ask our community π
What Can I Help With?¶
π§ͺ Testing¶
We warmly welcome your input in testing our tools and sharing your feedback.
This could be via either:
- User testing: please use our tools and inform us of any errors or issues you may encounter.
- Technical testing: if you are a software tester, then improvements to our automated testing suite would be greatly appreciated!
Feedback can be given either via the Github repository for the tool, or via our community discussion channels.
π¨βπ» Code¶
Contributing code is a certain way to benefit the team and the end-user communities of our tools!
Please browse our latest task boards, or Github issues, found on the Projects
section on this website.
A pull request (PR) can be used to solve existing issues on a repository π
If you are wondering where to start, you can filter by the good first issue label.
Skills with the following would be beneficial:
- Python
- FastAPI
- TypeScript / JavaScript
- React
- Docker
- CI/CD workflows
π Report bugs / suggest improvements¶
The issue queue for a tool on Github is the best way to get started here.
There are issue templates for BUGs and FEATURES that you can use, or you could also create your own.
π¬ Discussions π¬¶
Your input into the direction of the tool, features to include, or how they should be implemented are valuable.
Please use Github discussions or the community discussion channels to discuss topics and provide your insight.
π Report security vulnerabilities¶
Please inform a maintainer as soon as possible, including the CVE code.
Message via the HOTOSM Slack or direct email would be preferred, but via Github issue is also possible.
π How to get started¶
We have had a few people ask how they can get started on open-source projects.
A summarized brief workflow is:
- See an issue you want to work on.
- Comment on the issue to seek any clarifications if needed (the maintainer will provide further details as needed).
- (Optional) The maintainer can assign the issue to you if you like (for tracking / to indicate to others you are working on it).
- Fork the repo.
- Clone your fork to your machine and make a branch.
- Work on your branch.
- Test your changes locally.
- Push the fork to your repo.
- Go to Github and create a Pull Request against the original repo.
- Provide a description of what you did, what issue it related to, how to test it, and other relevant info (often there will be a template to follow).
- The maintainer reviews & comments where needed.
- (Optional) If changes / fixes are needed, then are made and push to the branch (the PR gets updated automatically).
- Changes get merged when ready & you are now officially a contributor!
ποΈ How Contributions Are Handled¶
There are two small things we ask, and neither one takes any rights away from you - you always keep the copyright to the code you write.
-
A one-time contribution agreement. The first time you open a pull request, a bot asks you to leave a short comment confirming you have read and agree to that repository's contribution guidelines. You only need to do this once per repository.
Please note that this is not a Contributor License Agreement in the usual sense: it does not assign your copyright to us, and it does not give anyone the right to re-license your work. It exists only to confirm you have read the guidelines, and to add a small barrier against automated bot / AI accounts, which we do not accept contributions from.
-
A sign-off on each commit (the DCO). See Commit Sign-Off (DCO) - a simple statement that you wrote the code and are happy for it to be included under the project's open license.
Together these keep the project's history clear about who wrote what, while keeping the code open and owned by the people who built it.
π€ Thank You¶
Thank you very much in advance for your contributions!!
Please ensure you refer to our Code of Conduct.
If you've read the guidelines, but are still not sure how to contribute on Github, please reach out to us via our Slack #geospatial-tech-and-innovation channel.