Thousands of programs, one learning curve

Different programs may all have different installation methods. Some may come as a tarball, some as a disk image, and others with their own custom installation programs or scripts.

With a ports system, all software is installed via the same simple commands, so once you learn to use a ports system, you'll have easy access to the thousands of programs in the system. As of 9-13-2007, the MacPorts system (which is relatively young) has over 4,000 ports. (Run "port list | wc -l" for a quick count.) The FreeBSD ports (which has been around for many years) has over 17,000. (See http://www.freebsd.org/ports).) Both systems are growing at a tremendous rate.

Let's to the math.

Imagine 500 researchers each spending several hours trying to install a program they need for their latest project. That's 1,500 invaluable research-hours lost on something that, if properly automated, each of them could have done in minutes. This is time taken away from more important tasks, such as analyzing data, reading papers, writing proposals, or better yet, relaxing with family or friends.

Now imagine instead, one person spending 20 hours to put together a port, so that everyone else can install it easily, investing only a few minutes of their own time. Do the math, and you'll see the enormous number of man-hours saved.

The scenario described above is, in fact, very typical. I've known researchers to struggle for days trying to get a program installed, only to give up in the end. I frequently receive requests for help and advice from researchers at other labs (mainly from former colleagues and collaborators) trying to set up MRI workstations.

The goal of this project is to help MRI researchers more easily and cheaply build MRI workstations, by making software installations as trivial as possible.

As a systems manager and programmer for several fMRI research labs, I've seen first-hand the challenges of putting together a well-integrated software suite for fMRI analysis. Whether building from source code or installing binary packages, there are many technical problems that may arise in getting complex software packages such as AFNI, CARET, FreeSurfer, etc. to work properly on your systems. These problems can lead to an enormous amount of redundant effort - a waste of precious research hours.

For example, compile options must be properly configured for each flavor of Unix or Linux, and binary packages built on one system may not work properly on a similar system with even a slightly different operating system or set of shared libraries. These obstacles may be routine for an experienced programmer, but they can be overwhelming for researchers who lack the time and/or computer skills to deal with a variety of esoteric software installations.

Perhaps the most difficult problem is the increasingly complex set of shared libraries and auxiliary programs that MRI software suites depend on. All of these dependencies must be properly installed along with the software in order to make it completely functional. The automatic handling of these dependencies is probably the greatest benefit of systems like FreeBSD Ports and MacPorts.

Those labs lucky enough to have a computer nerd on hand can utilize his/her time and skills for more creative endeavors, instead of wasting them, and a big chunk of the lab budget, on mind-numbing repetitive maintenance. In fact, creating these ports would be worthwhile for me even if no one else ever used them. A couple more rounds of 30 manual AFNI installations would easily exceed the time invested in creating the AFNI ports. The fact that the ports systems make the software more accessible to anyone in the world is a pure bonus.

The bottom line: Computer maintenance is overhead. The less time and money are lost to overhead costs, the more productive the research labs will be. In at least some cases, the clinical benefits of research will become available sooner as a direct result.