Skip to content

Commit

Permalink
Change from CLA to DCO. Update guidelines and add template. (#216)
Browse files Browse the repository at this point in the history
  • Loading branch information
bingenito authored Feb 11, 2019
1 parent 59b3a11 commit 3ccb6e0
Show file tree
Hide file tree
Showing 2 changed files with 126 additions and 6 deletions.
59 changes: 53 additions & 6 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,59 @@ 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. Update the README.md/docs with details of changes to the interface.
2. Ensure you have signed the Contributor License Agreement availible from
desktopjs [at] morganstanley.com
3. You may merge the Pull Request in once the build has passed and you have the
## 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](dco/dco_template.md) replacing all `<>` terms as appropriate, and place the
completed DCO in a file under `dco/<your name>` or if you are not the copyright
holder then in a file under `dco/<your name>-<copyright holder name(s)>`.
1. Please note that the name you provide (`<your name>`) 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) (`<name of 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 <dco>“` line which indicates your acceptance of the DCO terms and conditions.
`<dco>` here is the file name of the DCO.
2. Your commit must include a change to the `NOTICE` 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 the interface.
* Update an existing or add a new testcase for your change.
* Ensure any install or build artifacts 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.

Expand Down
73 changes: 73 additions & 0 deletions dco/dco_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
# 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, **`<your name>`**, agree and certify as set forth in this Agreement. You may be
contacted at **`<your email address>`**.

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 <name of copyright holder(s)>]`**;
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.

0 comments on commit 3ccb6e0

Please sign in to comment.