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

GPL virality when using RInno #46

Closed
alamit opened this issue Jan 29, 2018 · 2 comments
Closed

GPL virality when using RInno #46

alamit opened this issue Jan 29, 2018 · 2 comments

Comments

@alamit
Copy link

alamit commented Jan 29, 2018

I am wondering about licensing issues with apps distributed with RInno.

As from what I could understand, GPL virality does not apply when distributing R packages as the dependencies are not linked at the moment of distribution. Hadley Wickham's answer on this

However, once distributing an app packaged with RInno, even if the imported packages are installed on the first run of the app, I think one could argue that the app is packaged as one executable and that the app cannot run without the required packages, as the FSF states here then virality of the GPL license would apply.

Because lot of packages on CRAN have license incompatibilities, for example, if one wanted to create a shiny app using shinydashboard and distribute in an RInno packaged installer, there would be a clear license compatibility issue as shiny is GPL-3 only, shinydashboard is GPL-2 only, and these licenses are not compatible as stated here. It could become a big issue for people using RInno to distribute applications.

What do you think?

@Dripdrop12
Copy link
Member

I don't believe GPL virality applies to RInno because it installs packages from CRAN on the end user's computer. The executable does not deliver them as one cohesive piece of software. It just includes the metadata required to manage a shiny application's start up sequence and dependencies.

RInno organizes the batch sequence to start the app and finds the other software it needs (like a browser), but it does not link to them any more than they are linked to when you library them into any R environment. There are no shared data structures or objects.

I do believe you are correct to dig into the license compatibility of various packages and how they interact with each other. It is an important consideration. Do you have a good definition for "linked"? My understanding is that for two software to be linked, they need to share low-level object and data structures.

There are numerous examples of GPL packages that help connect to proprietary databases in a much more direct way or visualization packages that use JavaScript libraries not licensed under the GPL.

@Dripdrop12
Copy link
Member

Dripdrop12 commented Feb 1, 2018

At its core, RInno produces instructions for Inno Setup and configs for the shiny app. Visual Studio and other IDEs help automate configurations and even compile applications as well. There is nothing about RInno's design that is directly linked to other R packages. The closest example is installr, which RInno uses to install Inno Setup and other software in the development environment.

The only time where GPL really could be an issue is if you want to build a proprietary system that links with RInno to deliver services to customers. For example, if you wanted to use RInno::create_app in the UI of a proprietary system to release shiny apps as .exe files...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants