CERNLIB on Debian: Related non-free software
Monte Carlo libraries
FLUKA
ROOT (no longer non-free!)
Geant4 (external link)
Unfortunately, it seems that CERN did not inform many authors of code included in CERNLIB that it intended to re-license the entire set of source code under the GNU General Public License. (Depending upon the exact ownership of the code in question, this may or may not have been legally permissible, but it was certainly unethical not to ask permission of the authors.) Having been informed of CERN's action, some authors were understandably upset at this apparent hijacking of their code, and some have been convinced as a result that the GPL does not sufficiently protect the rights of authors in an academic environment.
I have removed the questionable code that I am aware of from the source available from Debian. A full description of known copyrights that apply to CERNLIB, and files that have been removed, is available in the copyright file. If you are an author or copyright holder of code included with CERNLIB and you did not intend for your code to be released under the GPL, please contact me. Note, however, that this will result in your code not being distributed by Debian.
To avoid problems like this (and other irritating issues that frequently come up when dealing with free physics software) in the future, please read this commentary.
Monte Carlo Libraries
The libraries of Ariadne, Pythia, Jetset, Lepto, and Fritiof have been removed from my Debian packages because the author of Pythia/Jetset does not wish to release his code under GPL, and the other libraries depend upon it. If he decides to re-license Pythia/Jetset under a DFSG-free license, I will provide Debian packages of them here.
In the meantime, I have developed a framework called "ancis" (formerly named apt-installer), based largely on apt-src, for creating Debian packages of very non-free code. You can build .debs of these Monte Carlo libraries by installing the package "montecarlo-installer-data", which depends on ancis. (Ancis stands for APT Non-free Compilation / Installation System; I have not yet decided whether to attempt putting it in Debian proper.) Add the following to your /etc/apt/sources.list. Note the presence of "contrib", and remember to replace "version" with your actual Debian version—etch, lenny, or sid. (Sorry, but sarge is no longer supported. If you are using Sarge, you should upgrade very soon anyway since it will reach end-of-life on March 31st, 2008.)
deb http://people.debian.org/~kmccarty/ancis/ version main contribdeb-src http://people.debian.org/~kmccarty/ancis/ version main contrib
Then run "apt-get update".
If apt-get or aptitude complains to the effect that a signature couldn't be verified, you will need to feed it my GPG public key:
gpg --keyserver keyring.debian.org --recv-keys 4F83C751gpg --export 4F83C751 | apt-key add -
and then try running apt-get update etc. again.
Running the command
apt-get install montecarlo-installer-data
will now install a package that allows you to easily compile canonical Debian packages of these libraries on your own computer. If this is too inconvenient, I suggest you write to the authors and politely request them to re-license their software in a DFSG-compliant way.
The montecarlo-installer-data meta-package will produce the following set of Monte Carlo packages. (Note that this is configurable at the time montecarlo-installer-data is installed, or with "dpkg-reconfigure -plow montecarlo-installer-data".)
The only one of the libraries below that is still being actively updated is Pythia 6. If you find that the version of Pythia 6 that the installer program wants to compile is too old for your purposes, please go ahead and bug me to make the installer use the latest version. As of version 2005.10.26 of montecarlo-installer-data, you may also select the exact desired version of Pythia 6 to build via the Debconf interface. Change the default Debconf question priority to "low" (for instance by running "dpkg-reconfigure -plow debconf" before upgrading the montecarlo-installer-data package.
| Debian Package | Version | Contents |
| ariadne4 (renamed libariadne4gf in Sid), ariadne4-pythia5 (renamed libariadne4-pythia5gf in Sid), ariadne4-dev, ariadne4-pythia5-dev, ariadne4-doc | 4.12 | Ariadne QCD cascade Monte Carlo library |
| ariadne4-test, ariadne4-pythia5-test | Test programs to make sure Ariadne works correctly | |
| fritiof7 (renamed libfritiof7gf in Sid), fritiof7-dev, fritiof7-doc | 7.02 | Lund string dynamics model Monte Carlo |
| jetset74 (renamed libjetset74gf in Sid), jetset74-dev | 7.4.10 | Obsolete but still widely-used Monte Carlo event generator |
| lepto6 (renamed liblepto6gf in Sid), lepto6-dev, lepto6-doc | 6.5.1 | Lepton-nucleon interaction Monte Carlo |
| pythia5 (renamed libpythia5gf in Sid), pythia5-dev, pythia5-doc | 5.7.24 | Obsolete version of hadronic interaction Monte Carlo |
| pythia6 (renamed libpythia6gf in Sid), pythia6-dev, pythia6-doc | 6.4.11 (in Etch/Lenny), 6.4.15 (in Sid) | Current version of hadronic interaction Monte Carlo |
As a postscript, I have also made it possible to install a Debian package of the XyMTeX organic chemistry LATEX macros in the same way. Add the lines above the table to your sources.list, and run apt-get install xymtex-installer-data to generate a .deb of XyMTeX (which you can then install with dpkg -i).
FLUKA
The FLUKA routines have been removed from the packages of GEANT 3.21 available here. They are not freely licensed, and the versions included in the CERNLIB source tree were obsolete. The FLUKA authors were rather unhappy that some published articles did not distinguish between current FLUKA code, and the GEANT-FLUKA routines that the authors wanted to withdraw as early as 1996. Please see the question "What relation exists between FLUKA and GEANT" in this page (scroll down) of the FLUKA FAQ. For current FLUKA libraries, please see the website http://www.fluka.org. As far as I know, source code is NOT available.
I may if I have a chance create a "geant-fluka-installer-data" package analogous to the other ancis-based packages above; the necessary source could be extracted from the GEANT 3.21 source code tarball distributed by CERN; but this is not a high priority. It would also require that I make hooks available in the mainstream CERNLIB packages to link in, say, -lgeant-fluka if it exists. Email me if this is something important to you.
ROOT
ROOT is not part of CERNLIB, but is often thought of as a successor to PAW. Recently the license of ROOT, originally non-free, was changed to the Lesser or Library GPL. Many thanks should go to the authors for making this license change! As a result, the 5.x versions of ROOT are now Free Software. (Versions 4.x and previous are still under the original restrictive license.)
Prebuilt Debian packages
Christian Holm Christensen (cholm at nbi.dk), who is also a regular ROOT contributor, intends to package it for Debian, and indeed his unofficial packages are already available at http://mirror.phy.bnl.gov/debian-root/. Be warned that there may not be a smooth upgrade path from these unofficial packages to the official ones that eventually make it into the Debian archive.
These packages are not trivial to backport to Sarge. The latest backports available for Sarge are currently version 5.09.01-2. You should upgrade to Etch in any case, as Sarge reaches its end-of-life on March 31st, 2008.
To state explicitly what is perhaps obvious, the following line should be added to /etc/apt/sources.list in order to install these unofficial packages via apt-get or aptitude.
deb http://mirror.phy.bnl.gov/debian-root/ unstable root
Replace "unstable" with "stable" as needed; sources are also of course available by adding the appropriate "deb-src" line.
Compiling from source
The ROOT source code supports compiling Debian packages from it, although life may be less complicated if you don't. See the ROOT Debian package site for details.
This page last modified February 29, 2008.