1. Introduction

Just as energy conservation is the most efficient mechanism for decreasing energy costs (see NegaWatts), the most efficient mechanism for saving money in the IT world is not paying for it. You might call this saving NegaBIT$ (as in B undles of IT $ you don’t have to pay for).

Contrary to a still widely held belief, this is legal and is being done by some of the largest, most technologically savvy companies and organizations, including the Department of Defense, an organization very concerned with security, robustness, and deployment speed and not at all with cost. Using Free/Libre/Open Source Software (FLOSS) has a number of advantages personally and organizationally, for both the short and especially the long term.

Note
Definitions of FLOSS

I use the term FLOSS advisedly - it’s an inclusive term that includes many incompatible and or different definitions of free, but the end result is that the software is free to the end user. There are many significant differences between different Free licenses, including source code availability, redistribution rights, etc. More info about this can be found here.

You don’t need to run Linux to take advantage of FLOSS; Windows and MacOSX are surprisingly amenable to running FLOSS, and with free Virtualization technology such as VirtualBox, you can run whatever Operating System (OS) you need to run whatever application you need (albeit a bit slower, and you may need to pay for the other OS).

The use of FLOSS makes using a computer cheaper, easier to maintain, legally less problematic, more user friendly, and .. did I mention cheaper? Read on..

2. FLOSS on Different Operating Systems

Regardless of the Operating System you use you use (Mac, Windows, Linux), you can exploit FLOSS.

2.1. Windows

Despite what you might think, most FLOSS is used on Windows, the least free OS. That’s because there are more people using Windows than all other OS’s combined, creating a huge "market" for FLOSS and therefore programmers have started to address it. There are even web sites dedicated to enumerating Windows FLOSS, for example at Sourceforge and Open Source Alternatives. Among the standout alternatives are the Firefox browser and Thunderbird email client, Pidgin IM, VLC and Miro video players, the OpenOffice Suite, Audacity for simple audio editing, GIMP for photo-editing, Blender for 3D modeling and animation are all examples of FLOSS that can be run on Windows.

2.2. MacOS X

The MacOS X itself is based on a FLOSS OS (BSD) and in fact you can download the basic OS (Darwin) for free. The GUI add-on bits and proprietary applications are what Apple charges for. Besides stand-alone FLOSS applications for the Mac, there are 2 systems that allow you easy access to thousands of the same FLOSS applications that run on Linux: the Ports system and fink.. These 2 systems use the same kind of installation architecture that the Linux apt system uses to handle and resolve the complications and dependencies of installing thousands of applications. Note however, that most of these are apps of the geeky variety: commandline, powerful, and user-surly. There are some native Aqua apps such as NeoOffice (a Mac-native port of OpenOffice), the Smultron text editor, Cyberduck, as well as a number of the same apps as on Windows: Firefox/Thunderbird, Audacity, Blender, Gimp, VLC, etc (see above for links).

2.3. Linux

On Linux, as opposed to Windows and the Mac, you have to go looking for applications to pay for. Almost everything is free, and most of the default applications are of very high quality. I use Linux on my laptop and with the KDE desktop, I can point’n'click’n'drag’n'drop or use the commandline to do what I need. I use Firefox, Konqueror, and Opera for browsing , nedit for text editing, kate or jedit (Java) as a programming editor, Kontact for a combined POPmail client / calendar / RSS reader / contact manager, OpenOffice for when I have to view MS Office docs (works about as well as one version of MS Office reading another version of MSOffice), Skype & Gizmo for VOIPing, VNC (RealVNC or TightVNC) for remote control and desktop sharing, kpdf or Okular for viewing PDF docs (Adobe makes a Linux client, but the free ones are smaller, faster), digiKam or Picasa for direct downloading & handling the zillion photos I have, VLC or Mplayer and flash for video, Audacity for audio editing and Amarok for handling my music collection and podcasts.

2.4. Virtualization and Universal Applications

With free Virtualization technology, you can run any combination of Windows, MacOS X, and Linux simultaneously on the same computer (officially, only if it’s a Mac). If you haven’t guessed, I use Linux. However, when I have to use Windows to debug a problem, I fire up the free VirtualBox virtual machine and run WinXP simultaneously. Windows in VirtualBox actually boots faster and seems faster than Windows running native on my laptop, with the exception that the graphics are noticably slower). Note that you do have to pay for the Windows or Mac OS that you run virtualized, altho you can run the WINE Windows environment for free.

There are also interpreted languages which allow programs written in that language to be run fairly easily on all platforms. The most widely known of such languages is Java, but Perl, Python, Ruby, and PHP all can be used across platforms fairly well.

3. Other Advantages of FLOSS

3.1. Scaling

