|
| 1 | + |
| 2 | +## Contributing to Rcpp |
| 3 | + |
| 4 | +Interested in contributing? Great! We really welcome bug reports and pull |
| 5 | +requests that expand and improve the functionality of Rcpp from all |
| 6 | +contributors. |
| 7 | + |
| 8 | +### Reporting an Issue |
| 9 | + |
| 10 | +When reporting an issue, the most important thing you can provide is a |
| 11 | +[reproducible example](http://www.sscce.org/). Please include the smallest |
| 12 | +possible example that illustrates the issue -- when possible, provide a snippet |
| 13 | +of C++ code that can be run using `Rcpp::sourceCpp()`; if it's not possible or |
| 14 | +feasible to provide such an example, provide clear instructions on how to |
| 15 | +reproduce the problem. The less effort it takes to reproduce an issue, the more |
| 16 | +likely a contributor will be able to investigate the issue + resolve the |
| 17 | +problem. Also see this StackOverflow answer on |
| 18 | +[creating a reproducible example](http://stackoverflow.com/a/5963610/143305). |
| 19 | + |
| 20 | +Issues that cannot be reproduced are unlikely to receive attention, as it is |
| 21 | +often difficult, if not impossible, to ascertain whether Rcpp is truly the |
| 22 | +culprit, or what part of Rcpp could be responsible. |
| 23 | + |
| 24 | +Please also supply the output of `sessionInfo()` when reporting an issue. |
| 25 | + |
| 26 | +### Submitting a Pull Request |
| 27 | + |
| 28 | +Considering submitting a pull request? It is strongly recommended that you first |
| 29 | +post an issue outlining some motivation for your pull request to ensure that |
| 30 | +some discussion around the appropriate resolution for the issue occurs first. |
| 31 | + |
| 32 | +We would prefer it if your PR also included |
| 33 | +[unit tests](https://github.com/RcppCore/Rcpp/tree/master/inst/unitTests). Additions |
| 34 | +to the [ChangeLog](https://github.com/RcppCore/Rcpp/blob/master/ChangeLog) and |
| 35 | +[NEWS](https://github.com/RcppCore/Rcpp/blob/master/inst/NEWS.Rd) are also |
| 36 | +appreciated. |
| 37 | + |
| 38 | +Please note that C++ code in Rcpp must adhere to the C++98 standard. C++11 (and |
| 39 | +above) extensions are allowed, but must be appropriately guarded so that such |
| 40 | +code still successfully compiles under the C++98 standard. |
| 41 | + |
| 42 | +### Asking Questions |
| 43 | + |
| 44 | +Please direct general questions to the |
| 45 | +[Rcpp-devel](http://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/rcpp-devel) |
| 46 | +mailing list (preferred, note that only subscribers can post), or alternatively |
| 47 | +post a question on |
| 48 | +[Stack Overflow](http://stackoverflow.com/questions/tagged/rcpp) using the |
| 49 | +`[Rcpp]` tag. |
| 50 | + |
| 51 | +Are you a new user of Rcpp? You might find the |
| 52 | +[vignettes](https://cran.r-project.org/package=Rcpp) helpful in getting |
| 53 | +acquainted with the functionality Rcpp provides. The |
| 54 | +[Rcpp Gallery](http://gallery.rcpp.org/) contains a large number of examples. |
| 55 | + |
| 56 | +### Copyright |
| 57 | + |
| 58 | +Rcpp is released as a [CRAN](https://cran.r-project.org/package=Rcpp) package, |
| 59 | +licensed under the |
| 60 | +[GPL-2](http://www.gnu.org/licenses/old-licenses/gpl-2.0.en.html) (or later) |
| 61 | +[Open Source](https://opensource.org) / |
| 62 | +[Free Software](http://www.gnu.org/philosophy/free-sw.en.html) |
| 63 | +license -- just like R itself. Aggregated works, i.e. code linking to R such as |
| 64 | +Rcpp will always be under this license. Your contribution has to be under a |
| 65 | +compatible licence. And to simplify matters, we strongly prefer contributions |
| 66 | +under the same terms of the GPL (>= 2) and will in general assume this license |
| 67 | +unless explicitly stated otherwise. |
0 commit comments