Cookbooks

Free and Open-Source Software in Libraries

Different experts have different ideas about what exactly qualifies as “open-source” software. In general, the term refers to any program with a licensing agreement that allows you to view and modify the source code, which is a series of high-level, human-readable instructions that defines a particular program and tells the computer what to do. Under an open-source license, if you choose to distribute your modifications of someone else’s software, you have to do so under the same terms. Simply put, other developers can view and modify your source code, just as you could view the original code. An open-source license doesn’t require that the software be available free of charge, though that’s usually the case.

For most people, the Linux operating system is the archetypal open-source application and it’s the platform for which most open-source software was designed. There are hundreds of Linux variants (called distros) that differ from one another in look, feel and bundled applications, but all share the same underlying structure (embodied in the Linux kernel). For more information on Linux and Linux distros, see Further Resources.

Skeptics and Windows fans like to say that open-source software is “free like a puppy.” In other words, they argue that the ongoing support and training costs of open-source software will outweigh your initial cost savings. Open-source advocates respond that all technology has support and maintenance costs. The real Total Cost of Ownership (TCO) for open-source depends on which program you’re considering and your staff’s expertise.

  • Some open-source programs run from the command line and intimidate non-techies.
  • Others are supported by a few part-time programmers so it’s hard to get bugs fixed and questions answered.
  • On the other hand, well-known programs, such as the ones at Open Source for Windows and the major Linux distributions, are highly polished, reliable and easy to use. In these cases, you can almost always get free, informal support from volunteers or formal, paid support from the software developer or a third-party company.

Why Use Open-Source Software in Your Library?

  • It’s free. If your library is on a tight budget, a no-cost solution has to be tempting. However, nothing in life is entirely free. As we’ll discuss in more detail, all software, as well as all hardware, has a total cost of ownership. You and your staff will spend time learning the open-source software, installing it, customizing it and maintaining it.
  • It’s customizable. There are no restrictions about what you can do with open-source software. If you need some functionality that isn’t currently part of the program, you can hire someone to develop that function or write the code yourself. You have to release your improvements to the wider community, but that’s not a problem for libraries, since we’re not in the business of selling software. Moreover, the open-source community might latch on to one of your improvements and develop it further.
  • You are vendor-independent. With proprietary software, you’re usually dependent on a single software vendor. If you need some specific, added functionality for a core piece of software, such as your ILS, you have to ask the vendor and pay their prices. If the vendor is too busy to address your request, all you can do is wait. With open-source software, you can often choose from thousands of developers for well-known programs. For more obscure products, you may have fewer choices, but you’re never completely trapped. Moreover, with open-source software, you’re less likely to face the “we no longer support this product” scenario. When proprietary software vendors upgrade a program, change strategy or go out of business, they often abandon older software, forcing their customers to migrate and/or choose another vendor. This is less likely to happen with open-source software. If one open-source company stops developing certain software, customers can take over maintenance of the software themselves or hire a new company to do it.
  • There’s security and reliability. Windows advocates and open-source advocates can argue for days about this topic, but Linux/Unix lovers suggest that their favorite tools are lower-priority targets for hackers. They also point out that “with a million eyeballs, all bugs are shallow.” In other words, bugs and security holes are found and patched quickly because so many developers have access to open-source code.

Key Actions

  • Start slow with OpenOffice and Firefox. If you haven’t used them before, install OpenOffice and Firefox on a test machine. These two programs are by far the best-known, most popular open-source applications.
    • OpenOffice is an office productivity suite, with word processing, spreadsheet and presentation software. In style and functionality, it’s similar to Microsoft Office.
    • Firefox is an open-source Web browser that competes with Internet Explorer.
  • They’re both well-designed, easy-to-use applications, perfect if you’re still intimidated by the idea of open-source software. Also, both run on Windows, and they don’t conflict with Internet Explorer, Microsoft Office or other common applications.
  • Think “free” when you shop for software. For almost any commercial application, you can find one or more free, open-source alternatives. Even if you narrow your choices down to software that runs on Windows, there are several open-source programs in almost every major category. The Open Source Alternative site lets you search for well-known commercial programs and then offers open-source alternatives. The Open Source for Windows page suggests two or three popular programs for most major categories.
  • Try Ubuntu by running it from a “Live CD.” Ubuntu, a relatively new Linux distribution, has taken off quickly and boasts a huge, active user community as well as great documentation. It’s intuitive, user-friendly, and resembles Windows enough that Linux-newbies won’t be overwhelmed. When you boot to a LiveCD, the operating system runs from the CD itself and main memory (i.e. RAM), but doesn’t install itself on your hard drive or overwrite any files there. Of course, changes you make to your settings won’t stick by default and reading files from a CD is slower than reading them from a hard drive. Using a LiveCD is a good way to experiment with an operating system without committing to it.
  • Join the open-source for libraries movement. Check out a few of the sites under Further Resources for descriptions of open-source software specifically designed for libraries.
  • Consider the total cost of ownership. As we mentioned above, before you install any program, look at the documentation and the support community. Who will you turn to if you run into trouble? Will your staff adapt quickly to the new software, or will they need retraining?

