Comments (9)
@jan-glx Very sorry for the slow response. Wasn't ignoring this question, it just got lost in the tons of issues and emails! Anyway, the issue with the license fundamentally has to do with the license for the Rcpp package. @bgoodri told me that https://github.com/facebook/prophet (which uses RStan and hence Rcpp) gets around this somehow, but I'm not sure exactly what they do.
from rstantools.
I have almost no legal education, but as far as I understand, the Rcpp library and the Libraries are only linked against when a user installs my package so there is no need for me to license my code under GPL because of this (I would need to for binary builds and my lincence would need to be GPL compatible, eg. MIT). However, since rstantools downloads that GPL-licensed make_cc
source code file from ratanarm
I am restricted to publish my package under GPL.
You could lift that restriction from users of you package in three ways:
- re-implement
make_cc.R
etc. and licence und MIT or BSD - ask rstanarm authors to licence these files under MIT or BSD
- perform the download and patching of
make_cc.R
etc. on the installation of your user's packages
BTW, I think you could publish your package under MIT - depending on a GPL R package does not require your package to be GPL (otherwise all R packages would be (since they depend on base).
from rstantools.
Thanks for following up. I'm afraid I don't have much legal education either on this topic, but some of my stan-dev colleagues know a lot more than I do about these issues. @bgoodri any thoughts on this? If it's true that one of the options suggested by @jan-glx would lift the restriction then I'm certainly in favor of doing it.
from rstantools.
from rstantools.
Yes, if the package is distributed as binary this binary package by CRAN it needs to be licensed under GPL in the opinion of the FSF.
And other than the authors of e.g. the rubias
, fourierin,
treespaceand
tokenizers` packages, I probably would not risk myself to be sued by Rcore or Rcpp authors or any of their dependencies.
However, all that does not matter for the distribution of the source version of my package or at least the source code itself. In the current situation I could licence all code of my package under e.g. MIT except for the files added by rstantools which force me to license the combination under GPL.
from rstantools.
@bgoodri, if @jan-glx is right about source versions then is there a way we can avoid having to pull the gpl files from rstanarm and still make rstan_package_skeleton do what we need it to do?
from rstantools.
from rstantools.
Closing this issue given its age, but feel free to re-open if it was never resolved
from rstantools.
It seems like this issue was indeed fixed in e44ffad and related commits (when switching from downloading accessory files from stanarm codebase to copying files from /inst.
from rstantools.
Related Issues (20)
- GHA failure of new standalone functions checks HOT 1
- Problem with line endings in automatically generated src/ files HOT 1
- Problems with compiling mixutre models on Windows (rstantools 2.3.0) HOT 4
- auto detect need for recompile? HOT 9
- Auto-format Stan models during rstan_config()? HOT 5
- loo_R2 gives different diagnostic than loo()
- Makevars doesn't pass CRAN checks HOT 10
- `No such symbol` error on installing package that uses rstantools HOT 8
- add posterior_epred generic
- include problem with some versions of rstantools 2.x and/or StanHeaders HOT 43
- errors if user model is called base.stan HOT 1
- Are ALL stan models recompiled when a package is updated? HOT 3
- LoadLibrary failure for Prophet on Windows HOT 11
- configure files in packages made with rstan_create_package() produces a note when running R CMD check HOT 3
- switch to github actions for CI
- don't create travis.yml
- Github actions workflow - test against rstan experimental or preview? HOT 2
- Backwards compatibility issue with model names HOT 1
- rstantools cannot find `stan/version.hpp` HOT 6
- R CMD check NOTE about Imports: RcppParallel HOT 5
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from rstantools.