## gllvmTMB licensing ## ## gllvmTMB is a standalone Template Model Builder (TMB) package for ## stacked-trait, long-format multivariate generalised linear latent ## variable models (GLLVMs). Except for the components and source lineages ## recorded below, gllvmTMB-specific code (the multi-trait engine, formula ## parser, covariance keyword grid in this release snapshot, response-family ## extensions, diagnostics, and extractors) is licensed GPL-3 by Shinichi ## Nakagawa. ## ## Family constructors (R/families.R) ## ## The 0.7 family-constructor layer is an independently implemented, ## data-driven gllvmTMB design by Shinichi Nakagawa. It is built from the public ## R family-object contract and `stats::make.link()` semantics. The earlier ## development implementation derived from sdmTMB/glmmTMB family code was ## replaced in this 0.7.1 source. The earlier implementation is not present ## in this source tree. Compatibility is guarded by formals, object-field, ## inverse-link, validation, delta, mixed-family, and compiled-engine tests. ## ## Spatial helper lineage (R/mesh.R, R/crs.R, and R/plot.R) ## ## The original gllvmTMB spatial helper layer was derived from sdmTMB's GPL-3 ## implementation. The current helpers were substantially rewritten in place ## against the public fmesher/sf APIs and the published SPDE/GMRF construction. ## gllvmTMB therefore retains conservative sdmTMB attribution rather than ## claiming clean-room authorship. The source baseline is sdmTMB commit ## 8bc452cb743a9efa7b3212653a0f5f2bda3c5ffc (version 0.7.4.9024): ## https://github.com/sdmTMB/sdmTMB/tree/8bc452cb743a9efa7b3212653a0f5f2bda3c5ffc ## ## sdmTMB is GPL-3. Its named authors at that revision include Sean C. ## Anderson, Eric J. Ward, Philina A. English, Lewis A. K. Barnett, and James ## T. Thorson. The DESCRIPTION at the pinned source revision is available at ## https://github.com/sdmTMB/sdmTMB/blob/8bc452cb743a9efa7b3212653a0f5f2bda3c5ffc/DESCRIPTION. ## No sdmTMB runtime or build dependency is required by gllvmTMB. ## ## TMB engine (src/gllvmTMB.cpp) ## ## Except for the same-author drmTMB helpers recorded below, the C++ template ## under src/gllvmTMB.cpp is original gllvmTMB-native code by Shinichi ## Nakagawa, written against the TMB API (Kristensen et al. 2016, ## https://github.com/kaskr/adcomp). TMB is a runtime dependency (Imports + ## LinkingTo in DESCRIPTION) rather than included source. ## ## The reduced-rank covariance interface and its standard identified ## factor-loading parameterisation were informed by glmmTMB's `rr()` model. ## The current cursor-based lower-triangular unpacker is independently written ## for gllvmTMB; no glmmTMB C++ source is included in this engine. ## ## The stable cumulative-logit helpers `gll_log_inv_logit()`, ## `gll_log1m_inv_logit()`, `gll_log1mexp()`, and ## `gll_log_inv_logit_diff()` are copied verbatim from the sister package ## drmTMB (`src/drm_numeric.h`). Both packages are GPL-3 and both are authored ## by Shinichi Nakagawa; this is same-author GPL-3 reuse. ## ## The broader missing-predictor implementation is also same-author GPL-3 ## reuse from drmTMB. It includes the R-side grammar and validators in ## R/missing-predictor.R, the Gaussian/binary/ordered/categorical and grouped ## missing-predictor blocks in src/gllvmTMB.cpp, and their focused tests under ## tests/testthat/test-missing-predictor-*.R. The gllvmTMB code adapts those ## pieces to stacked traits and the package's multi-tier parameter map. ## ## Standalone VA research template (inst/tmb/gllvmTMB_va_r3.cpp) ## ## The standalone variational research template is original gllvmTMB GPL-3 ## code by Shinichi Nakagawa. Its dense-tier factor loadings use an ## independently written cursor-based implementation of the same standard ## identified lower-triangular parameterisation; no glmmTMB C++ source is ## included in this template. ## ## Standalone EVA research template (inst/tmb/gllvmTMB_eva.cpp) ## ## The separate extended-variational research template is also original ## gllvmTMB GPL-3 code by Shinichi Nakagawa. Its identified factor loadings are ## unpacked by an independently written cursor traversal; no glmmTMB C++ ## source is included in this template. ## ## Upstream copyright holder of TMB: ## ## * Kasper Kristensen (TMB author, https://github.com/kaskr/adcomp) ## ## TMB itself is GPL-2/GPL-3 licensed. See the upstream TMB ## DESCRIPTION at https://github.com/kaskr/adcomp for the full TMB ## author list. ## ## Sparse phylogenetic precision builder (R/phylo-tree-precision.R) ## ## The tree -> sparse A^{-1} construction in R/phylo-tree-precision.R ## (`.gllvm_phylo_tree_precision()` and its validators ## `.gllvm_validate_phylo_tree()` / `.gllvm_validate_phylo_species()` / ## `.gllvm_phylo_node_depths()` / `.gllvm_phylo_augmented_node_labels()`) ## is ported from the univariate sister package drmTMB ## (R/phylo-utils.R: `drm_phylo_augmented_precision()` and helpers). ## It uses only `ape` + `Matrix` and replaces the earlier ## MCMCglmm::inverseA() call on the `phylo_latent(tree = ...)` path, so ## MCMCglmm is no longer required to turn a tree into A^{-1}. Both ## gllvmTMB and drmTMB are GPL-3 by Shinichi Nakagawa (same-author ## reuse); the algorithm is the standard Hadfield & Nakagawa (2010) ## sparse phylogenetic inverse. ## ## Sparse pedigree precision builder (R/pedigree-precision.R) ## ## The pedigree -> sparse A^{-1} construction in R/pedigree-precision.R ## (`.gllvm_pedigree_precision()` and its helpers ## `.gllvm_standardize_pedigree()` / `.gllvm_normalize_pedigree_parent()` / ## `.gllvm_pedigree_topological_order()` / ## `.gllvm_pedigree_additive_relationship()`) reuses the pedigree ## standardisation, missing-parent normalisation, topological ordering, ## and dense tabular relatedness method ported from the univariate sister ## package drmTMB (R/phylo-utils.R: `drm_standardize_pedigree()`, ## `drm_normalize_pedigree_parent()`, `drm_pedigree_topological_order()`, ## `drm_pedigree_additive_relationship()`), which never depended on ## MCMCglmm. The sparse A^{-1} is then assembled on top via the standard ## Henderson (1976) / Quaas (1976) inverse rules. It uses only `Matrix` ## and replaces the earlier MCMCglmm::inverseA() call in ## `pedigree_to_Ainv_sparse()`, so MCMCglmm is no longer required to turn ## a pedigree into A^{-1}. Both gllvmTMB and drmTMB are GPL-3 by Shinichi ## Nakagawa (same-author reuse). The result is validated to reproduce ## `MCMCglmm::inverseA()` (Hadfield 2010) exactly, including inbreeding. ## ## Other same-author and conceptual lineage ## ## The loading-profile plotting design in R/loading-profile.R follows the ## sister drmTMB profile-plot pattern; both packages are GPL-3 by Shinichi ## Nakagawa. R/plot-gllvmTMB.R acknowledges the gllvm2lev plotting interface as ## conceptual inspiration and is independently implemented. The production ## logo at man/figures/logo.png was restored from Shinichi Nakagawa's legacy ## gllvmTMB repository. On 2026-08-08 the maintainer explicitly confirmed that ## gllvmTMB has the right to redistribute this logo. This records the package's ## redistribution basis and does not assert a creator identity that is absent ## from the repository record. ## ## lifecycle documentation badges (MIT) ## ## The files man/figures/lifecycle-deprecated.svg, ## man/figures/lifecycle-superseded.svg, and ## man/figures/lifecycle-experimental.svg are exact documentation assets from ## lifecycle 1.0.5. Copyright (c) 2023 lifecycle authors; Posit Software, PBC ## is the upstream copyright holder. They are distributed under the MIT ## licence: ## ## Permission is hereby granted, free of charge, to any person obtaining a copy ## of this software and associated documentation files (the "Software"), to ## deal in the Software without restriction, including without limitation the ## rights to use, copy, modify, merge, publish, distribute, sublicense, and/or ## sell copies of the Software, and to permit persons to whom the Software is ## furnished to do so, subject to the following conditions: ## ## The above copyright notice and this permission notice shall be included in ## all copies or substantial portions of the Software. ## ## 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 AND NONINFRINGEMENT. IN NO EVENT SHALL THE ## AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER ## LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, ## OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN ## THE SOFTWARE. ## ## Generated package fixtures and visual snapshots ## ## The RDS/JSON files under inst/extdata are synthetic or package-generated ## gllvmTMB fixtures produced by the corresponding data-raw scripts and package ## validation records. The SVG files under tests/testthat/_snaps are generated ## visual regression snapshots of gllvmTMB-owned plots. They are distributed ## with the package under GPL-3 by Shinichi Nakagawa.