xref: /openbmc/docs/maintainer-workflow.md (revision 94b94e50f8122781c7bff389ee0cae6787c37db8)
1ac95da4aSBrad Bishop# OpenBMC Maintainer/CLA Workflow
2ac95da4aSBrad BishopOpenBMC contributors are required to execute an OpenBMC CLA (Contributor
3ac95da4aSBrad BishopLicense Agreement) before their contributions can be accepted.  This page is a
4ac95da4aSBrad Bishopchecklist for sub-project maintainers to follow before approving patches.
5ac95da4aSBrad Bishop
6ac95da4aSBrad Bishop* Manually verify the contributor has signed the ICLA (individual) or is
7ac95da4aSBrad Bishoplisted on an existing CCLA (corporate).
8ac95da4aSBrad Bishop	* Executed CLAs can be found [in the CLA repository]
9ac95da4aSBrad Bishop	(https://drive.google.com/drive/folders/1Ooi0RdTcaOWF1DWFJUAJDdN7tRKde7Nl).
10ac95da4aSBrad Bishop	* If you were not added to the appropriate CLA repository ACL send an
11ac95da4aSBrad Bishopemail to openbmc@lists.ozlabs.org with a request to be added.
12ac95da4aSBrad Bishop	* If a CLA for the contributor is found, accept the patch(1).
13ac95da4aSBrad Bishop* If a CLA is not found, request that the contributor execute one and send it
14ac95da4aSBrad Bishopto openbmc@lists.ozlabs.org.
15ac95da4aSBrad Bishop	* Do not accept the patch(1) until a signed CLA (individual _or_
16ac95da4aSBrad Bishopcorporate) has been uploaded to the CLA repository.
17ac95da4aSBrad Bishop	* The CCLA form can be found [here]
18ac95da4aSBrad Bishop	(https://github.com/openbmc/openbmc/files/1860741/OpenBMC.CCLA.pdf).
19ac95da4aSBrad Bishop	* The ICLA form can be found [here]
20ac95da4aSBrad Bishop	(https://github.com/openbmc/openbmc/files/1860742/OpenBMC.ICLA.pdf).
21ac95da4aSBrad Bishop
22*94b94e50SJoseph ReynoldsAn executed OpenBMC CLA is _not_ required to accept contributions to
23*94b94e50SJoseph ReynoldsOpenBMC forks of upstream projects, like the Linux kernel or U-Boot.
24*94b94e50SJoseph Reynolds
25*94b94e50SJoseph ReynoldsReview the maintainers' responsibilities in the [contributing
26*94b94e50SJoseph Reynoldsguidelines](./CONTRIBUTING.md).  Maintainers are ultimately
27*94b94e50SJoseph Reynoldsresponsible for sorting out open source license issues, issues with
28*94b94e50SJoseph Reynoldsusing code copied from the web, and maintaining the quality of the
29*94b94e50SJoseph Reynoldscode.
30*94b94e50SJoseph Reynolds
31*94b94e50SJoseph ReynoldsRepository maintainers ought to have the following traits as
32*94b94e50SJoseph Reynoldsrecognized by a consensus of their peers:
33*94b94e50SJoseph Reynolds - responsible: have a continuing desire to ensure only high-quality
34*94b94e50SJoseph Reynolds   code goes into the repo
35*94b94e50SJoseph Reynolds - leadership: foster open-source aware practices such as [FOSS](https://en.wikipedia.org/wiki/Free_and_open-source_software)
36*94b94e50SJoseph Reynolds - expertise: typically demonstrated by significant contributions to
37*94b94e50SJoseph Reynolds   the code or code reviews
38*94b94e50SJoseph Reynolds
39ac95da4aSBrad Bishop(1) The semantics of accepting a patch depend on the sub-project contribution
40ac95da4aSBrad Bishopprocess.
41ac95da4aSBrad Bishop
42ac95da4aSBrad Bishop* Github pull requests - Merging the pull request.
43ac95da4aSBrad Bishop* Gerrit - +2.
44ac95da4aSBrad Bishop* email - Merging the patch.
45ac95da4aSBrad Bishop
46*94b94e50SJoseph ReynoldsEnsure that accepted changes actually merge into OpenBMC repositories.
47