Saturday, November 3, 2007

Why Do I Use Open Source Software For My Research?

This is one of those really tough, multifaceted questions. As this is intended as another introductory post for the blog, I'm going to start out rather broadly and then move to specifics.

First, some definitions. Most software with which you're probably familiar, such as Microsoft Office, the Windows or Macintosh operating systems, or Endnote, is "closed source." This means that the source code (the lines of programming that tell the program what to do) is not available to the general public. It also typically, but not always, translates into "commercial software." For a commercial software model, this makes sense--why give away your trade secrets?

Another broad category of software is "open source." This means that the source code is available for anyone to download, modify, rebuild, or improve. If you run the Firefox web browser, you're already using open source software. Linux (in its various forms) is an open source operating system. Open source software is usually free, but many companies (such as Novell and Red Hat) sell technical support. Not all free software is open source, though. A good paleontological example of this is PAST. Because some of the software libraries used to develop this free statistical analysis program are copyrighted, it is not possible for the source code to be released.

For me, the descent into open source software started as a matter of necessity. A few years back, I started getting CT scans that I needed to analyze as part of my dissertation. I didn't really have a few thousand dollars floating around to buy one of the commercial packages (such as Amira), so I poked around on the internet and stumbled across the program called 3D Slicer. It turns out that this was perfect for what I needed to do (more on this in a later post)!

Fast forward a few years to this past March, when I bought a new desktop computer for my office. By this time, Windows Vista had come out, and it was the default operating system for most computers. The nature of my research--which includes lots of analysis of big CT scan datasets and finite element modeling--is extremely processor and memory intensive. The relatively massive memory requirements of the Vista interface, along with its new memory management strategy, did not mesh well with my computing needs (even after turning off unnecessary features). Thus, I turned to Linux and all of its associated free and open-source programs, and I haven't looked back.

Today, nearly all of my computer-based research time is spent in open source software. I write manuscripts in OpenOffice, browse in Firefox, manage my library in Zotero, do statistics in R, and analyze my CT scans in 3D Slicer. I also make use of some free (but not open source) programs such as PAST. I've retained a Windows installation on my hard drive, primarily because the commercial finite element analysis software I use is Windows-based (and there aren't any good open source alternatives that I have found to fit my needs yet). Otherwise, it's all Linux, all the time. Yes, that officially makes me a nerd.

So ultimately, then, why do I use open source and free software?
  • The price is right - free!
  • The software does the job I need it to do, and it is getting better all of the time.
  • Some features I have only found in open source or free software.
  • It provides a bit of an interesting challenge.
In the next series of posts, I am going to discuss the pros and cons of using open source and free software (lest you think I'm an anti-Microsoft, Linux fanboy). Stay tuned for more!

No comments: