Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add CONTRIBUTING.md ? #413

Closed
eddelbuettel opened this issue Jan 9, 2016 · 8 comments
Closed

Add CONTRIBUTING.md ? #413

eddelbuettel opened this issue Jan 9, 2016 · 8 comments

Comments

@eddelbuettel
Copy link
Member

As just seen in #412 we ask for a certain process:

  • ideally, issue ticket first
  • then pull request
    • ideally with tests and documentation

Should we spell that out in a file CONTRIBUTING.md which GitHub supports for these things. Has anybody seen particularly good examples?

Other issues I would like to spell out

  • users can keep their copyright (ie we don't assign)
  • GPL (>= 2) preferred, just like R and the aggregate anything involving Rcpp becomes anyway via R

Anything else? Anybody aware of particularly nice examples?

(And things I can do without is the enforced contributor-code-of-conduct which I am not a huge fan of as an enforced extra rule.)

@thirdwing
Copy link
Member

What about the one from data.table?

https://github.com/Rdatatable/data.table/blob/master/Contributing.md

@eddelbuettel
Copy link
Member Author

Nice. Had not seen that one. Lots of good stuff in there. I guess poor Matt and Arun also get more of those than we do. Currently 1030 closed, and 388 open issues; and 7 open and 66 close pull requests.
I was actually thinking more about PRs but we do need to cover both.

@kevinushey
Copy link
Contributor

Here's a skeleton. It ended up being a bit longer than I wanted, but I think it reads well -- let me know what you think.


Contributing to Rcpp

Interested in contributing? We welcome bug reports and pull requests that expand and improve the functionality of Rcpp from all contributors.

Reporting an Issue

When reporting an issue, the most important thing you can provide is a reproducible example. Please include the smallest possible example that illustrates the issue -- when possible, provide a snippet of C++ code that can be run using Rcpp::sourceCpp(); if it's not possible or feasible to provide such an example, provide clear instructions on how to reproduce the problem. The less effort it takes to reproduce an issue, the more likely a contributor will be able to investigate the issue + resolve the problem.

Issues that cannot be reproduced are unlikely to receive attention, as it is often difficult, if not impossible, to ascertain whether Rcpp is truly the culprit, or what part of Rcpp could be responsible.

Please also supply the output of sessionInfo() when reporting an issue.

Submitting a Pull Request

Considering submitting a pull request? It's strongly preferred that you first post an issue outlining some motivation for your pull request first, just to ensure that some discussion around the appropriate resolution for the issue occurs first.

We'd appreciate it greatly if your PR also includes unit tests, as well as updates to the ChangeLog.

Please note that C++ code in Rcpp must adhere to the C++98 standard. C++11 (and above) extensions are allowed, but must be appropriately guarded so that such code still successfully compiles under the C++98 standard.

Asking Questions

Please direct general questions to the Rcpp-devel mailing list (preferred), or alternatively post a question on Stack Overflow using the [Rcpp] tag.

Are you a new user of Rcpp? You might find the vignettes helpful in getting acquainted with the functionality Rcpp provides.

Copyright

Rcpp is released as a CRAN package, licensed under the GPL-2 open source license. something that says contributions GPL-2 preferred / assumed

@eddelbuettel
Copy link
Member Author

Nice!! It really does read well, and better that eg the (also complete) one at data.table. GPL (>= 2) to "under the GPL-2 or later" and we may stress that folks can use other compatible licenses -- but the aggregate will always be GPL-2 or later.

@jjallaire
Copy link
Member

I think we need to mandate the original license (upgradable GPL) otherwise
we can't actually relicense the aggregate cleanly under the GPL (we'd have
to list multiple licenses)
On Sat, Jan 9, 2016 at 7:09 AM Dirk Eddelbuettel notifications@github.com
wrote:

Nice!! It does read well, and better that eg the (also complete) one at
data.table. GPL (>= 2) to "under the GPL-2 or later" and we may stress that
folks can use other compatible licenses -- but the aggregate will always be
GPL-2 or later.


Reply to this email directly or view it on GitHub
#413 (comment).

@eddelbuettel
Copy link
Member Author

Maybe. But relicensing is often generally ruled as you need buy in from all existing contributions which is rarely feasible. I'm fine either way "as long as the car is black", ie GPL (>= 2) comes up :)

@jjallaire
Copy link
Member

I'm just saying we can't list the package license as a simple GPL 2 if we
have e.g. MIT code in it ( "relicense" was a poor choice of words, I really
meant "publish on CRAN with a GPL 2 license")
On Sat, Jan 9, 2016 at 7:33 AM Dirk Eddelbuettel notifications@github.com
wrote:

Maybe. But relicensing is often generally ruled as you need buy in from
all existing contributions which is rarely feasible. I'm fine either way
"as long as the car is black", ie GPL (>= 2) comes up :)


Reply to this email directly or view it on GitHub
#413 (comment).

@eddelbuettel
Copy link
Member Author

Gotcha. I was sloppy too when I said

we may stress that folks can use other compatible licenses

as that is indeed a minefield. Some, such as LGPL clearly do work within the context of a GPL-2 packages. But best to avoid as much lawyering as possible.

This was referenced Jul 18, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants