User Tools

Site Tools


dco

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
dco [2017/07/17 19:48]
emsearcy minor text changes
dco [2019/12/26 18:20] (current)
emsearcy fix typo, clarify
Line 11: Line 11:
 </​code>​ </​code>​
  
-DCO sign-offs differ from contributor agreements:​ +DCO sign-offs differ from contributor agreements ​(CLAs)
-  * Contributor ​agreements are typically ​made once, covering for all future contributions.+  * While contributor ​agreements are usually ​made once and automatically cover all future contributions, DCO sign-offs must be present on every single commit, or else the contribution will not be accepted.
   * A contributor agreement may be signed by a third party, like a company, on behalf of its employees, whereas the DCO is always an attestation by the author of the contribution.   * A contributor agreement may be signed by a third party, like a company, on behalf of its employees, whereas the DCO is always an attestation by the author of the contribution.
- 
-===== Policy ===== 
- 
-All Linux Foundation projects MUST incorporate a mandatory mechanism to enforce the DCO on all contributions. 
- 
-In the contribution guidelines for each project (e.g. a CONTRIBUTING.md file) the project SHOULD make explicit that the DCO is required, and that commit sign-offs of the form ''​Signed-off-by:''​ are attestations according to [[https://​developercertificate.org/​]]. 
  
 ===== Enabling DCO enforcement ===== ===== Enabling DCO enforcement =====
  
 ==== GitHub ==== ==== GitHub ====
 +
 +GitHub uses status checks (similar to CI pass/fail) against new Pull Requests to ensure that contributions which fail DCO validation will not be merged into a DCO-protected branch (usually "​master"​).
  
 Log in as user with Owner rights to a GitHub organization. Browse to the URL [[https://​github.com/​apps/​dco]] and hit the "​Install"​ (or "​Configure"​) button. Select the organization to install it to. Select "All repositories"​. Log in as user with Owner rights to a GitHub organization. Browse to the URL [[https://​github.com/​apps/​dco]] and hit the "​Install"​ (or "​Configure"​) button. Select the organization to install it to. Select "All repositories"​.
Line 36: Line 32:
  
 ==== Gerrit ==== ==== Gerrit ====
 +
 +Unlike GitHub, which allows a contributor to create a Pull Request but marks it as failing checks, Gerrit will not even accept a changeset unless the commit(s) in that changeset pass DCO.
  
 The project.config file must have the following configuration set, or inherited from a parent repository: The project.config file must have the following configuration set, or inherited from a parent repository:
dco.1500320907.txt.gz · Last modified: 2017/07/17 19:48 by emsearcy