Skip to content

Commit

Permalink
github: add CAA bot
Browse files Browse the repository at this point in the history
We need external contributors to assign us copyright for the submitted
work, in case we want to update the materials license. This process is
currently performed manually, with the result stored in our internal git
server.

Use CLA Assistant lite to automate this part. The automation brings the
following components:
- a dedicated github action running each time a PR is opened or edited
- a proper CAA text for individuals and entities
- a file containing the list of individuals or entities who signed the CAA

Signed-off-by: Alexis Lothoré <[email protected]>
  • Loading branch information
Tropicao committed Aug 26, 2024
1 parent 88d205b commit 12d0702
Show file tree
Hide file tree
Showing 4 changed files with 409 additions and 0 deletions.
42 changes: 42 additions & 0 deletions .github/workflows/caa.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
name: "CLA Assistant"
on:
issue_comment:
types: [created]
pull_request_target:
types: [opened,closed,synchronize]

permissions:
actions: write
contents: write
pull-requests: write
statuses: write

jobs:
CLAAssistant:
runs-on: ubuntu-latest
steps:
- name: "CLA Assistant"
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'
uses: contributor-assistant/[email protected]
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
PERSONAL_ACCESS_TOKEN: ${{ secrets.PERSONAL_ACCESS_TOKEN }}
with:
path-to-signatures: 'caa/signatures/signatures.json'
path-to-document: 'https://github.com/bootlin/training-materials/blob/master/caa/individual-caa.md' # e.g. a CLA or a DCO document
branch: 'master'
custom-notsigned-prcomment: >
Thank you for your contribution to Bootlin training materials !
Before being able to integrate those changes, we would like you to
sign our [Individual Contributor Assignment
Agreement](https://github.com/bootlin/training-materials/blob/master/caa/individual-caa.md)
if you are an individual, or our [Entity Contributor Assignment
Agreement](https://github.com/bootlin/training-materials/blob/master/caa/entity-caa.md)
if you are submitting this work on behalf of an entity.
You will still be credited for your contribution, but we would like
to keep the ability to switch to a different license for these
materials, or to give a license exception to a customer funding
some improvements or customization. You can sign the CLA by just
posting a Pull Request Comment with the sentence below. Thanks !
186 changes: 186 additions & 0 deletions caa/entity-caa.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,186 @@
# Bootlin Training Materials Entity Contributor Assignment Agreement

Thank you for your interest in contributing to Bootlin ("We" or "Us") training
materials.

This contributor agreement ("Agreement") documents the rights granted by
contributors to Us. To make this document effective, please sign it by following
the instructions which led you to this document. This is a legally binding
document, so please read it carefully before agreeing to it. The Agreement may
cover more than one software project managed by Us.

1. Definitions

"You" means any Legal Entity on behalf of whom a Contribution has been received
by Us. "Legal Entity" means an entity which is not a natural person.
"Affiliates" means other Legal Entities that control, are controlled by, or
under common control with that Legal Entity. For the purposes of this
definition, "control" means (i) the power, direct or indirect, to cause the
direction or management of such Legal Entity, whether by contract or otherwise,
(ii) ownership of fifty percent (50%) or more of the outstanding shares or
securities which vote to elect the management or other persons who direct such
Legal Entity or (iii) beneficial ownership of such entity.

"Contribution" means any work of authorship that is Submitted by You to Us in
which You own or assert ownership of the Copyright. If You do not own the
Copyright in the entire work of authorship, please follow the instructions in
Section 3, point d.

"Copyright" means all rights protecting works of authorship owned or controlled
by You or Your Affiliates, including copyright, moral and neighboring rights, as
appropriate, for the full term of their existence including any extensions by
You.

"Material" means the work of authorship which is made available by Us to third
parties. When this Agreement covers more than one software project, the Material
means the work of authorship to which the Contribution was Submitted. After You
Submit the Contribution, it may be included in the Material.

"Submit" means any form of electronic, verbal, or written communication sent to
Us or our representatives, including but not limited to electronic mailing
lists, source code control systems, and issue tracking systems that are managed
by, or on behalf of, Us for the purpose of discussing and improving the
Material, but excluding communication that is conspicuously marked or otherwise
designated in writing by You as "Not a Contribution."

"Submission Date" means the date on which You Submit a Contribution to Us.

"Effective Date" means the date You execute this Agreement or the date You first
Submit a Contribution to Us, whichever is earlier.

"Media" means any portion of a Contribution which is not software.


2. Grant of Rights

2.1 Copyright Assignment

(a) At the time the Contribution is Submitted, You assign to Us all right,
title, and interest worldwide in all Copyright covering the Contribution;
provided that this transfer is conditioned upon compliance with Section 2.3.

(b) To the extent that any of the rights in Section 2.1(a) cannot be assigned by
You to Us, You grant to Us a perpetual, worldwide, exclusive, royalty-free,
transferable, irrevocable license under such non-assigned rights, with rights to
sublicense through multiple tiers of sublicensees, to practice such non-assigned
rights, including, but not limited to, the right to reproduce, modify, display,
perform and distribute the Contribution; provided that this license is
conditioned upon compliance with Section 2.3.

(c) To the extent that any of the rights in Section 2.1(a) can neither be
assigned nor licensed by You to Us, You irrevocably waive and agree never to
assert such rights against Us, any of our successors in interest, or any of our
licensees, either direct or indirect; provided that this agreement not to assert
is conditioned upon compliance with Section 2.3.

(d) Upon such transfer of rights to Us, to the maximum extent possible, We
immediately grant to You a perpetual, worldwide, non-exclusive, royalty-free,
transferable, irrevocable license under such rights covering the Contribution,
with rights to sublicense through multiple tiers of sublicensees, to reproduce,
modify, display, perform, and distribute the Contribution. The intention of the
parties is that this license will be as broad as possible and to provide You
with rights as similar as possible to the owner of the rights that You
transferred. This license back is limited to the Contribution and does not
provide any rights to the Material.

2.2 Patent License

For patent claims including, without limitation, method, process, and apparatus
claims which You [or Your Affiliates] own, control or have the right to grant,
now or in the future, You grant to Us a perpetual, worldwide, non-exclusive,
transferable, royalty-free, irrevocable patent license, with the right to
sublicense these rights to multiple tiers of sublicensees, to make, have made,
use, sell, offer for sale, import and otherwise transfer the Contribution and
the Contribution in combination with the Material (and portions of such
combination). This license is granted only to the extent that the exercise of
the licensed rights infringes such patent claims; and provided that this license
is conditioned upon compliance with Section 2.3.

2.3 Outbound License

Based on the grant of rights in Sections 2.1 and 2.2, if We include Your
Contribution in a Material, We may license the Contribution under any license,
including copyleft, permissive, commercial, or proprietary licenses. As a
condition on the exercise of this right, We agree to also license the
Contribution under the terms of the license or licenses which We are using for
the Material on the Submission Date.

2.4 Moral Rights. If moral rights apply to the Contribution, to the maximum
extent permitted by law, You waive and agree not to assert such moral rights
against Us or our successors in interest, or any of our licensees, either direct
or indirect.

2.5 Our Rights. You acknowledge that We are not obligated to use Your
Contribution as part of the Material and may decide to include any Contribution
We consider appropriate.

2.6 Reservation of Rights. Any rights not expressly assigned or licensed under
this section are expressly reserved by You.

3. Agreement

You confirm that:

(a) You have the legal authority to enter into this Agreement.

(b) You or Your Affiliates own the Copyright and patent claims covering the
Contribution which are required to grant the rights under Section 2.

(c) The grant of rights under Section 2 does not violate any grant of rights
which You or Your Affiliates have made to third parties.

(d) If You do not own the Copyright for the entire work submitted, You have
stated this fact in your submission, made aware all the corresponding Copyright
Owners, and all those Copyright Owners have signed the Contributor Assignment
Agreeement as well.

4. Disclaimer

EXCEPT FOR THE EXPRESS WARRANTIES IN SECTION 3, THE CONTRIBUTION IS PROVIDED "AS
IS". MORE PARTICULARLY, ALL EXPRESS OR IMPLIED WARRANTIES INCLUDING, WITHOUT
LIMITATION, ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
PURPOSE AND NON-INFRINGEMENT ARE EXPRESSLY DISCLAIMED BY YOU TO US AND BY US TO
YOU. TO THE EXTENT THAT ANY SUCH WARRANTIES CANNOT BE DISCLAIMED, SUCH WARRANTY
IS LIMITED IN DURATION TO THE MINIMUM PERIOD PERMITTED BY LAW.

5. Consequential Damage Waiver

TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, IN NO EVENT WILL YOU OR US BE
LIABLE FOR ANY LOSS OF PROFITS, LOSS OF ANTICIPATED SAVINGS, LOSS OF DATA,
INDIRECT, SPECIAL, INCIDENTAL, CONSEQUENTIAL AND EXEMPLARY DAMAGES ARISING OUT
OF THIS AGREEMENT REGARDLESS OF THE LEGAL OR EQUITABLE THEORY (CONTRACT, TORT OR
OTHERWISE) UPON WHICH THE CLAIM IS BASED.

6. Miscellaneous

6.1 This Agreement will be governed by and construed in accordance with the
laws of France excluding its conflicts of law provisions. Under certain
circumstances, the governing law in this section might be superseded by the
United Nations Convention on Contracts for the International Sale of Goods
("UN Convention") and the parties intend to avoid the application of the UN
Convention to this Agreement and, thus, exclude the application of the UN
Convention in its entirety to this Agreement.

6.2 This Agreement sets out the entire agreement between You and Us for
Your Contributions to Us and overrides all other agreements or
understandings.

6.3 If You or We assign the rights or obligations received through this
Agreement to a third party, as a condition of the assignment, that third
party must agree in writing to abide by all the rights and obligations in
the Agreement.

6.4 The failure of either party to require performance by the other party
of any provision of this Agreement in one situation shall not affect the
right of a party to require such performance at any time in the future. A
waiver of performance under a provision in one situation shall not be
considered a waiver of the performance of the provision in the future or a
waiver of the provision in its entirety.

6.5 If any provision of this Agreement is found void and unenforceable,
such provision will be replaced to the extent possible with a provision
that comes closest to the meaning of the original provision and which is
enforceable. The terms and conditions set forth in this Agreement shall
apply notwithstanding any failure of essential purpose of this Agreement or
any limited remedy to the maximum extent possible under law.

Loading

0 comments on commit 12d0702

Please sign in to comment.