Skip to contents

wispack links three pieces of code whose licenses need to be read together: Rcpp (GPL (>= 2)), Stan Math’s Intel TBB dependency (Apache License 2.0), and wispack’s own code (GPL (>= 3), see LICENSE). The Stan project’s own licensing page states a real conflict here, but it’s narrower than it sounds out of context, and it doesn’t block this package.

The conflict, as the Stan project states it: Apache License 2.0 and GPL version 2 cannot be combined into a single distributed binary. The Free Software Foundation has never considered Apache 2.0 compatible with GPLv2, because Apache 2.0’s patent-termination clause has no counterpart in GPLv2’s text. See the Stan wiki’s Licensing page and the FSF’s license list (entry for “Apache License 2.0”).

Why that doesn’t block wispack: GPLv3 was written specifically to fix this. Both the FSF’s license list and the Apache Software Foundation’s own compatibility page state that Apache 2.0 code can be combined with GPLv3 code and the combination distributed under GPLv3 (the reverse – GPLv3 code going into an Apache-licensed project – doesn’t hold, but that’s not the direction this package needs). Separately, Rcpp’s own License: field is GPL (>= 2) – “version 2 or any later version” – so Rcpp itself permits being used and redistributed under GPLv3 terms, not only GPLv2.

Putting those together: wispack is licensed GPL (>= 3), and distributing the combination of wispack + Rcpp + Stan Math + TBB as a whole under GPLv3 is exactly the case both the FSF and the ASF say is fine. This isn’t a one-off argument specific to wispack, either – it’s the resolution the R/Stan ecosystem already relies on. RcppParallel, the CRAN package that actually ships the compiled TBB libraries wispack links against (via StanHeaders), is itself licensed GPL (>= 3) for this exact reason, and rstan/brms/rstanarm all ship CRAN binaries bundling Stan Math + TBB under the identical pattern. (The conflict would only be a real blocker for a package that was itself locked to GPLv2-only with no “or later” clause – which is a choice, not something TBB or Stan Math force on a downstream package.)

Rcpp

by: Dirk Eddelbuettel, Romain Francois, JJ Allaire, Kevin Ushey, Qiang Kou, Nathan Russell, Iñaki Ucar, Doug Bates, and John Chambers

https://cran.r-project.org/web/packages/Rcpp/index.html
https://github.com/RcppCore/Rcpp/tree/master

GPL (>= 2) – i.e. GPL version 2 or any later version, per Rcpp’s own DESCRIPTION file https://github.com/RcppCore/Rcpp/blob/master/LICENSE https://github.com/RcppCore/Rcpp/blob/0905d92e0046de5f171d4fde752d97e8733738be/LICENSE

Stan Math

Bob Carpenter
https://bob-carpenter.github.io/

https://mc-stan.org/math/
https://github.com/stan-dev/math

BSD 3-Clause License

The Stan Math Library depends on the Intel TBB library (via RcppParallel), which is licensed under the Apache 2.0 license. This dependency implies an additional restriction as compared to the new BSD license alone: Apache 2.0 code can’t be combined with GPLv2-only code in one distributed binary. See the explanation at the top of this page for why that doesn’t affect wispack, which is licensed GPL (>= 3).

Boost / BH

Copyright Beman Dawes, David Abrahams, 1998-2005.
Copyright Rene Rivera 2004-2007.

https://www.boost.org/
https://github.com/boostorg

Boost license 1.0
https://www.boost.org/LICENSE_1_0.txt
https://github.com/boostorg/boost/blob/master/LICENSE_1_0.txt

“Boost Software License - Version 1.0 - August 17th, 2003

Permission is hereby granted, free of charge, to any person or organization obtaining a copy of the software and accompanying documentation covered by this license (the “Software”) to use, reproduce, display, distribute, execute, and transmit the Software, and to prepare derivative works of the Software, and to permit third-parties to whom the Software is furnished to do so, all subject to the following:

The copyright notices in the Software and this entire statement, including the above license grant, this restriction and the following disclaimer, must be included in all copies of the Software, in whole or in part, and all derivative works of the Software, unless such copies or derivative works are solely in the form of machine-executable object code generated by a source language processor.

THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.”

Eigen

The Eigen project was started by Benoît Jacob (founder) and Gaël Guennebaud (guru). Many other people have since contributed their talents to help make Eigen successful.

https://eigen.tuxfamily.org/ https://gitlab.com/libeigen/eigen

