How to contribute

  1. Help to review and verify existing patches
  2. Make sure your issue is not all ready in the Jira issue tracker
  3. If not, create a ticket describing the change you're proposing in the Jira issue tracker
  4. Contribute your patch using one of the two methods below

Contributing via a patch

  1. Check out the latest version of the source code
  1. Modify the source to include the improvement/bugfix
  • Remember to provide tests for all submited changes
  • When bugfixing: add test that will isolate bug before applying change that fixes it
  • Verify that you follow Thrift Coding Standards (you can run ‘make style’, which ensures proper format for some languages)
  1. Create a patch from project root directory (e.g. you@dev:~/thrift $ ):
  • git diff > ../thrift-XXX-my-new-feature.patch
  1. Attach the newly generated patch to the issue
  2. Wait for other contributors or committers to review your new addition
  3. Wait for a committer to commit your patch

Contributing via GitHub pull requests

  1. Create a fork for http://github.com/apache/thrift
  2. Create a branch for your changes(best practice is issue as branch name, e.g. THRIFT-9999)
  3. Modify the source to include the improvement/bugfix
  • Remember to provide tests for all submited changes
  • When bugfixing: add test that will isolate bug before applying change that fixes it
  • Verify that you follow Thrift Coding Standards (you can run ‘make style’, which ensures proper format for some languages)
  • Verify that your change works on other platforms by adding a GitHub service hook to Travis CI and AppVeyor
  1. Commit and push changes to your branch (please use issue name and description as commit title, e.g. THRIFT-9999 make it perfect)
  2. Issue a pull request with the jira ticket number you are working on in it's name
  3. Wait for other contributors or committers to review your new addition
  4. Wait for a committer to commit your patch

More info

Plenty of information on why and how to contribute is available on the Apache Software Foundation (ASF) web site. In particular, we recommend the following: