blob: c13fa4be2c85227ffbbf7203544ea62b37ae6570 [file] [log] [blame]
Deployment Bot (from Travis CI)6d7e6e92021-06-14 19:18:41 +00001Contributing to op-build
2========================
3
4op-build is the open source build system for OpenPOWER firmware. It assembles
5many individual components (only a few of which are OpenPOWER specific) into
6a single firmware image. op-build is implemented as a buildroot overlay.
7
8If you haven't already, join us on IRC (#openpower on Freenode) and on
9the mailing list ( openpower-firmware@lists.ozlabs.org - subscribe by
10going to https://lists.ozlabs.org/listinfo/openpower-firmware )
11
12We use GitHub Issues and Pull Requests for tracking contributions. We
13expect participants to adhere to the GitHub Community Guidelines (found
14at https://help.github.com/articles/github-community-guidelines/ ).
15
16If you are unable or unwilling to use GitHub, we can accept contributions
17via the mailing list.
18
19All contributions should have a Developer Certificate of Origin (see below).
20
21Development Philosophy
22----------------------
23
24Our development philosophy is:
25
261. Don't re-invent the wheel
272. Upstream first
28
29As such, we don't like to carry patches in op-build, we prefer to interact
30with upstream projects and get patches accepted there. Where we do need
31to patch things locally, we prefer to carry backports from upstream, which
32can be removed when we move to more recent upstream.
33
34Development Environment
35-----------------------
36
37For working on op-build you will need a reasonably recent Linux distribution.
38We aim to have all current major distros be suitable development platforms
39(focused on Ubuntu and Fedora, as that's what most developers currently use).
40
41A host GCC of at least 4.9 is recommended (all modern Linux distributions
42provide this).
43
44You can build on x86-64, ppc64 or ppc64le, op-build will build appropriate
45cross-compilers for you (thanks to the magic of buildroot).
46
47You will need 8-15GB of disk space to do a full build of any one configuration.
48
49Development Process
50-------------------
51
52The main source repository is on GitHub. We use GitHub issues and pull requests
53as well as a mailing list (https://lists.ozlabs.org/listinfo/openpower-firmware).
54
55We tag a new op-build release roughly every 6 weeks.
56
57We use GitHub milestones: https://github.com/open-power/op-build/milestones
58
59Starting with the v1.15 release, active development occurs against the master
60branch. When we're nearing a release, we move the content of the master branch
61over to a 'release' branch, ensuring development can continue while the release
62is prepared.
63
64We accept pull requests on GitHub: https://github.com/open-power/op-build/pulls
65
66Developer Certificate of Origin
67-------------------------------
68
69Contributions to this project should conform to the `Developer Certificate
70of Origin` as defined at http://elinux.org/Developer_Certificate_Of_Origin.
71Commits to this project need to contain the following line to indicate
72the submitter accepts the DCO:
73```
74Signed-off-by: Your Name <your_email@domain.com>
75```
76By contributing in this way, you agree to the terms as follows:
77```
78Developer Certificate of Origin
79Version 1.1
80
81Copyright (C) 2004, 2006 The Linux Foundation and its contributors.
82660 York Street, Suite 102,
83San Francisco, CA 94110 USA
84
85Everyone is permitted to copy and distribute verbatim copies of this
86license document, but changing it is not allowed.
87
88
89Developer's Certificate of Origin 1.1
90
91By making a contribution to this project, I certify that:
92
93(a) The contribution was created in whole or in part by me and I
94 have the right to submit it under the open source license
95 indicated in the file; or
96
97(b) The contribution is based upon previous work that, to the best
98 of my knowledge, is covered under an appropriate open source
99 license and I have the right under that license to submit that
100 work with modifications, whether created in whole or in part
101 by me, under the same open source license (unless I am
102 permitted to submit under a different license), as indicated
103 in the file; or
104
105(c) The contribution was provided directly to me by some other
106 person who certified (a), (b) or (c) and I have not modified
107 it.
108
109(d) I understand and agree that this project and the contribution
110 are public and that a record of the contribution (including all
111 personal information I submit with it, including my sign-off) is
112 maintained indefinitely and may be redistributed consistent with
113 this project or the open source license(s) involved.
114```
115
116