aboutsummaryrefslogtreecommitdiff
path: root/vendor/github.com/microcosm-cc/bluemonday/CONTRIBUTING.md
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/microcosm-cc/bluemonday/CONTRIBUTING.md')
-rw-r--r--vendor/github.com/microcosm-cc/bluemonday/CONTRIBUTING.md52
1 files changed, 52 insertions, 0 deletions
diff --git a/vendor/github.com/microcosm-cc/bluemonday/CONTRIBUTING.md b/vendor/github.com/microcosm-cc/bluemonday/CONTRIBUTING.md
new file mode 100644
index 0000000..1d4b244
--- /dev/null
+++ b/vendor/github.com/microcosm-cc/bluemonday/CONTRIBUTING.md
@@ -0,0 +1,52 @@
1# Contributing to bluemonday
2
3Third-party patches are essential for keeping bluemonday secure and offering the features developers want. However there are a few guidelines that we need contributors to follow so that we can maintain the quality of work that developers who use bluemonday expect.
4
5## Getting Started
6
7* Make sure you have a [Github account](https://github.com/signup/free)
8
9## Guidelines
10
111. Do not vendor dependencies. As a security package, were we to vendor dependencies the projects that then vendor bluemonday may not receive the latest security updates to the dependencies. By not vendoring dependencies the project that implements bluemonday will vendor the latest version of any dependent packages. Vendoring is a project problem, not a package problem. bluemonday will be tested against the latest version of dependencies periodically and during any PR/merge.
122. I do not care about spelling mistakes or whitespace and I do not believe that you should either. PRs therefore must be functional in their nature or be substantial and impactful if documentation or examples.
13
14## Submitting an Issue
15
16* Submit a ticket for your issue, assuming one does not already exist
17* Clearly describe the issue including the steps to reproduce (with sample input and output) if it is a bug
18
19If you are reporting a security flaw, you may expect that we will provide the code to fix it for you. Otherwise you may want to submit a pull request to ensure the resolution is applied sooner rather than later:
20
21* Fork the repository on Github
22* Issue a pull request containing code to resolve the issue
23
24## Submitting a Pull Request
25
26* Submit a ticket for your issue, assuming one does not already exist
27* Describe the reason for the pull request and if applicable show some example inputs and outputs to demonstrate what the patch does
28* Fork the repository on Github
29* Before submitting the pull request you should
30 1. Include tests for your patch, 1 test should encapsulate the entire patch and should refer to the Github issue
31 1. If you have added new exposed/public functionality, you should ensure it is documented appropriately
32 1. If you have added new exposed/public functionality, you should consider demonstrating how to use it within one of the helpers or shipped policies if appropriate or within a test if modifying a helper or policy is not appropriate
33 1. Run all of the tests `go test -v ./...` or `make test` and ensure all tests pass
34 1. Run gofmt `gofmt -w ./$*` or `make fmt`
35 1. Run vet `go tool vet *.go` or `make vet` and resolve any issues
36 1. Install golint using `go get -u github.com/golang/lint/golint` and run vet `golint *.go` or `make lint` and resolve every warning
37* When submitting the pull request you should
38 1. Note the issue(s) it resolves, i.e. `Closes #6` in the pull request comment to close issue #6 when the pull request is accepted
39
40Once you have submitted a pull request, we *may* merge it without changes. If we have any comments or feedback, or need you to make changes to your pull request we will update the Github pull request or the associated issue. We expect responses from you within two weeks, and we may close the pull request is there is no activity.
41
42### Contributor Licence Agreement
43
44We haven't gone for the formal "Sign a Contributor Licence Agreement" thing that projects like [puppet](https://cla.puppetlabs.com/), [Mojito](https://developer.yahoo.com/cocktails/mojito/cla/) and companies like [Google](http://code.google.com/legal/individual-cla-v1.0.html) are using.
45
46But we do need to know that we can accept and merge your contributions, so for now the act of contributing a pull request should be considered equivalent to agreeing to a contributor licence agreement, specifically:
47
48You accept that the act of submitting code to the bluemonday project is to grant a copyright licence to the project that is perpetual, worldwide, non-exclusive, no-charge, royalty free and irrevocable.
49
50You accept that all who comply with the licence of the project (BSD 3-clause) are permitted to use your contributions to the project.
51
52You accept, and by submitting code do declare, that you have the legal right to grant such a licence to the project and that each of the contributions is your own original creation.