Kevin's Debian Stuff


Personal note: I have lost my wedding ring at the beach in Pineto, Italy, on 7/7/2007; please see this for more information. Posting it here in the hopes that if anyone finds it, Google can direct them to that page.


Debian GNU/Linux is an operating system consisting of the Linux kernel, the GNU utilities, and literally thousands of other pieces of software. All are free, both in the monetary sense ("free as in beer") and in the sense that the software source code is available for anyone to view, modify, and redistribute ("free as in speech"). Unlike the other most popular Linux distributions, Debian is maintained completely by volunteers. It therefore never needs to compromise its principles or technical excellence to meet a corporate requirement or deadline. As a direct result, of all the Linux distros, this one has probably the cleanest set of configuration files and the most advanced package installation system. You install it and It Just Works! What a concept.

My role in Debian

As of November 15, 2005, I am officially a Debian Developer. For the Project, I maintain several packages (discrete pieces of software), regularly submit bugs and patches for other packages, participate on Debian mailing lists, and am involved in a couple of interesting sub-projects, described in more detail below.

Debian packages I maintain

I am the official maintainer of several Debian packages. In the following, [upstream] is a link to the web site created by the authors of the software; [package] is a link to the descriptive web page of the Debian package; and [QA] is a link to the Quality Assurance web page of the Debian package.

You can also view the pages provided by Debian Quality Assurance for an overview and Lintian report of my packages.

Packages I plan to sponsor or maintain in the future (mainly high-energy-physics related):

Finally, I want to thank the kind people who have sponsored my packages during the long road through NM. In alphabetical order, many thanks to Nicolas Boullis; Bastian Kleineidam; John H. Robinson, IV; Anibal Monsalve Salazar; Bas Zoetekouw.

Streamlining astronomy data in Debian

As the upstream author of StarPlot, an educational toy that can show three-dimensional star maps, I have a selfish interest in ensuring that it is easy to install data files for astronomy programs. One problem with doing so is that many such files (the Yale and Gliese star catalogs, for instance) may be redistributed but not modified, and therefore do not meet the Debian Free Software Guidelines. A second problem is that even data catalogs that are DFSG-free (the Hipparcos catalog, for instance) are distributed together with many different astronomy programs, wasting disk space with redundant copies.

To deal with such problems, Francisco García, Javier Fernández-Sanguino Peña, and I formed the stardata-common project [mailing list], an attempt to systematize treatment of stellar data in Debian. A proposed policy is available (local copy in case alioth happens to be down), as well as five example packages following the policy: StarPlot and Spacechart are astronomical charting software, Gliese and Yale are star data catalogs, and stardata-common is the minimal glue holding the two sets of packages together.

These example packages are now available in Debian unstable. Once I have time, I plan to also upload policy-compliant packages of the Hipparcos stellar data set, which being DFSG-free is likely to become widely used by astronomy-related free software. It is our hope that other stellar astronomy related packages will be adapted to follow this policy.

Issues related to non-free scientific software

Advocating for improved licensing of physics software

As a graduate student in physics, I've experienced quite a range of scientific free software. I've come to the conclusion that a lot of scientists, while they write good and useful software, don't quite know how to put the finishing touches on it. The biggest issues come in the area of software licensing. All other problems in free (as in speech) software can be fixed by anyone with sufficient interest and motivation, but only the authors can fix license problems. Forthwith, here is a rant that I hope is useful and convincing.

The question frequently comes up on mailing lists as to why the extremely useful ROOT data analysis software is not packaged by Debian. The main reasons were license-related. However, the authors have recently re-licensed ROOT under the Lesser (or Library) GPL. They deserve major thanks from the Free Software and physics communities for this change. I would like to think that my presence on various Debian mailing lists as a gadfly whenever the subject of ROOT came up helped to act as a catalyst (Google for site:lists.debian.org "root license"). On a similar note, GEANT 4 was recently relicensed. Although not quite DFSG-free, the new license is a vast improvement over the previous situation in which no license existed at all for the software. Again, the copyright holders deserve our thanks for this action.

Creating .deb packages of very non-free software

Several Monte Carlo libraries distributed with CERNLIB are also not available in Debian for licensing reasons. Specifically, the authors have not written a license! The software therefore defaults to standard international principles of copyright, which forbid modification or redistribution. The fact that these libraries are simpler to package than ROOT suggested a way to work around these copyright issues. Specifically, the user installs a package of packaging data (in this case "montecarlo-installer-data") and an installer framework (provided by the "ancis" package), which causes the user's computer to download source code from the original author's web page and build it into a .deb locally. No redistribution ever occurs. A more detailed description of the framework is provided here. I suggest you not redistribute .deb files thus generated.

The ancis and montecarlo-installer-data packages are not officially part of Debian, and perhaps may never be. They may be obtained by adding the following to /etc/apt/sources.list

deb http://people.debian.org/~kmccarty/ancis unstable main contrib
deb-src http://people.debian.org/~kmccarty/ancis unstable main contrib

and then (as root) running "apt-get update" and "apt-get install montecarlo-installer-data".

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 4F83C751
gpg --export 4F83C751 | apt-key add -

and then try running apt-get update etc. again.

I hoped that the framework I used to make this possible would become popular for installation of other non-redistributable software in Debian (RealPlayer and Flash plugins, for instance), but reaction on the Debian mailing lists to my initial proposal was quite muted. Nevertheless, as a simpler proof-of-concept, I have also made it possible to obtain a Debian package of the XyMTeX LATEX macros for organic chemistry in the same manner via the "xymtex-installer-data" package. (I'm using XyMTeX for creating organic structures in my thesis.) Note that building the xymtex .deb requires the "lha" archiving software available only from the non-free archive. Again, if you generate a xymtex .deb file, I suggest you not redistribute it.

New Maintainer biography

The following is an HTML-ized version of the biography I submitted in 2004 as part of the Debian New Maintainer process. Text has not been edited (so parts are quite outdated), although URLs have been updated.

I am a fifth-year graduate student. Specialty is experimental neutrino physics, although I am thinking of leaving academia after finishing my degree. In the course of my thesis work I use Debian GNU/Linux almost exclusively, both on my laptop and on a small computer cluster for analysis that I sysadmin for my group. This has led to some frustration with the current state of open source physics software. I also have hobbies ranging from coin collecting to amateur astronomy, as well as (naturally) programming. My ongoing Free Software projects include StarPlot, a 3-D star mapping program; wmapp, a C++ GUI framework for creating Window Maker "dockapps"; and WMakerConf, which I took over as upstream recently with the blessing of the original author. Debianizing the huge CERNLIB codebase counts as a project of its own.

I wasn't really aware of Linux until I used it regularly (RedHat 5, I think) while working at an MIT particle accelerator during the summer of 1998. A friend put my first GNU/Linux installation on my PC (Debian, in fact!) that fall, my junior year at college. But I didn't play with it much until I installed an "easier" distro (Caldera OpenLinux 2) myself later that year. Having it rooted by an exploit in the automount daemon made me more aware of security issues, and when re-installing, I switched back to Debian, permanently this time. That was when I really started to appreciate the Free Software movement. I've been learning more about Debian and Free Software ever since.

I want to volunteer my time in order to give something back to the community: making things work when they are broken (having filed a fair number of bugs, many with patches); dealing with licensing issues (having convinced the author of cfortran to release it under LGPL); and improving infrastructure and quality of Free Software, especially physics-related, so that it works the Right Way(TM). I confess to also having the more selfish motives of being recognized as a person one can turn to for help with Free Software, understanding better how software works, and enjoying seeing my name in changelogs.