1*dbb99499SAndroid Build Coastguard Worker# How to contribute # 2*dbb99499SAndroid Build Coastguard Worker 3*dbb99499SAndroid Build Coastguard WorkerWe'd love to accept your patches and contributions to this project. There are 4*dbb99499SAndroid Build Coastguard Workera just a few small guidelines you need to follow. 5*dbb99499SAndroid Build Coastguard Worker 6*dbb99499SAndroid Build Coastguard Worker 7*dbb99499SAndroid Build Coastguard Worker## Contributor License Agreement ## 8*dbb99499SAndroid Build Coastguard Worker 9*dbb99499SAndroid Build Coastguard WorkerContributions to any Google project must be accompanied by a Contributor 10*dbb99499SAndroid Build Coastguard WorkerLicense Agreement. This is not a copyright **assignment**, it simply gives 11*dbb99499SAndroid Build Coastguard WorkerGoogle permission to use and redistribute your contributions as part of the 12*dbb99499SAndroid Build Coastguard Workerproject. 13*dbb99499SAndroid Build Coastguard Worker 14*dbb99499SAndroid Build Coastguard Worker * If you are an individual writing original source code and you're sure you 15*dbb99499SAndroid Build Coastguard Worker own the intellectual property, then you'll need to sign an [individual 16*dbb99499SAndroid Build Coastguard Worker CLA][]. 17*dbb99499SAndroid Build Coastguard Worker 18*dbb99499SAndroid Build Coastguard Worker * If you work for a company that wants to allow you to contribute your work, 19*dbb99499SAndroid Build Coastguard Worker then you'll need to sign a [corporate CLA][]. 20*dbb99499SAndroid Build Coastguard Worker 21*dbb99499SAndroid Build Coastguard WorkerYou generally only need to submit a CLA once, so if you've already submitted 22*dbb99499SAndroid Build Coastguard Workerone (even if it was for a different project), you probably don't need to do it 23*dbb99499SAndroid Build Coastguard Workeragain. 24*dbb99499SAndroid Build Coastguard Worker 25*dbb99499SAndroid Build Coastguard Worker[individual CLA]: https://developers.google.com/open-source/cla/individual 26*dbb99499SAndroid Build Coastguard Worker[corporate CLA]: https://developers.google.com/open-source/cla/corporate 27*dbb99499SAndroid Build Coastguard Worker 28*dbb99499SAndroid Build Coastguard WorkerOnce your CLA is submitted (or if you already submitted one for 29*dbb99499SAndroid Build Coastguard Workeranother Google project), make a commit adding yourself to the 30*dbb99499SAndroid Build Coastguard Worker[AUTHORS][] and [CONTRIBUTORS][] files. This commit can be part 31*dbb99499SAndroid Build Coastguard Workerof your first [pull request][]. 32*dbb99499SAndroid Build Coastguard Worker 33*dbb99499SAndroid Build Coastguard Worker[AUTHORS]: AUTHORS 34*dbb99499SAndroid Build Coastguard Worker[CONTRIBUTORS]: CONTRIBUTORS 35*dbb99499SAndroid Build Coastguard Worker 36*dbb99499SAndroid Build Coastguard Worker 37*dbb99499SAndroid Build Coastguard Worker## Submitting a patch ## 38*dbb99499SAndroid Build Coastguard Worker 39*dbb99499SAndroid Build Coastguard Worker 1. It's generally best to start by opening a new issue describing the bug or 40*dbb99499SAndroid Build Coastguard Worker feature you're intending to fix. Even if you think it's relatively minor, 41*dbb99499SAndroid Build Coastguard Worker it's helpful to know what people are working on. Mention in the initial 42*dbb99499SAndroid Build Coastguard Worker issue that you are planning to work on that bug or feature so that it can 43*dbb99499SAndroid Build Coastguard Worker be assigned to you. 44*dbb99499SAndroid Build Coastguard Worker 45*dbb99499SAndroid Build Coastguard Worker 1. Follow the normal process of [forking][] the project, and setup a new 46*dbb99499SAndroid Build Coastguard Worker branch to work in. It's important that each group of changes be done in 47*dbb99499SAndroid Build Coastguard Worker separate branches in order to ensure that a pull request only includes the 48*dbb99499SAndroid Build Coastguard Worker commits related to that bug or feature. 49*dbb99499SAndroid Build Coastguard Worker 50*dbb99499SAndroid Build Coastguard Worker 1. Do your best to have [well-formed commit messages][] for each change. 51*dbb99499SAndroid Build Coastguard Worker This provides consistency throughout the project, and ensures that commit 52*dbb99499SAndroid Build Coastguard Worker messages are able to be formatted properly by various git tools. 53*dbb99499SAndroid Build Coastguard Worker 54*dbb99499SAndroid Build Coastguard Worker 1. Finally, push the commits to your fork and submit a [pull request][]. 55*dbb99499SAndroid Build Coastguard Worker 56*dbb99499SAndroid Build Coastguard Worker[forking]: https://help.github.com/articles/fork-a-repo 57*dbb99499SAndroid Build Coastguard Worker[well-formed commit messages]: http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html 58*dbb99499SAndroid Build Coastguard Worker[pull request]: https://help.github.com/articles/creating-a-pull-request 59