Dependency licenses
license.Rmdwispack 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