You don’t pay for FLOSS software. It’s free to download, to use, to give to your friends, and in many cases to modify or include in your own software if you’re so inclined (tho with caveats; the individual FLOSS licenses differ considerably). Whether you support your family or a large organization, the scaling advantages of FLOSS are hard to overstate. That is not to say that it’s without cost. There are costs comparable to proprietary packages for learning it, configuring it, supporting it, and upgrading it.

However, if you learn to use FLOSS, you’ll find that you can do without a lot of commercial software. Those NegaBIT$ add up, not only from the initial non-payment, but especially if totaled up over a decade, or .. your lifetime. And for many such systems, even if they are initially primitive to the senses (vi/vim and emacs for examples), once you learn them, the interface doesn’t change (see Interface Changes & Featuritis below), they’re available on almost every system you’ll try and they are enormously powerful and robust. That is a tremendous advantage.

3.2. Upgrading the OS & Application Software

Upgrading is much easier. On my Linux system, a system-wide upgrade can be done with 2 lines in the terminal:

# the following updates all the versioning info

apt-get update


# the following upgrades the entire system, including kernel,
# kernel modules, applications, utilities, and all the supporting
# libraries, documentation, source code, and other software.

sudo apt-get dist-upgrade

And if you don’t like typing, the Synaptic GUI will let you do it with a few clicks. Or you can have it configured to do this automatically in the background.

Note that I didn’t have to go to individual web sites for applications, disable my anti-virus software, spend hours on the phone to Bangalore convincing some guy that I really did pay for my copy of Planet Blortfarg, carve chunks out of my credit card, have to spend hours checking why my drivers didn’t work anymore, or any of the things a Windows upgrade often entails. It just pretty much works.

3.3. Interface Changes & Featuritis

Often, I find that the interfaces (commandline or GUI) of FLOSS does not change as often as with proprietary software. Like car manufacturers, proprietary SW Vendors have to make visual changes in their product at each release cycle to make you perceive that their product is changing for the better. But as anyone who has searched for an extra 10 minutes to find out where the subscript button has moved to can tell you, change is not always for the better. When the interface is changed semi-randomly like this, the vendor is telling you "We don’t care how your productivity may suffer. We have a new way of doing things and you’re going to learn it." In FLOSS, quite often the interface will stay quite similar to the previous version, but the guts will be improved (and those improvements will typically be listed in their accompanying change log).

I would add that the creeping feature-itis of many software systems is now starting to be detrimental to utility and not a selling point as has long been the case. A feature-for-feature comparison may not be the best approach for evaluating them. What is needed is to evaluate the features we need, not the features that are offered. All too often, we buy feature-laden software only to use a small number of those features, which end up contributing to bugs, making support harder, and making internal documentation needlessly complex.

3.4. Legality and Risk

If you use FLOSS, you escape forever the risk that a large, hungry, deep-pocketed software company will come looking to audit you for piracy or license abuse. This alone is a powerful argument for using FLOSS.

Note also that if you are involved in supporting software for a large organization, there are additional costs of managing a large roll-out of commercial software besides the unit costs. There are also the costs of negotiating license agreements, packaging and distributing the software, tracking the use and leakage of such software, and providing the accounting reports of such use. For a UCI-sized campus, there are probably 2-3 FTE-equivalents that are involved in this process.

3.5. Some Cautions

This may paint a rosier picture for FLOSS than I intend. Good software is always hard to write and maintain. That a software package is free does not assure high quality. However, if that software makes it into the Linux repositories, it has at least gotten numerous recommendations from users, has received a cursory evaluation for the distribution team and it has passed a compilation and compatibility test with the rest of the software. It may well not be up to your standards, but if that’s the case, you haven’t wasted anything but a few minutes in installing and testing it.

And uninstalling it is just as easy:

sudo apt-get remove [package name]

4. Where does FLOSS not work well?

FLOSS fails when there are software packages that you depend on that simply do not exist in the FLOSS world. The GIMP and Krita are both very good digital image editing programs, but overall not of the same quality or depth of Adobe Photoshop. So if you depend on the extra features or formats of Photoshop, you have no choice. However, like many such programs, the FLOSS equivalent is designed to address the features requested by most of its users and for most users, I bet that the GIMP is as much as they need. Or more than they need - most users would probably be happy with Picasa, a free (but not Open Source) application from Google.

While there are many excellent mathematics applications in the FLOSS world (Octave, Scilab, R, and sage, and many more) there’s nothing like Mathematica. It is one of the best arguments for commercial software. (But also note that Mathematica and MATLAB have Linux versions).

Integration can be more difficult. FLOSS is often written without regard for what other software an organization needs and therefore some cutting and glueing at the interface may be necessary. This is less troublesome than previously because of the near-universal use of XML which allows output formats to be parsed more easily. Similarly, connection to standard relational databases and the use of SQL can often help resolve integration problems.

5. Questions? Comments? Updates?

If you have comments, questions, criticisms, please let me know. I’m <harry.mangalam@uci.edu>

The latest version of this document can be found here.