|
| 1 | +# Contributing |
| 2 | + |
| 3 | +Thank you for considering contributing to the Nightfall Java SDK. |
| 4 | + |
| 5 | +There are many ways to contribute, such as: |
| 6 | +* Writing code samples |
| 7 | +* Suggesting documentation improvements |
| 8 | +* Submitting bug reports and feature requests |
| 9 | +* Writing code to improve the library itself. |
| 10 | + |
| 11 | +Please, don't use the issue tracker for personal support questions. Feel free to reach out to `[email protected]` |
| 12 | +to address those issues. |
| 13 | + |
| 14 | +## Responsibilities |
| 15 | +* Ensure cross-platform compatibility for every change that's accepted. Windows, Mac, Debian & Ubuntu Linux, etc. |
| 16 | +* Ensure backwards compatibility with Java 8 |
| 17 | +* Create issues for each major change and enhancement that you wish to make. |
| 18 | +* Discuss proposed changes transparently and collect community feedback. |
| 19 | +* Avoid introducing new external dependencies whenever possible. When absolutely required, validate the software |
| 20 | +licenses used by these dependencies (e.g. avoid unintentional copyleft requirements). |
| 21 | + |
| 22 | +## How to report a bug |
| 23 | + |
| 24 | +### Security Disclosures |
| 25 | +If you find a security vulnerability, do NOT open an issue. Email `[email protected]` instead. |
| 26 | + |
| 27 | +In order to determine whether you are dealing with a security issue, ask yourself the following questions: |
| 28 | +* Can I access something that's not mine, or something I shouldn't have access to? |
| 29 | +* Can I disable something for other people? |
| 30 | +* Is there a potential vulnerability stemming from a library dependency? |
| 31 | + |
| 32 | +If you answered yes to any of the above questions, then you're probably dealing with a security issue. |
| 33 | +Note that even if you answer "no" to all questions, you may still be dealing with a security issue, so if you're |
| 34 | +unsure, just email us at `[email protected]`. |
| 35 | + |
| 36 | +### Creating an Issue |
| 37 | +When filing an issue, make sure to answer these questions: |
| 38 | +1. What version of Java are you using? |
| 39 | +2. What operating system and processor architecture are you using? |
| 40 | +3. How did you discover the issue? |
| 41 | +4. Is the issue reproducible? What are the steps to reproduce? |
| 42 | +5. What did you expect to see? |
| 43 | +6. What did you see instead? |
| 44 | + |
| 45 | + |
| 46 | +## Suggesting a New Feature |
| 47 | + |
| 48 | +If you find yourself wishing for a feature that doesn't exist in this SDK, you are probably not alone. |
| 49 | +There are bound to be others out there with similar needs. Open an issue on our issues list on GitHub which |
| 50 | +describes the feature you would like to see, why you need it, and how it should work. |
| 51 | + |
| 52 | +## Code Review |
| 53 | + |
| 54 | +The core team looks at open pull requests on a regular basis. In order for your pull request to be merged, it |
| 55 | +must meet the following requirements: |
| 56 | +* It must pass the checkstyle linter; this should be run automatically when you run `mvn package`. |
| 57 | +* It must add unit tests to cover any new functionality. |
| 58 | +* It must get approval from one of the code owners. |
| 59 | + |
| 60 | +If a pull request remains idle for more than two weeks, we may close it. |
0 commit comments