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
Last revision Both sides next revision
dco [2017/07/17 19:48]
emsearcy minor text changes
dco [2019/12/26 18:18]
emsearcy Add clarification of how the validation affects PRs
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) or Pull Requests in order to deny changes that fail DCO validation.
  
 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.txt · Last modified: 2019/12/26 18:20 by emsearcy