From 3447f33dee731225f1951e9ede81a55677242ef2 Mon Sep 17 00:00:00 2001 From: Florian Forster Date: Fri, 12 Aug 2016 17:16:19 +0200 Subject: [PATCH] CONTRIBUTING.md: Give more concrete advice on writing bugs and PRs. --- CONTRIBUTING.md | 94 +++++++++++++++++++++++++++++-------------------- 1 file changed, 56 insertions(+), 38 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index befb76e6..74dd42ec 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,38 +1,56 @@ -# Thanks ! - -Thanks for your feedback & contributions to the -[collectd project](https://collectd.org/) ! - -## Need help using collectd ? - -Please use the -[collectd mailing list](http://mailman.verplant.org/listinfo/collectd) or the -[#collectd IRC channel](https://webchat.freenode.net/?channels=#collectd). -We'd like to keep the github issue tracker for bugreports and patch reviews. - -## Found a bug ? - -Please mention the exact collectd version you're using, how it was installed -(built from source, or installed from packages. Where was it downloaded -from). Which operating system/architecture, distribution and version are you -running collectd on. - -If collectd crashes, try to get a -[stack trace](https://collectd.org/wiki/index.php/Core_file). - -## Fixed a bug ? Want to add a feature ? - -Using git/github to submit changes is not mandatory. Sending patches to the -[mailing-list](http://mailman.verplant.org/listinfo/collectd) is also fine. -In both cases, take a quick look at the -[submission guidelines](https://collectd.org/wiki/index.php/Submitting_patches) -and the [coding style recommendations](https://collectd.org/wiki/index.php/Coding_style). - -Please try to submit **bugfixes** to the -[oldest release branch](https://github.com/collectd/collectd/milestones) on -which the bug is found, so that it gets included in every future **bugfix -release**. - -Please try to submit **new features** to the master branch (which will become -the next **feature release**). - +# Contribution guidelines + +Thanks for taking the time to contribute to the [collectd +project](https://collectd.org/)! This document tries to give some guidance to +make the process of contributing to *collectd* as pleasant and possible. + +## Bug reports + +Please report bugs as [GitHub +Issues](https://github.com/collectd/collectd/issues). Try to answer the +following questions: + +* Which version of *collectd* are you using? +* How can we reproduce the problem you're having? +* What is the expected behavior / output? +* What is the actual (observed) behavior / output? +* If *collectd* crashes, try to get a + [stack trace](https://collectd.org/wiki/index.php/Core_file). + +Please monitor your issue for a couple of days and reply to questions. To keep +the project manageable have to do some housekeeping, meaning we will close +issues that have become stale. + +## Code contributions + +Please open a [GitHub Pull Request](https://github.com/collectd/collectd/pulls) +(PR) to contribute bug fixes, features, cleanups, new plugins, … Patches sent to +the mailing list have a tendency to fall through the cracks. + +* *Focus:* Fix *one thing* in your PR. The smaller your change, the faster it + will be reviewed and merged. +* *Coding style:* Please run `clang-format -style=file -i $FILE` on new files. + For existing files, please blend into surrounding code, i.e. mimic the + coding style of the code around your changes. +* *Documentation:* New config options need to be documented in two places: the + manpage (`src/collectd.conf.pod`) and the example config + (`src/collectd.conf.in`). +* *Continuous integration:* Once your PR is created, our continuous + integration environment will try to build it on a number of platforms. If + this reports a failure, please investigate and fix the problem. We will at + best do a very casual review for failing PRs. +* *Don't rebase:* Rebasing our branch destroys the review history. If a review + takes a long time, we may ask you to rebase on a more recent *master*, but + please don't do it without being asked. +* *types.db:* One of the most common mistakes done by new contributors is the + addition of (many) new *types* in the file `src/types.db`. The majority of + usecases can be met with one of the existing entries. If you plan to add new + entries to `src/types.db`, you should talk to us early in the design + process. + +## Other resources + +* [Mailing list](http://mailman.verplant.org/listinfo/collectd) +* [#collectd IRC channel](https://webchat.freenode.net/?channels=#collectd) + on *freenode*. +* [Old patch submission guideline](https://collectd.org/wiki/index.php/Submitting_patches) -- 2.30.2