From b6e81b1842177a35e53b3e66116171bc01ae8b94 Mon Sep 17 00:00:00 2001 From: Henrik Andersson Date: Sat, 17 Oct 2026 18:21:17 +0200 Subject: [PATCH] Add DHI contribution license agreement and reusable CLA workflow Co-Authored-By: Claude Opus 5.5 (1M context) --- .github/workflows/cla.yml | 26 ++++++++ CLA.md | 121 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 147 insertions(+) create mode 100644 .github/workflows/cla.yml create mode 100644 CLA.md diff --git a/.github/workflows/cla.yml b/.github/workflows/cla.yml new file mode 100644 index 0000000..1478bb7 --- /dev/null +++ b/.github/workflows/cla.yml @@ -0,0 +1,26 @@ +# Signatures live in DHI/cla-signatures, so a contributor signs once for all DHI repos. +name: CLA + +on: + workflow_call: + secrets: + CLA_SIGNATURES_TOKEN: + description: Token with write access to DHI/cla-signatures + required: true + +jobs: + cla: + if: (github.event.comment.body == 'recheck' || github.event.comment.body == 'I have read the CLA Document and I hereby sign the CLA') || github.event_name == 'pull_request_target' + runs-on: ubuntu-latest + steps: + - uses: contributor-assistant/github-action@v2.6.1 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + PERSONAL_ACCESS_TOKEN: ${{ secrets.CLA_SIGNATURES_TOKEN }} + with: + path-to-document: https://github.com/DHI/.github/blob/main/CLA.md + remote-organization-name: DHI + remote-repository-name: cla-signatures + path-to-signatures: signatures/cla.json + branch: main + allowlist: dependabot[bot],github-actions[bot] diff --git a/CLA.md b/CLA.md new file mode 100644 index 0000000..de53c48 --- /dev/null +++ b/CLA.md @@ -0,0 +1,121 @@ +# Contribution License Agreement + +This Contribution License Agreement ("Agreement") is agreed to by the party signing below ("You"), +and conveys certain license rights to DHI A/S and its affiliates ("DHI") for Your contributions to +DHI open source projects. This Agreement is effective as of the latest signature date below. + +This Agreement is the [Microsoft Contribution License Agreement](https://opensource.microsoft.com/pdf/microsoft-contribution-license-agreement.pdf) +(updated 2017.04.26), which Microsoft Corporation dedicates to the public domain under +[CC0 1.0](https://creativecommons.org/publicdomain/zero/1.0/), with "Microsoft" replaced by "DHI" +and the governing law changed to Danish law. + +## 1. Definitions + +"Code" means the computer software code, whether in human-readable or machine-executable form, that +is delivered by You to DHI under this Agreement. + +"Project" means any of the projects owned or managed by DHI in which software is offered under a +license approved by the Open Source Initiative (OSI) ([www.opensource.org](https://opensource.org)) +and documentation offered under an OSI or a Creative Commons license +([https://creativecommons.org/licenses](https://creativecommons.org/licenses)). + +"Submit" is the act of uploading, submitting, transmitting, or distributing code or other content to +any 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 and improving that Project, but excluding communication that is conspicuously +marked or otherwise designated in writing by You as "Not a Submission." + +"Submission" means the Code and any other copyrightable material Submitted by You, including any +associated comments and documentation. + +## 2. Your Submission + +You must agree to the terms of this Agreement before making a Submission to any Project. This +Agreement covers any and all Submissions that You, now or in the future (except as described in +Section 4 below), Submit to any Project. + +## 3. Originality of Work + +You represent that each of Your Submissions is entirely Your original work. Should You wish to +Submit materials that are not Your original work, You may Submit them separately to the Project if +You (a) retain all copyright and license information that was in the materials as You received them, +(b) in the description accompanying Your Submission, include the phrase "Submission containing +materials of a third party:" followed by the names of the third party and any licenses or other +restrictions of which You are aware, and (c) follow any other instructions in the Project's written +guidelines concerning Submissions. + +## 4. Your Employer + +References to "employer" in this Agreement include Your employer or anyone else for whom You are +acting in making Your Submission, e.g. as a contractor, vendor, or agent. If Your Submission is made +in the course of Your work for an employer or Your employer has intellectual property rights in Your +Submission by contract or applicable law, You must secure permission from Your employer to make the +Submission before signing this Agreement. In that case, the term "You" in this Agreement will refer +to You and the employer collectively. If You change employers in the future and desire to Submit +additional Submissions for the new employer, then You agree to sign a new Agreement and secure +permission from the new employer before Submitting those Submissions. + +## 5. Licenses + +a. **Copyright License.** You grant DHI, and those who receive the Submission directly or indirectly +from DHI, a perpetual, worldwide, non-exclusive, royalty-free, irrevocable license in the Submission +to reproduce, prepare derivative works of, publicly display, publicly perform, and distribute the +Submission and such derivative works, and to sublicense any or all of the foregoing rights to third +parties. + +b. **Patent License.** You grant DHI, and those who receive the Submission directly or indirectly +from DHI, a perpetual, worldwide, non-exclusive, royalty-free, irrevocable license under Your patent +claims that are necessarily infringed by the Submission or the combination of the Submission with the +Project to which it was Submitted to make, have made, use, offer to sell, sell and import or +otherwise dispose of the Submission alone or with the Project. + +c. **Other Rights Reserved.** Each party reserves all rights not expressly granted in this +Agreement. No additional licenses or rights whatsoever (including, without limitation, any implied +licenses) are granted by implication, exhaustion, estoppel or otherwise. + +## 6. Representations and Warranties + +You represent that You are legally entitled to grant the above licenses. You represent that each of +Your Submissions is entirely Your original work (except as You may have disclosed under Section 3). +You represent that You have secured permission from Your employer to make the Submission in cases +where Your Submission is made in the course of Your work for Your employer or Your employer has +intellectual property rights in Your Submission by contract or applicable law. If You are signing +this Agreement on behalf of Your employer, You represent and warrant that You have the necessary +authority to bind the listed employer to the obligations contained in this Agreement. You are not +expected to provide support for Your Submission, unless You choose to do so. UNLESS REQUIRED BY +APPLICABLE LAW OR AGREED TO IN WRITING, AND EXCEPT FOR THE WARRANTIES EXPRESSLY STATED IN SECTIONS +3, 4, AND 6, THE SUBMISSION PROVIDED UNDER THIS AGREEMENT IS PROVIDED WITHOUT WARRANTY OF ANY KIND, +INCLUDING, BUT NOT LIMITED TO, ANY WARRANTY OF NONINFRINGEMENT, MERCHANTABILITY, OR FITNESS FOR A +PARTICULAR PURPOSE. + +## 7. Notice to DHI + +You agree to notify DHI in writing of any facts or circumstances of which You later become aware +that would make Your representations in this Agreement inaccurate in any respect. + +## 8. Information about Submissions + +You agree that contributions to Projects and information about contributions may be maintained +indefinitely and disclosed publicly, including Your name and other information that You submit with +Your Submission. + +## 9. Governing Law/Jurisdiction + +This Agreement is governed by the laws of Denmark, and the parties consent to exclusive jurisdiction +and venue in the courts of Denmark. + +## 10. Entire Agreement/Assignment + +This Agreement is the entire agreement between the parties, and supersedes any and all prior +agreements, understandings or communications, written or oral, between the parties relating to the +subject matter hereof. This Agreement may be assigned by DHI. + +## Signing + +You sign this Agreement, and accept its terms for Your present and future Submissions to DHI, by +commenting on Your pull request with the exact sentence: + +> I have read the CLA Document and I hereby sign the CLA + +If You make Submissions in the course of work for Your employer, Section 4 applies and "You" +includes Your employer.