Stories from the Field

I think if there’s one thing that makes people gasp and flinch even more than mentioning Macintosh, when they’re used to dealing with PCs, is mentioning open-source. But, like you say, once you get it going and you say, ‘Go ahead, touch it, it won’t bite,’ I think it gets really exciting after that because it’s like, oh, hey, this does work. I think people are still kind of spooked into thinking they’re going to have to sit there and do all kinds of coding or something.

Lisa Shaw
Turner Memorial Library, ME

We are actually using, and I talked about this once before, M0N0wall, and we use it for our wireless. It creates what you call captive portals so that way, a page will come up that the user has to accept. And, along with that now, we use Kiwi, so we can get statistics on how many people are using the wireless in certain libraries. Another product I just played with was Cybera, which is actually Internet café tracking software, so if a person wants to use a machine, [the software] will time them, and it will kind of keep statistics on them, and that’s open-source. I’m trying to think of some others. MRTG — that’s from an open-source product. Our listserv is an open- source; it’s just called List Serve Lite. I’m big on open-source because other stuff costs so much money. And, you know, when you are a small library, you don’t have a lot of money, so those are the kinds of things that we’re looking at.

Jean Montgomery
Upper Peninsula Region of Library Cooperation, MI

Linux thin client terminal project

The thin client project was my first major open- source project that we implemented here, the first one that I was responsible for. And it’s gotten a lot easier since those early days, because, for example, Ubuntu has the Edubuntu distribution that already has the thin client server installed on it. You could just potentially do an installation of that and be up and running.

We tend to buy a pretty powerful server. I think the one we have now has two dual-core processors on it. I don’t remember their exact specs. Right now, we only have 2 GB of RAM on this one. I’ve been meaning to upgrade it, but the speed is pretty good, so it’s been all right. I also upgraded our internal network to gigabit, so we’re using all gigabit switches. That helps the traffic flow through the network. We have a little [more than] 30 thin clients on the same server. We’re also using 64-bit. The server uses a 64-bit kernel, but I think it serves up 32-bit software.

The Linux terminal server project has a Web site. It’s www.ltsp.org. They have a wiki on there that has a lot of information on how to set it up. Ubuntu also has a lot of documentation on their Web site about setting up a linux terminal server project (LTSP) server. Those are good places to start. I think Edubuntu has a handbook, too, that includes LTSP information.

On our public computers, I use K Desktop Environment (KDE) as the default desktop, because I tried initially locking down Gnome and I used to use IceWM, but KDE is really easy to lock down. You can create different profiles. All the configuration files are text-based, so you can edit those and create a profile for your various user types — like I have one for the online public access catalog (OPAC), one for the [circulation] computers, one for the public Internet computers. Also, we have another one, because we have an on-staff software developer. He just wrote a kiosk management system called LIBKEY. If anybody wants it, it’s on SourceForge. We created a profile just for LIBKEY so that instead of the desktop, a patron first sees a login screen, and they have to log in with their user name and password, and they get half an hour to use the Internet. Then it kicks them off. We’re using that for patron time management to avoid arguments about “I have five more minutes” and the librarian says, “No, you don’t” and that kind of thing. It’s tied into our [circulation] system. We’re using Koha. It grabs the patron database from Koha every night and that’s what it uses for the user name and password.

Cindy Murdock, Open-Source Guru
Meadville Public Library,PA

Using an open-source ILS (Koha)

You don’t need to have an on-staff developer. We wanted to change quite a bit of it. We made our own interface for the [circulation] system to suit ourselves. It’s nice to have a developer on staff if you want to change a lot of things or tweak things. But you can get support from various vendors, like LibLime. There are vendors that do hosted solutions. So if you don’t want to muck around in the database innards or anything like that, you can do that as an option. Since it’s open-source, you can also download it and install it yourself if you want to see how it works. That’s a nice thing, because most vendors don’t give you that option to play with it without paying for it in some way. We’ve been using it since mid-May. We just finished migrating our third library to it just this past weekend. We have nine libraries in the county. I think we’ll be able to get the next few up pretty quickly. We had some issues because we’re encrypting all of our traffic for security reasons on the intranet side, the staff side. We found that it was really slow at the farthest library from the system headquarters. I had to use a hardware solution to get the encryption to speed up. Now that we’ve got that done, I should be able to get the other ones done pretty quickly.

Cindy Murdock
Meadville Public Library, PA

Further Resources

We’ve included several additional resources on the topic of open-source software.

Tags: