|
| 1 | +# Contributing |
| 2 | + |
| 3 | +When contributing to this repository, please first discuss the change you wish to make via issue before making a change. |
| 4 | + |
| 5 | +We have a [code of conduct](#code-of-conduct), please follow it in all your interactions with the project. |
| 6 | + |
| 7 | +## Contribute Code |
| 8 | + |
| 9 | +You are welcome to contribute code to the Cloud Foundry CLI Java Plugin in order to fix bugs or to implement new features. |
| 10 | + |
| 11 | +There are three important things to know: |
| 12 | + |
| 13 | +1. You must be aware of the Apache License (which describes contributions) and agree to the Contributors License Agreement (CLA). |
| 14 | + This is common practice in all major Open Source projects. |
| 15 | + To make this process as simple as possible, we are using the [CLA assistant](https://cla-assistant.io/) for individual contributions. |
| 16 | + CLA assistant is an open source tool that integrates with GitHub very well and enables a one-click-experience for accepting the CLA. |
| 17 | + For company contributors, [special rules apply](#company-contributors). |
| 18 | +2. We set ourselves [requirements regarding code style and quality](#pull-request-process), and we kindly ask you to do the same with PRs. |
| 19 | +3. Not all proposed contributions can be accepted. |
| 20 | + Some features may, for example, just fit a separate plugin better. |
| 21 | + The code must fit the overall direction of Cloud Foundry CLI Java Plugin and really improve it, so there should be some "bang for the byte". |
| 22 | + For most bug fixes this is a given, but it would be advisable to first discus new major features with the maintainers by opening an issue on the project. |
| 23 | + |
| 24 | +### Pull Request Process |
| 25 | + |
| 26 | +This a checklist of things to keep in your mind when opening pull requests for this project. |
| 27 | + |
| 28 | +0. Before pushing anything, validate your pull request with `go test`. |
| 29 | +1. Make sure any added dependency is licensed under Apache v2.0 license |
| 30 | +2. Strive for very high unit-test coverage and favor testing productive code over mocks |
| 31 | + (mock in depth wherever possible) |
| 32 | +3. Update the README.md with details of changes to the options |
| 33 | + |
| 34 | +Pull requests will be tested and validated by maintainers. In case small changes are needed (e.g., correcting typos), the maintainers may fix those issues themselves. |
| 35 | +In case of larger issues, you may be asked to apply modifications to your changes before the Pull Request can be merged. |
| 36 | + |
| 37 | +### Contributor License Agreement |
| 38 | + |
| 39 | +When you contribute (code, documentation, or anything else), you have to be aware that your contribution is covered by the same [Apache 2.0 License](http://www.apache.org/licenses/LICENSE-2.0) that is applied to the Cloud Foundry CLI Java Plugin itself. |
| 40 | +Also, you need to agree to the Individual Contributor License Agreement, which can be [found here](https://gist.github.com/CLAassistant/bd1ea8ec8aa0357414e8). |
| 41 | +(This applies to all contributors, including those contributing on behalf of a company). |
| 42 | +If you agree to its content, you simply have to click on the link posted by the CLA assistant as a comment to the pull request. |
| 43 | +Click it to check the CLA, then accept it on the following screen if you agree to it. |
| 44 | +CLA assistant will save this decision for upcoming contributions and will notify you if there is any change to the CLA in the meantime. |
| 45 | + |
| 46 | +#### Company Contributors |
| 47 | + |
| 48 | +If employees of a company contribute code, in **addition** to the individual agreement above, there needs to be one company agreement submitted. |
| 49 | +This is mainly for the protection of the contributing employees. |
| 50 | + |
| 51 | +A company representative authorized to do so needs to download, fill, and print |
| 52 | +the [Corporate Contributor License Agreement](docs/SAP%20Corporate%20Contributor%20License%20Agreement.pdf) form. Then either: |
| 53 | + |
| 54 | +- Scan it and e-mail it to [opensource@sap.com](mailto:opensource@sap.com) |
| 55 | +- Fax it to: +49 6227 78-45813 |
| 56 | +- Send it by traditional letter to: *Industry Standards & Open Source Team, Dietmar-Hopp-Allee 16, 69190 Walldorf, Germany* |
| 57 | + |
| 58 | +The form contains a list of employees who are authorized to contribute on behalf of your company. |
| 59 | +When this list changes, please let us know. |
| 60 | + |
| 61 | +## Code of Conduct |
| 62 | + |
| 63 | +### Our Pledge |
| 64 | + |
| 65 | +In the interest of fostering an open and welcoming environment, we as |
| 66 | +contributors and maintainers pledge to making participation in our project and |
| 67 | +our community a harassment-free experience for everyone, regardless of age, body |
| 68 | +size, disability, ethnicity, gender identity and expression, level of experience, |
| 69 | +nationality, personal appearance, race, religion, or sexual identity and |
| 70 | +orientation. |
| 71 | + |
| 72 | +### Our Standards |
| 73 | + |
| 74 | +Examples of behavior that contributes to creating a positive environment |
| 75 | +include: |
| 76 | + |
| 77 | +* Using welcoming and inclusive language |
| 78 | +* Being respectful of differing viewpoints and experiences |
| 79 | +* Gracefully accepting constructive criticism |
| 80 | +* Focusing on what is best for the community |
| 81 | +* Showing empathy towards other community members |
| 82 | + |
| 83 | +Examples of unacceptable behavior by participants include: |
| 84 | + |
| 85 | +* The use of sexualized language or imagery and unwelcome sexual attention or |
| 86 | +advances |
| 87 | +* Trolling, insulting/derogatory comments, and personal or political attacks |
| 88 | +* Public or private harassment |
| 89 | +* Publishing others' private information, such as a physical or electronic |
| 90 | + address, without explicit permission |
| 91 | +* Other conduct which could reasonably be considered inappropriate in a |
| 92 | + professional setting |
| 93 | + |
| 94 | +### Our Responsibilities |
| 95 | + |
| 96 | +Project maintainers are responsible for clarifying the standards of acceptable |
| 97 | +behavior and are expected to take appropriate and fair corrective action in |
| 98 | +response to any instances of unacceptable behavior. |
| 99 | + |
| 100 | +Project maintainers have the right and responsibility to remove, edit, or |
| 101 | +reject comments, commits, code, wiki edits, issues, and other contributions |
| 102 | +that are not aligned to this Code of Conduct, or to ban temporarily or |
| 103 | +permanently any contributor for other behaviors that they deem inappropriate, |
| 104 | +threatening, offensive, or harmful. |
| 105 | + |
| 106 | +### Scope |
| 107 | + |
| 108 | +This Code of Conduct applies both within project spaces and in public spaces |
| 109 | +when an individual is representing the project or its community. Examples of |
| 110 | +representing a project or community include using an official project e-mail |
| 111 | +address, posting via an official social media account, or acting as an appointed |
| 112 | +representative at an online or offline event. Representation of a project may be |
| 113 | +further defined and clarified by project maintainers. |
| 114 | + |
| 115 | +### Enforcement |
| 116 | + |
| 117 | +Instances of abusive, harassing, or otherwise unacceptable behavior may be |
| 118 | +reported by contacting the project team at [sap_cp_performance [at] sap.com](mailto:sap_cp_performance@sap.com). All |
| 119 | +complaints will be reviewed and investigated and will result in a response that |
| 120 | +is deemed necessary and appropriate to the circumstances. The project team is |
| 121 | +obligated to maintain confidentiality with regard to the reporter of an incident. |
| 122 | +Further details of specific enforcement policies may be posted separately. |
| 123 | + |
| 124 | +Project maintainers who do not follow or enforce the Code of Conduct in good |
| 125 | +faith may face temporary or permanent repercussions as determined by other |
| 126 | +members of the project's leadership. |
| 127 | + |
| 128 | +### Attribution |
| 129 | + |
| 130 | +This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, |
| 131 | +available at [http://contributor-covenant.org/version/1/4][version] |
| 132 | + |
| 133 | +[homepage]: http://contributor-covenant.org |
| 134 | +[version]: http://contributor-covenant.org/version/1/4/ |
0 commit comments