Update the CONTRIBUTING document.
* Replaced the Contributor License Agreements section with the equivalent
section from TensorFlow.
* Added information about license and new files.
-# How to Contribute
+# Contributing
-We'd love to accept your patches and contributions to this project. There are
-just a few small guidelines you need to follow.
+## Contributor License Agreements
-## Contributor License Agreement
+We'd love to accept your patches! Before we can take them, we have to jump a
+couple of legal hurdles.
-Contributions to this project must be accompanied by a Contributor License
-Agreement. You (or your employer) retain the copyright to your contribution;
-this simply gives us permission to use and redistribute your contributions as
-part of the project. Head over to <https://cla.developers.google.com/> to see
-your current agreements on file or to sign a new one.
+Please fill out either the individual or corporate Contributor License Agreement
+(CLA).
-You generally only need to submit a CLA once, so if you've already submitted one
-(even if it was for a different project), you probably don't need to do it
-again.
+* If you are an individual writing original source code and you're sure you
+ own the intellectual property, then you'll need to sign an
+ [individual CLA](http://code.google.com/legal/individual-cla-v1.0.html).
+* If you work for a company that wants to allow you to contribute your work,
+ then you'll need to sign a
+ [corporate CLA](http://code.google.com/legal/corporate-cla-v1.0.html).
-## Code reviews
+Follow either of the two links above to access the appropriate CLA and
+instructions for how to sign and return it. Once we receive it, we'll be able to
+accept your pull requests.
-All submissions, including submissions by project members, require review. We
-use GitHub pull requests for this purpose. Consult
-[GitHub Help](https://help.github.com/articles/about-pull-requests/) for more
-information on using pull requests.
+***NOTE***: Only original source code from you and other people that have signed
+the CLA can be accepted into the main repository.
## Community Guidelines
This project follows
[Google's Open Source Community Guidelines](https://opensource.google.com/conduct/).
+## Code Reviews
+
+All submissions, including submissions by project members, require review. We
+use GitHub pull requests for this purpose. Consult
+[GitHub Help](https://help.github.com/articles/about-pull-requests/) for more
+information on using pull requests.
+
## Code Style, Guidelines, and Best Practices
### General Guidelines
@@ -36,6 +43,10 @@ This project follows
* Python code must support Python2 and Python3 usage.
+* Include a license at the top of new files.
+
+ * [Python license example](https://github.com/tensorflow/federated/blob/master/tensorflow_federated/python/__init__.py#L1)
+
* Generally, function names should be verbs, e.g. `to_var_dict` rather than
`var_dict`.
