-
Notifications
You must be signed in to change notification settings - Fork 31
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #43 from NagiosEnterprises/maint
Merge 2.0.0 release
- Loading branch information
Showing
16 changed files
with
3,002 additions
and
1,461 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,164 @@ | ||
# Contributing | ||
|
||
Thank you for considering contributing your time and effort to this Nagios project. | ||
This document serves as our guidelines for contribution. Keep in mind that these | ||
are simply *guidelines* - nothing here is set in stone. | ||
|
||
## Questions | ||
|
||
If you have a question, you don't need to file an Issue. You can simply connect | ||
with the Nagios Support Team via the | ||
[Nagios Support Forum](https://support.nagios.com/forum/). | ||
|
||
Not to say that you **can't** open an Issue - but you'll likely get a much faster | ||
response by posting it on the forum. | ||
|
||
## Ideas | ||
|
||
If you have an idea your best bet is to open an Issue. This gets it on the radar much | ||
quicker than any other method. | ||
|
||
First, let's define what an "Idea" really is. An Idea is simply an | ||
[Enhancement](#enhancements) request in its infancy. | ||
There's really nothing to it! | ||
|
||
Something as simple as "I think that this project should somehow connect with a | ||
widget" is a valid Idea. | ||
|
||
These are unrefined and raw. That's why you open an issue - so everyone gets a chance | ||
to chime in and come up with a plan! | ||
|
||
## Feedback | ||
|
||
Feedback can be given via several methods. The *easiest* method is by opening an Issue. | ||
You're more than welcome to leave feedback on the | ||
[Nagios Support Forum](https://support.nagios.com/forum/) as well. | ||
|
||
By opening an Issue, however, you're insuring that the maintainers and reviewers are | ||
the first ones to see the feedback. In most cases, this is likely ideal. | ||
|
||
## Bugs | ||
|
||
Here's where it starts to get serious. | ||
|
||
Following the guidelines outlined in this section allows the maintainers, developers, and | ||
community to understand and reproduce your bug report. | ||
|
||
Make sure to search existing open and closed [Issues](https://guides.github.com/features/issues/) | ||
before opening a bug report. If you find a closed Issue that seems like it's the same | ||
thing that you're experiencing, open a new Issue and include a link to the original Issue | ||
in the body of the new one. | ||
|
||
**If you have a bug, you *NEED* to open an Issue.** | ||
|
||
Not only that, but when you open the Issue, this is what we ***absolutely require***: | ||
|
||
* Use a clear and concise title for the Issue to identify the problem accurately | ||
|
||
* Describe the bug with as much detail as you can | ||
|
||
* Include the version of the project containing the bug you're reporting | ||
|
||
* Include your operating system information (`uname -a`) | ||
|
||
* Include a list of third party modules that are installed and/or loaded | ||
|
||
* Explain the behavior you expected to see (and why) vs. what actually happened | ||
|
||
Once you've got that covered - there's still more to include if you want to | ||
make a ***killer*** report: | ||
|
||
* Describe the ***exact steps*** that reproduce the problem | ||
|
||
* Provide **specific** examples to demonstrate those steps | ||
|
||
* If your bug is from an older version, make sure test against the latest (and/or the `maint` branch) | ||
|
||
* Include any screenshots that can help explain the issue | ||
|
||
* Include a file containing `strace` and/or `valgrind` output | ||
|
||
* Explain when the problem started happening: was it after an upgrade? or was it always present? | ||
|
||
* Define how reliably you can reproduce the bug | ||
|
||
* Any other information that you decide is relevant is also welcome | ||
|
||
## Enhancements | ||
|
||
An enhancement is either a completely new feature or an improvement to existing | ||
functionality. We consider it to be a bit different than idea - based solely | ||
on the fact that it's more detailed than an idea would be. | ||
|
||
So you've got an idea for an ehancement? Great! | ||
|
||
Following the guidelines outlined in this section allows maintainers, developers, and | ||
the community to understand your enhancement and determine whether or not it's worth | ||
doing and/or what's involved in carrying it out. | ||
|
||
Make sure to search open and closed Issues and Pull Requests to determine if | ||
someone has either submitted the enhancement. If you feel like your enhancement | ||
is similar to one found, make sure to link the original in your request. | ||
|
||
Enhancements are submitted by opening an Issue. | ||
|
||
Unlike an [Idea](#idea), when you decide to submit your enhancement and open | ||
the Issue, we require at least the following information: | ||
|
||
* Use a clear and descriptive title to illustrate the enhancement you're requesting | ||
|
||
* Describe the current behavior (if it exists) and what changes you think should be made | ||
|
||
* Explain the enhancement in detail - make sure it makes sense and is easily understandable | ||
|
||
* Specify why the enhancement would be useful and who it would be useful to | ||
|
||
* If there is some other project or program where this enhancement already exists, make sure | ||
to link to it | ||
|
||
Beyond that, there are a few more things you can do to make sure you **really** get your | ||
point across: | ||
|
||
* Create a mockup of the enhancement (if applicable) and attach whatever files you can | ||
|
||
* Provide a step-by-step description of the suggested enhancement | ||
|
||
* Generate a fully dressed use-case for the enhancement request | ||
|
||
* Create a specification for the preferred implementation of the enhancement | ||
|
||
* Include a timeline regarding development expectations towards the request | ||
|
||
## Submitting Code | ||
|
||
Everything else in this document has lead up to this moment - how can ***you*** submit | ||
code to the **project**. | ||
|
||
We allow code submissions via [Pull Requests](https://help.github.com/articles/about-pull-requests/). | ||
These let you (and us) discuss and review any changes to code in any repository you've made. | ||
|
||
How to create and manage Pull Requests is outside of the scope of this document, but make | ||
sure to check out GitHub's official documentation ([link here](https://help.github.com/)) | ||
to get a handle on it. | ||
|
||
While you're forking the repository to create a patch or an enhancement, create a *new | ||
branch* to make the change - it will be easier to submit a pull request using a new | ||
branch in your forked repository! | ||
|
||
When you submit a Pull Request, make sure you follow the guidelines: | ||
|
||
* Make sure you're submitting to the proper branch. Branch `maint` is used for the | ||
**next** bugfix release. The next enhancement release branch will vary. | ||
|
||
* ***NEVER*** submit a Pull Request to `master` branch. | ||
|
||
* Keep commit messages as concise as possible. | ||
* Update the appropriate files in regards to your changes: | ||
|
||
* `CHANGES` | ||
|
||
* `THANKS` | ||
|
||
* End all committed files with a newline. | ||
|
||
* Test your changes and include the results as a comment. |
Oops, something went wrong.