diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 69188d71f..e3a33aa60 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -7,18 +7,65 @@ before making a change. Please note we have a code of conduct, please follow it in all your interactions with the project. -## Pull Request Process - -1. Ensure any install or build dependencies are removed before the end of the - layer when doing a build. -2. Update the README.md docs with details of changes to API, behaviour, - features, or usage. Include useful file locations and relevant documentation. -3. Ensure you have signed the Contributor License Agreement available from - hobbes-dev [at] morganstanley.com -4. You may merge the Pull Request in once the build has passed and you have the - sign-off of one other developer, or if you do not have permission to do that, - you may request the reviewer to merge it for you. - +## Before your first pull request + +If you have not previously contributed to the project, +you must first create a *Developer Certificate of Origin* (“DCO”) and include a +reference to this DCO in each of your commits. In addition, if you subsequently +wish to contribute code having a different copyright ownership, then you must create +a new DCO for such contribution. + +To create a DCO please follow these steps: + +1. For code you are contributing, determine who is/are the copyright owner(s). +Please note that your employer may own the copyright in code you have written even +where the code was not created during regular working hours. Copyright law is +variable from jurisdiction to jurisdiction. Accordingly, consult your employer +or a lawyer if you are not sure. +2. Fill out the [DCO] replacing all `<>` terms as appropriate, and place the +completed DCO in a file under `dco/` or if you are not the copyright +holder then in a file under `dco/-`. + 1. Please note that the name you provide (``) must be your real + (legal) name; we will not accept aliases, pseudonyms or anonymous + contributions. + 1. If you’ve determined that the copyright holder of the code that you’ve + written is an entity other than yourself (e.g., your employer), then + include the legal name of the copyright holder(s) (``). + You must ensure that you are authorized by the copyright holder(s) to be able + to grant the licenses under the DCO for the purpose of contributing to the + project. Negotiating such authorization and administering the terms is + entirely between you and the copyright holder(s). +3. Issue a pull request with the DCO. + +## Pull request process + +When you create a pull request, follow these steps: + +1. Your commit message for the code you are submitting must include a +`“Covered by “` line which indicates your acceptance of the DCO terms and conditions. +`` here is the file name of the DCO. +2. Your commit must include a change to the `NOTICE.txt` file that contains complete +details of any applicable copyright notice for your submission and including any +applicable third party license(s) or other restrictions associated with any part +of your contribution, and of all matters required to be disclosed under such third +party license(s) (such as any applicable copyright, patent, trademark, and attribution +notices, and any notices relating to modifications made to open source software). +Note your contribution must retain all applicable copyright, patent, trademark and +attribution notices. + +## Pull request guidelines + +* Update the `README.md` docs with details of changes to API, behaviour, features, or usage. +Include useful file locations and relevant documentation. +* Update an existing or add a new testcase for your change. +* Ensure any install or build artefacts are removed from the pull request. +* We generally prefer squashed commits, unless multi-commits add clarity or are +required for mixed copyright commits. +* You may merge the Pull Request in once the build has passed and you have the sign-off +of one other developer, or if you do not have permission to do that, you may request the +reviewer to merge it for you. + + ## Code of Conduct ### Our Pledge @@ -93,4 +140,5 @@ version 1.4, available at [http://contributor-covenant.org/version/1/4][version] [homepage]: http://contributor-covenant.org [version]: http://contributor-covenant.org/version/1/4/ +[DCO]: dco/dco_template.md diff --git a/NOTICE.md b/NOTICE.md new file mode 100644 index 000000000..f37b62b65 --- /dev/null +++ b/NOTICE.md @@ -0,0 +1,6 @@ + +Copyright 2017 Morgan Stanley. + +This product includes software developed at Morgan Stanley (http://www.morganstanley.com). + + diff --git a/dco/dco_template.md b/dco/dco_template.md new file mode 100644 index 000000000..9d7664fcf --- /dev/null +++ b/dco/dco_template.md @@ -0,0 +1,74 @@ +# DEVELOPER CERTIFICATE OF ORIGIN + +Thank you for your interest in the open source software project(s) (the “Project”) maintained or managed by +Morgan Stanley Services Group Inc. (“us” or “we”). The purpose of this Developer Certificate of Origin (the “DCO” or +“Agreement”) is to define the intellectual property license granted by persons or entities that make Contributions +(defined below) to the Project. You, **``**, agree and certify as set forth in this Agreement. You may be +contacted at **``**. + +By submitting a Contribution, including but not limited to by pull request, you agree that you have read and +understood this Agreement and you will be legally bound thereby. In consideration of the opportunity to +participate in the community of Project contributors, you hereby agree to the following terms and conditions in +connection with your present and future Contributions: + +1. **Contributions:** + * The term “Contribution” means any source code, object code, patch, tool, sample, graphic, specification, + manual, documentation, or any other material submitted by you to the Project. + * A Contribution is “submitted” when any form of electronic, verbal, or written communication is sent to the + Project, including but not limited to communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the Project for the purpose of discussing or + improving software or documentation of the Project (“Communication”). + * Each Communication that is conspicuously marked or designated by you in writing as “Not a Contribution” will + not be considered a Contribution. + * Any Contribution submitted by you to the Project will be under the terms and conditions of this Agreement + without any additional terms or conditions. + +2. **Grant of License:** You hereby grant us and our affiliates, for purposes of the Project, and to recipients of +software distributed by the Project: + * a perpetual, irrevocable, non-exclusive, worldwide, fully paid-up, royalty-free, unrestricted license to + exercise all rights (including sublicensing and commercial exploitation) under all worldwide copyrights, + copyright applications and registrations in the Contribution; and + * a perpetual, irrevocable, non-exclusive, worldwide, full paid-up, royalty-free patent license to make, + have made, use, offer to sell, sell, import, and otherwise transfer your Contribution and derivative works + thereof, where such license applies only to those patent claims licensable by you or your affiliates that + are necessarily infringed by your Contribution alone or by combination of your Contribution with the Project + to which you submitted the Contribution. + +3. **Ownership:** + * Except as set out above, you keep all right, title and interest in your Contribution. + * You represent that: + 1. you are the owner of the Contribution or are otherwise legally entitled to grant the above licenses; + 1. if any third party, including your employer and/or its affiliates, has rights to any intellectual + property included in your Contribution, then (i) each such third party has provided you written permission + to make the Contribution as specified herein or a written waiver of such rights in and to your Contribution, + **`[and (ii) such third party(ies) is/are ]`**; + 1. your Contribution is an original work created by you, and except for third parties who have given + permission to make the Contribution as set forth above, to your knowledge, no other person or entity has + claimed, claims, or has the right to claim any right whatsoever in the Contribution; and + 1. your Contribution includes complete details of any third party license(s) or other restriction(s) + (including, but not limited to, related copyrights, patents and trademarks) of which you are aware and + which are associated with any part of your Contribution, and of all matters required to be disclosed under + such third party licenses (such as all applicable copyright, patent, trademark and attribution notices, and + all modifications made to certain open source software). + +4. **Notice; Inclusion; No Confidentiality:** + * You agree to notify us of any facts or circumstances of which you become aware that would make these + representations inaccurate in any respect. Notices and other communications to be sent as directed in the + applicable Project + * Neither we nor the Project is under any obligation to accept and include your Contribution, or to return it to you. + * You will not, absent a separate written agreement signed by us, impose any confidentiality obligations + on us, and we have not undertaken any obligation to treat any Contributions or other information you have + or will give us as confidential or proprietary information. + * You understand and agree that all Contributions including all personal information you submit with it may + be maintained indefinitely and may be redistributed consistent with the applicable open source license(s). + +5. **Effective Date:** The rights that you grant to us under these terms are effective on the date you first +submit a Contribution to us, even if your submission took place before the date you accept the terms of this Agreement. + +6. **Governing Law; Entire Agreement:** This Agreement is governed by the laws of the State of New York, +without regard to its choice of law provisions, and by the laws of the United States. This Agreement sets +forth the entire understanding and agreement between the parties, and supersedes any previous communications, +representations or agreements, whether oral or written, regarding the subject matter herein. No alteration, waiver, +amendment, change or supplement hereto shall be binding or effective unless the same is set forth in writing +signed by both parties. We may freely assign our rights or obligations under this Agreement. +