From 6c68b33108faabb7f707d0bce3c1339b4f58e9dc Mon Sep 17 00:00:00 2001 From: Paul Gear Date: Mon, 4 Nov 2013 13:42:01 +1000 Subject: [PATCH] Add contributing guidelines --- doc/CONTRIBUTING.md | 51 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 doc/CONTRIBUTING.md diff --git a/doc/CONTRIBUTING.md b/doc/CONTRIBUTING.md new file mode 100644 index 0000000000..1688842a0f --- /dev/null +++ b/doc/CONTRIBUTING.md @@ -0,0 +1,51 @@ +Guidelines for contributing to LibreNMS +--------------------------------------- + +- Don't submit code whose license conflicts with the GPLv3. If you're not + sure, consult the [Free Software Foundation's license list][1] and see if + your code's license is on the compatible or incompatible list. + - The SNMP MIBs may be moved to a separate repository soon due to this + issue. We will do everything we can to ensure this has minimal impact. + - The current Observium license is incompatible with GPLv3. Do not submit + patches from current Observium unless you are the copyright holder, and + specifically note that you are releasing it under GPLv3. + +- Test your patches first. It's easy to set up git to push to a bare + repository on a local test system, and pull from this into your live + installation at very frequent intervals. + +- Don't break the poller. User interface blemishes are not critical, but + losing data from network monitoring systems might be. + +- Please join us in IRC at irc.freenode.net in channel ##librenms if you're + able. Collaborating in real time makes the coordination of contributions + easier. + + +Proposed workflow for submitting pull requests (currently untested) +------------------------------------------------------------------- + +This is a proposed workflow designed to minimise the scope of merge +conflicts when submitting pull requests: +- Fork the [LibreNMS repo master branch][2] in your own GitHub account. +- Create an [issue][3] explaining what work you plan to do. +- Create a branch in your copy of the repo called issue-###, where ### is + the issue number you created. +- Make and test your changes in the issue branch as needed - this might take + a few days or weeks. +- When you are happy with your issue branch's changes and ready to submit + your patch, update your copy of the master branch to the current revision; + this should just result in a fast forward of your copy of master. +- Rebase your issue branch from your clone of master. Fix any conflicts at + this stage. +- Merge your issue branch back into of your copy of master. Again, this + should be a simple fast forward. +- Submit a pull request for your patch from your copy of master. + +[1]: http://www.gnu.org/licenses/license-list.html +"Free Software Foundation's license list" +[2]: https://github.com/librenms/librenms/tree/master +"LibreNMS master branch" +[3]: https://github.com/librenms/librenms/issues +"LibreNMS issue database" +