R P Herrold
2009-Jun-10 19:21 UTC
[R-sig-Fedora] License quandry in the Fedora sub-space of all R packages
There was mention of this [r-sig-fedora at r-project.org] mailing list on one of the other R lists overnight. I thought the list needed a bit of posting, as I could not recall seeing content recently on it. I cross post to the Red Hat hosted list as well, it raises issues relevant there as well I have been packaging in support of many of the financial packages at CRAN and in R-Forge [ http://r-forge.r-project.org/ ], and end up with a big clutch, to 'satisfy' all needed intermediate BuildRequirements and installation dependencies http://cran.r-project.org/web/views/Finance.html http://cran.r-project.org/web/views/Econometrics.html [herrold at centos-5 ~]$ for i in zoo xts TTR quantmod opentick \ IBrokers ; do rpm -q R-$i \ --qf '%{name}-%{version}-%{release} \t %{license} \n' ; done R-zoo-1.6-1orc GPL-2 R-xts-0.6.5-1orc GPL-3 R-TTR-0.20-1orc GPL-3 R-quantmod-0.3.9-1orc GPL-3 R-opentick-0.1.2-1orc GPL-3 R-IBrokers-0.2.1-1orc GPL-3 [herrold at centos-5 ~]$ These are all fine, with GPL licenses, but some of them have dependencies (or sub-dependencies) on packages, which in turn have licenses that are a problem in the Fedora view of the world. I extract those in the troublesome subset up top in this email, and note the complete list of my packaging delendency tree after my signature Let me take a moment, by the way, and commend the fine work of Pierre-YvesChibon [pingou -at- fedoraproject -dot- org] and the R2spec package which he has devised and worked on. It made much of my effort possible. Thanks !! I also have adopted the 'tarball release flattening' approach recommended on the Fedora R mailing list earlier this month, and will probably make a run through the RawHide packagings shortly, filing bugs patches for adopting such throughout: https://www.redhat.com/archives/fedora-r-devel-list/2009-June/msg00003.html In a quick review of the current RawHide packagings, they have 'short-circuited' around the 'check' phase in some cases, and I will file, or not a lincense deiven inability to clean that up as well Finally I have come up with a 'bootstrap' method to solve the 'check' phase BuildRequires issue cleanly and traceably, and can outline it if anyone else needs a solution To the license questionable packages, then: R-acepack 'ace is on Statlib' R-mapproj non-commercial purposes only R-gpclib further review needed R-mlbench further review needed R-tcltk2 further review needed ... these three have a field: file LICENSE which I need to read in each case R-akima Fortran code: ACM, free for non-commercial use, R functions GPL ... which confuses me mightily as a 'derivative work' seems to me to properly be under the same license as the work it is derived from (assuming such a port is the method of creation .. need to check still) R-tripack R functions: GPL, Fortran code: ACM, free for noncommercial use ... ugghhh -- a combination of issues [noncommercial and possible derivative] R-adapt Unclear (Fortran) -- code in Statlib's ./S/adapt ... ugghhh -- a combination of issues [unclear, and possible derivative] The obvious solution is to simply remove the questionably licensed content, but they are dragged in and appear as either requirements, or 'Sugggests'. In R parlance, if one wants a clean 'check' phase, one has to have the suggests present, it seems, and I can see the reasons for that. My initial thought would be to satisfy the dependency with a simply 'dummy' package, but there are functional expectations in the 'check' scripts, and this is not doable. Thoughts? How, other than bypassing the 'check' phase, do others address this? -- Russ herrold [herrold at centos-5 R2spec]$ rpm -qa R-\* --qf '%{license} \t %{name} \n' | sort Apache License 2.0 R-RColorBrewer Artistic 2.0 R-DynDoc Artistic-2.0 R-graph Artistic-2.0 R-RBGL Artistic-2.0 R-TeachingDemos avas is public domain, ace is on Statlib R-acepack BSD R-Rcompression BSD R-XML Distribution and use for non-commercial purposes only. R-mapproj file LICENSE R-gpclib file LICENSE R-mlbench file LICENSE R-tcltk2 Fortran code: ACM, free for non-commercial use, R functions GPL R-akima GNU GPL Version 2 R-rpanel GPL-2 | file LICENSE R-tframe GPL-2 | file LICENSE R-tframePlus GPL-2 | GPL-3 R-RODBC GPL 2 or later R-Defaults GPL-2 R-AER GPL (>= 2) R-car GPL-2 R-chron GPL (>= 2) R-coda GPL (>= 2) R-deldir GPL (>= 2) R-Design GPL-2 R-digest GPL-2 R-dynlm GPL-2 R-e1071 GPL (>= 2) R-fAssets GPL (>= 2) R-fBasics GPL (>= 2) R-fCalendar GPL (>= 2) R-fCopulae GPL (>= 2) R-fEcofin GPL (>= 2) R-fExtremes GPL (>= 2) R-fGarch GPL-2 R-Formula GPL (>= 2) R-fPortfolio GPL (>= 2) R-fSeries GPL (>= 2) R-fTrading GPL (>= 2) R-fUtilities GPL-2 R-gam GPL-2 R-gdata GPL (>= 2) R-geoR GPL-2 R-gplots GPL (>= 2) R-Hmisc GPL (>= 2) R-igraph GPL (>= 2) R-kinship GPL (>= 2) R-leaps GPL-2 R-lmtest GPL-2 R-maps GPL (>= 2) R-maptools GPL (>= 2) R-maxLik GPL (>=2) R-mlogit GPL-2 R-mvtnorm GPL-2 R-oz GPL (>= 2) R-PBSmapping GPL (>= 2) R-plm GPL-2 R-pscl GPL-2 R-quadprog GPL (>= 2) R-quantreg GPL-2 R-Rglpk GPL-2 R-RMySQL GPL (>= 2) R-robustbase GPL-2 R-Rsymphony GPL-2 R-RUnit GPL (>= 2) R-sampleSelection GPL-2 R-sandwich GPL-2 R-scatterplot3d GPL (>= 2) R-sem GPL-2 R-sn GPL (>= 2) R-sp GPL (>= 2) R-SparseM GPL (>= 2) R-spatstat GPL-2 R-strucchange GPL (>= 2) R-svDialogs GPL (>= 2) R-svGUI GPL (>= 2) R-svIDE GPL (>= 2) R-svMisc GPL (>= 2) R-svSocket GPL (>= 2) R-svTools GPL (>= 2) R-svUnit GPL (>= 2) R-svWidgets GPL (>= 2) R-systemfit GPL (>= 2) R-timeDate GPL (>= 2) R-timeSeries GPL-2 R-tseries GPL (>=2) R-urca GPL-2 R-VGAM GPL (>= 2) R-xtable GPL-2 R-zoo GPL (>= 3) R-corpcor GPL-3 R-IBrokers GPL-3 R-opentick GPL-3 R-operators GPL-3 R-pack GPL-3 R-quantmod GPL-3 R-TTR GPL-3 R-xts GPL R-biglm GPL R-ineq GPL R-misc3d GPL R-np GPL R-rgl GPL R-tkrplot GPLv2+ R-core GPLv2+ R-devel GPL version 2 or later. R-backtest GPL version 2 or later R-bitops GPL Version 2 or later. R-RandomFields GPL version 2 or later R-randomForest GPL version 2 or later R-RArcInfo GPL (version 2 or later) R-ROCR GPL version 2 or newer R-covRobust GPL version 2 or newer R-Ecdat GPL version 2 or newer R-logspline GPL version 2 or newer (see README). R-splancs GPL Version 2 R-its GPL version 2 R-MCMCpack GPL Version 2 R-mnormt GPL (version 2) R-sm GPL version 3 R-caTools GPL Version 3 R-fts LGPL-2.1 R-gtools LGPL (>= 2.1) R-Rcpp LGPL (>= 2.1) R-R.methodsS3 LGPL (>= 2.1) R-R.oo LGPL (>= 2.1) R-R.utils LGPLv2+ R-DBI LGPLv2+ R-RSQLite Original ??, extensions GPL version 2 or newer R-sgeostat Public domain R-evalstrat R functions: GPL, Fortran code: ACM, free for noncommercial use R-tripack Unclear (Fortran) -- code in Statlib's ./S/adapt R-adapt Unlimited R-DAAG Unlimited R-fame Unlimited R-tis [herrold at centos-5 R2spec]$