Deployment Bot (from Travis CI) | 6d7e6e9 | 2021-06-14 19:18:41 +0000 | [diff] [blame] | 1 | Contributing to op-build |
| 2 | ======================== |
| 3 | |
| 4 | op-build is the open source build system for OpenPOWER firmware. It assembles |
| 5 | many individual components (only a few of which are OpenPOWER specific) into |
| 6 | a single firmware image. op-build is implemented as a buildroot overlay. |
| 7 | |
| 8 | If you haven't already, join us on IRC (#openpower on Freenode) and on |
| 9 | the mailing list ( openpower-firmware@lists.ozlabs.org - subscribe by |
| 10 | going to https://lists.ozlabs.org/listinfo/openpower-firmware ) |
| 11 | |
| 12 | We use GitHub Issues and Pull Requests for tracking contributions. We |
| 13 | expect participants to adhere to the GitHub Community Guidelines (found |
| 14 | at https://help.github.com/articles/github-community-guidelines/ ). |
| 15 | |
| 16 | If you are unable or unwilling to use GitHub, we can accept contributions |
| 17 | via the mailing list. |
| 18 | |
| 19 | All contributions should have a Developer Certificate of Origin (see below). |
| 20 | |
| 21 | Development Philosophy |
| 22 | ---------------------- |
| 23 | |
| 24 | Our development philosophy is: |
| 25 | |
| 26 | 1. Don't re-invent the wheel |
| 27 | 2. Upstream first |
| 28 | |
| 29 | As such, we don't like to carry patches in op-build, we prefer to interact |
| 30 | with upstream projects and get patches accepted there. Where we do need |
| 31 | to patch things locally, we prefer to carry backports from upstream, which |
| 32 | can be removed when we move to more recent upstream. |
| 33 | |
| 34 | Development Environment |
| 35 | ----------------------- |
| 36 | |
| 37 | For working on op-build you will need a reasonably recent Linux distribution. |
| 38 | We 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 | |
| 41 | A host GCC of at least 4.9 is recommended (all modern Linux distributions |
| 42 | provide this). |
| 43 | |
| 44 | You can build on x86-64, ppc64 or ppc64le, op-build will build appropriate |
| 45 | cross-compilers for you (thanks to the magic of buildroot). |
| 46 | |
| 47 | You will need 8-15GB of disk space to do a full build of any one configuration. |
| 48 | |
| 49 | Development Process |
| 50 | ------------------- |
| 51 | |
| 52 | The main source repository is on GitHub. We use GitHub issues and pull requests |
| 53 | as well as a mailing list (https://lists.ozlabs.org/listinfo/openpower-firmware). |
| 54 | |
| 55 | We tag a new op-build release roughly every 6 weeks. |
| 56 | |
| 57 | We use GitHub milestones: https://github.com/open-power/op-build/milestones |
| 58 | |
| 59 | Starting with the v1.15 release, active development occurs against the master |
| 60 | branch. When we're nearing a release, we move the content of the master branch |
| 61 | over to a 'release' branch, ensuring development can continue while the release |
| 62 | is prepared. |
| 63 | |
| 64 | We accept pull requests on GitHub: https://github.com/open-power/op-build/pulls |
| 65 | |
| 66 | Developer Certificate of Origin |
| 67 | ------------------------------- |
| 68 | |
| 69 | Contributions to this project should conform to the `Developer Certificate |
| 70 | of Origin` as defined at http://elinux.org/Developer_Certificate_Of_Origin. |
| 71 | Commits to this project need to contain the following line to indicate |
| 72 | the submitter accepts the DCO: |
| 73 | ``` |
| 74 | Signed-off-by: Your Name <your_email@domain.com> |
| 75 | ``` |
| 76 | By contributing in this way, you agree to the terms as follows: |
| 77 | ``` |
| 78 | Developer Certificate of Origin |
| 79 | Version 1.1 |
| 80 | |
| 81 | Copyright (C) 2004, 2006 The Linux Foundation and its contributors. |
| 82 | 660 York Street, Suite 102, |
| 83 | San Francisco, CA 94110 USA |
| 84 | |
| 85 | Everyone is permitted to copy and distribute verbatim copies of this |
| 86 | license document, but changing it is not allowed. |
| 87 | |
| 88 | |
| 89 | Developer's Certificate of Origin 1.1 |
| 90 | |
| 91 | By 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 | |