1*d353a188SXin Li# How to become a contributor and submit your own code 2*d353a188SXin Li 3*d353a188SXin Li## Contributor License Agreements 4*d353a188SXin Li 5*d353a188SXin LiWe'd love to accept your sample apps and patches! Before we can take them, we 6*d353a188SXin Lihave to jump a couple of legal hurdles. 7*d353a188SXin Li 8*d353a188SXin LiPlease fill out either the individual or corporate Contributor License Agreement 9*d353a188SXin Li(CLA). 10*d353a188SXin Li 11*d353a188SXin Li * If you are an individual writing original source code and you're sure you 12*d353a188SXin Li own the intellectual property, then you'll need to sign an [individual CLA] 13*d353a188SXin Li (http://code.google.com/legal/individual-cla-v1.0.html). 14*d353a188SXin Li * If you work for a company that wants to allow you to contribute your work, 15*d353a188SXin Li then you'll need to sign a [corporate CLA] 16*d353a188SXin Li (http://code.google.com/legal/corporate-cla-v1.0.html). 17*d353a188SXin Li 18*d353a188SXin LiFollow either of the two links above to access the appropriate CLA and 19*d353a188SXin Liinstructions for how to sign and return it. Once we receive it, we'll be able to 20*d353a188SXin Liaccept your pull requests. 21*d353a188SXin Li 22*d353a188SXin Li## Contributing a Patch 23*d353a188SXin Li 24*d353a188SXin Li1. Sign a Contributor License Agreement, if you have not yet done so (see 25*d353a188SXin Li details above). 26*d353a188SXin Li1. Create your change to the repo in question. 27*d353a188SXin Li * Fork the desired repo, develop and test your code changes. 28*d353a188SXin Li * Ensure that your code is clear and comprehensible. 29*d353a188SXin Li * Ensure that your code has an appropriate set of unit tests which all pass. 30*d353a188SXin Li1. Submit a pull request. 31*d353a188SXin Li1. The repo owner will review your request. If it is approved, the change will 32*d353a188SXin Li be merged. If it needs additional work, the repo owner will respond with 33*d353a188SXin Li useful comments. 34*d353a188SXin Li 35*d353a188SXin Li## Contributing a New Sample App 36*d353a188SXin Li 37*d353a188SXin Li1. Sign a Contributor License Agreement, if you have not yet done so (see 38*d353a188SXin Li details above). 39*d353a188SXin Li1. Create your own repo for your app following this naming convention: 40*d353a188SXin Li * mirror-{app-name}-{language or plaform} 41*d353a188SXin Li * apps: quickstart, photohunt-server, photohunt-client 42*d353a188SXin Li * example: mirror-quickstart-android 43*d353a188SXin Li * For multi-language apps, concatenate the primary languages like this: 44*d353a188SXin Li mirror-photohunt-server-java-python. 45*d353a188SXin Li 46*d353a188SXin Li1. Create your sample app in this repo. 47*d353a188SXin Li * Be sure to clone the README.md, CONTRIBUTING.md and LICENSE files from the 48*d353a188SXin Li googlecast repo. 49*d353a188SXin Li * Ensure that your code is clear and comprehensible. 50*d353a188SXin Li * Ensure that your code has an appropriate set of unit tests which all pass. 51*d353a188SXin Li * Instructional value is the top priority when evaluating new app proposals for 52*d353a188SXin Li this collection of repos. 53*d353a188SXin Li1. Submit a request to fork your repo in googlecast organization. 54*d353a188SXin Li1. The repo owner will review your request. If it is approved, the sample will 55*d353a188SXin Li be merged. If it needs additional work, the repo owner will respond with 56*d353a188SXin Li useful comments. 57