Browse Source

Merge pull request #2609 from ivaynberg/issue_1535_contributor_guidelines

Add contributing guidelines
Kevin Brown 10 years ago
parent
commit
c814143df8
2 changed files with 121 additions and 4 deletions
  1. 107 0
      CONTRIBUTING.md
  2. 14 4
      README.md

+ 107 - 0
CONTRIBUTING.md

@@ -0,0 +1,107 @@
+Contributing to Select2
+=======================
+Looking to contribute something to Select2? **Here's how you can help.**
+
+Please take a moment to review this document in order to make the contribution
+process easy and effective for everyone involved.
+
+Following these guidelines helps to communicate that you respect the time of
+the developers managing and developing this open source project. In return,
+they should reciprocate that respect in addressing your issue or assessing
+patches and features.
+
+Using the issue tracker
+-----------------------
+When [reporting bugs][reporting-bugs] or
+[requesting features][requesting-features], the
+[issue tracker on GitHub][issue-tracker] is the recommended channel to use.
+
+The issue tracker **is not** a place for support requests. The
+[mailing list][mailing-list] or [IRC channel][irc-channel] are better places to
+get help.
+
+Reporting bugs with Select2
+---------------------------
+We really appreciate clear bug reports that _consistently_ show an issue
+_within Select2_.
+
+The ideal bug report follows these guidelines:
+
+1. **Use the [GitHub issue search][issue-search]**  — Check if the issue
+   has already been reported.
+2. **Check if the issue has been fixed**  — Try to reproduce the problem
+   using the code in the `master` branch.
+3. **Isolate the problem**  — Try to create an
+   [isolated test case][isolated-case] that consistently reproduces the problem.
+
+Please try to be as detailed as possible in your bug report, especially if an
+isolated test case cannot be made. Some useful questions to include the answer
+to are:
+
+- What steps can be used to reproduce the issue?
+- What is the bug and what is the expected outcome?
+- What browser(s) and Operating System have you tested with?
+- Does the bug happen consistently across all tested browsers?
+- What version of jQuery are you using? And what version of Select2?
+- Are you using Select2 with other plugins?
+
+All of these questions will help people fix and identify any potential bugs.
+
+Requesting features in Select2
+------------------------------
+Select2 is a large library that carries with it a lot of functionality. Because
+of this, many feature requests will not be implemented in the core library.
+
+Before starting work on a major feature for Select2, **contact the
+[community][community] first** or you may risk spending a considerable amount of
+time on something which the project developers are not interested in bringing
+into the project.
+
+### Select2 4.0
+
+Many feature requests will be closed off until 4.0, where Select2 plans to adopt
+a more flexible API.  If you are interested in helping with the development of
+the next major Select2 release, please send a message to the
+[mailing list][mailing-list] or [irc channel][irc-channel] for more information.
+
+Triaging issues and pull requests
+---------------------------------
+Anyone can help the project maintainers triage issues and review pull requests.
+
+### Handling new issues
+
+Select2 regularly receives new issues which need to be tested and organized.
+
+When a new issue that comes in that is similar to another existing issue, it
+should be checked to make sure it is not a duplicate.  Duplicates issues should
+be marked by replying to the issue with "Duplicate of #[issue number]" where
+`[issue number]` is the url or issue number for the existing issue.  This will
+allow the project maintainers to quickly close off additional issues and keep
+the discussion focused within a single issue.
+
+If you can test issues that are reported to Select2 that contain test cases and
+confirm under what conditions bugs happen, that will allow others to identify
+what causes a bug quicker.
+
+### Reviewing pull requests
+
+It is very common for pull requests to be opened for issues that contain a clear
+solution to the problem.  These pull requests should be rigorously reviewed by
+the community before being accepted.  If you are not sure about a piece of
+submitted code, or know of a better way to do something, do not hesitate to make
+a comment on the pull request.
+
+It should also be made clear that **all code contributed to Select** must be
+licensable under the [Apache 2 or GPL 2 licenses][licensing].  Code that cannot
+be released under either of these licenses **cannot be accepted** into the
+project.
+
+[community]: https://github.com/ivaynberg/select2#community
+[reporting-bugs]: #reporting-bugs-with-select2
+[requesting-features]: #requesting-features-in-select2
+[issue-tracker]: https://github.com/ivaynberg/select2/issues
+[mailing-list]: https://github.com/ivaynberg/select2#mailing-list
+[irc-channel]: https://github.com/ivaynberg/select2#irc-channel
+[issue-search]: https://github.com/ivaynberg/select2/search?q=&type=Issues
+[isolated-case]: http://css-tricks.com/6263-reduced-test-cases/
+[licensing]: https://github.com/ivaynberg/select2#copyright-and-license

+ 14 - 4
README.md

@@ -66,15 +66,16 @@ Documentation
 
 The documentation for Select2 is available [through GitHub Pages](https://ivaynberg.github.io/select2/) and is located within this repository in the [`gh-pages` branch](https://github.com/ivaynberg/select2/tree/gh-pages).
 
-Bug tracker
------------
+Community
+---------
+
+### Bug tracker
 
 Have a bug? Please create an issue here on GitHub!
 
 https://github.com/ivaynberg/select2/issues
 
-Mailing list
-------------
+### Mailing list
 
 Have a question? Ask on our mailing list!
 
@@ -82,6 +83,15 @@ [email protected]
 
 https://groups.google.com/d/forum/select2
 
+### IRC channel
+
+Need help implementing Select2 in your project? Ask in our IRC channel!
+
+**Network:** [Freenode](https://freenode.net/) (`chat.freenode.net`)
+
+**Channel:** `#select2`
+
+**Web access:** https://webchat.freenode.net/?channels=select2
 
 Copyright and license
 ---------------------