Skip to content
This repository has been archived by the owner on Apr 30, 2020. It is now read-only.

Latest commit

 

History

History
51 lines (28 loc) · 4.04 KB

CONTRIBUTING.md

File metadata and controls

51 lines (28 loc) · 4.04 KB

Contributing code to ODK XLSForm.exe

This is a living document. If you see something that could be improved, edit this document and submit a pull request following the instructions below!

Submitting a pull request

To contribute code to ODK XLSForm.exe, you will need to open a pull request which will be reviewed by the community and then merged into the core project.

  1. Set up your development environment.

  2. To make sure you have the latest version of the code, set up this repository as a remote for your fork and then sync your fork.

  3. Create a branch for the code you will be writing:

     git checkout -b NAME_OF_YOUR_BRANCH
    
  4. If there is an issue corresponding to what you will work on, comment on it to say you are addressing it. If there is no issue yet, create one to provide background on the problem you are solving.

  5. Once you've made incremental progress towards you goal, commit your changes with a meaningful commit message. Use keywords for closing issues to refer to issues and have them automatically close when your changes are merged.

     git commit -m "Do a thing. Fix #1."
    
  6. Push changes to your fork to make them publicly available:

     git push
    
  7. When your changes are ready to be added to the core ODK XLSForm.exe project, open a pull request. Make sure to set the base fork to opendatakit/xlsform-windows. Describe your changes in the comment, refer to any relevant issues using keywords for closing issues and tag any person you think might need to know about the changes.

  8. Pull requests will be reviewed when committers have time. If you haven't received a review in 10 days, you may notify committers by putting @opendatakit/xlsform-windows in a comment.

Making sure your pull request is accepted

  1. Confirm that your code compiles.

  2. Verify the functionality. Ideally, include automated tests with each pull request. If that's not possible, describe in the pull request comment which cases you tried manually to confirm that your code works as expected.

  3. Make sure that there is an issue that corresponds to the pull request and that it has been discussed by the community as necessary.

  4. Keep your pull request focused on one narrow goal. This could mean addressing an issue with multiple, smaller pull requests. Small pull requests are easier to review and less likely to introduce bugs. If you would like to make stylistic changes to the code, create a separate pull request.

  5. Write clear code. Use descriptive names and create meaningful abstractions (methods, classes).

  6. Document your reasoning. Your commit messages should make it clear why each change has been made.

  7. Follow the guidelines below.

Style guidelines

For now, match the style of the code in the file you are editing.

Code from external sources

ODK XLSForm.exe is released under the Apache 2.0 license. Please make sure that any code you include is an OSI-approved permissive license. Please note that if no license is specified for a piece of code or if it has an incompatible license such as GPL, using it puts the project at legal risk.

Sites with compatible licenses (including StackOverflow) will sometimes provide exactly the code snippet needed to solve a problem. You are encouraged to use such snippets in ODK XLSForm.exe as long as you attribute them by including a direct link to the source. In addition to complying with the content license, this provides useful context for anyone reading the code.