MPL2 (Mozilla Public License) https://www.mozilla.org/en-US/MPL/2.0/FAQ/

RcppEigen

Douglas Bates, Dirk Eddelbuettel, Romain Francois, and Yixuan Qiu

https://github.com/RcppCore/RcppEigen https://cran.r-project.org/web/packages/RcppEigen/index.html

GPL (>= 2) – note this is the license the RcppEigen integration into R (the glue code) is distributed under; it bundles the MPL2-licensed Eigen library described above, which retains its own license for that bundled code – the same split RcppParallel/oneTBB has below. See RcppEigen’s own LICENSE file: https://github.com/RcppCore/RcppEigen/blob/master/LICENSE

SUNDIALS

Lawrence Livermore National Security and Southern Methodist University.

https://computing.llnl.gov/projects/sundials

BSD 3-Clause License Copyright (c) 2002-2019

RcppParallel

Kevin Ushey, JJ Allaire, Romain Francois, Gregory Vandenbrouck, Dirk Eddelbuettel, and others

https://rcppcore.github.io/RcppParallel/ https://github.com/RcppCore/RcppParallel

GPL (>= 3) – note this is the license RcppParallel itself (the R package, i.e. the glue code) is distributed under; it bundles the Apache 2.0-licensed oneTBB library described below, which retains its own license for that bundled code. See the explanation at the top of this page.

oneTBB

Unified Acceleration (UXL) Foundation

https://github.com/uxlfoundation/oneTBB

Apache 2.0
https://github.com/uxlfoundation/oneTBB/blob/master/LICENSE.txt

nlopt

Steven G. Johnson The NLopt nonlinear-optimization package

http://github.com/stevengj/nlopt https://nlopt.readthedocs.io/en/latest/

GNU Lesser General Public License (LGPL) https://nlopt.readthedocs.io/en/latest/NLopt_License_and_Copyright/

wispack no longer links a system NLopt install directly. It instead gets NLopt through the CRAN package nloptr (LinkingTo), calling into NLopt’s C API via nloptr’s registered R_GetCCallable routines (src/wisp_nlopt.h) rather than linking against -lnlopt. This is a portability fix, not a license change: nloptr bundles/builds the same upstream NLopt library described above and is itself licensed LGPL (>= 3) – see below.

nloptr

Jelmer Ypma, Aymeric Stamm, and other contributors (full list in its own DESCRIPTION) An R interface to NLopt, used here only for its C API (not its R-level solver functions)

https://github.com/astamm/nloptr https://astamm.github.io/nloptr/

LGPL (>= 3) https://github.com/astamm/nloptr/blob/main/LICENSE

unistd.h, part of the C POSIX library

The IEEE and The Open Group
https://pubs.opengroup.org/onlinepubs/9799919799/
https://www.opengroup.org/membership/forums/platform/unix

https://pubs.opengroup.org/onlinepubs/7908799/xsh/unistd.h.html

Available and licensed on your local system

ggplot2

by: ggplot2 core developer team

https://ggplot2.tidyverse.org/

The MIT license https://github.com/tidyverse/ggplot2

gridExtra

Baptiste Auguie and Anton Antonov

https://cran.r-project.org/web/packages/gridExtra/index.html https://github.com/baptiste/gridextra

GPL (>= 2), per gridExtra’s own DESCRIPTION file

colorspace

Ross Ihaka, Paul Murrell, Kurt Hornik, Jason C. Fisher, Reto Stauffer, Claus O. Wilke, Claire D. McWhite, and Achim Zeileis

https://cran.r-project.org/web/packages/colorspace/index.html https://colorspace.R-Forge.R-project.org/

BSD 3-Clause License https://cran.r-project.org/web/packages/colorspace/LICENSE

RColorBrewer

Erich Neuwirth

https://cran.r-project.org/web/packages/RColorBrewer/index.html

Apache License 2.0, per RColorBrewer’s own DESCRIPTION file

Liver lobule data

From Jakob El Kholtei, Colas Droin, and Felix Naef

https://github.com/naef-lab/Circadian-zonation

From: https://doi.org/10.1038/s42255-020-00323-1

License unknown

Liver lobule graphic

Human Reference Atlas. (12/18/2024). Liver Lobule. NIAID NIH BIOART Source. bioart.niaid.nih.gov/bioart/565

CC BY 4.0 https://creativecommons.org/licenses/by/4.0/