Is there free library software?

There are three efforts that I have found:

Slashdot Article, Open Source Library Card-Catalog Apps?

Slashdot is a news service/bulletin board for people interested in computers and programming. The following is a selection of responses to someone asking about library software:
dmd writes: "Does there exist Open Source software for maintaining a small to medium sized library card-catalog? It seems all the tools are available: a perl module for working with MARC records, several for working with Z39.50 and XML, and even a web site apparently devoted to nearly this exact topic. An actual, working, catalog, however, seems to be missing. Is this something that would be valuable? I, for one, have nearly 5k volumes in my collection, and they're begging for some discipline." I'm sure cash-strapped public libraries and schools would like to be able to use free / Free tools for this, since paper books aren't going away anytime soon. Not to mention for CDs, videos, charts, museum holdings ... any ideas out there? Turnkey solutions?
MARC tape issues - giving away your tax dollars (Score:4, Informative)
by Mrs. Rod on Tuesday August 22, @05:29PM EDT (#66)
(User #224274 Info)
Your tax dollars paid for all the cataloging at the Library of Congress.

Unfortunately, some years back the firm that records these records in the MARC formats legally got control not only of their formatted tapes, but of any use of the information used after extraction from these tapes. In other words, they not only own the format, but the government funded information contained in the format.

This is critical because these MARC tapes are the primary source of library cataloging information for most libraries. There are some other independent networks, primarily of educational institutions in the western US, but most libraries depend on the Library of Congress OCLC tapes.

The whole thing stinks, and is ridiculous. As a former librarian, who also holds a BSCS, I was outraged at this theft of public assets. The worst part was dealing with my moronic former colleagues who screamed that of course this company should own this information - it was "intellectual property." Thousands of librarians wrote letters in supporting this company's "intellectual property rights" to work created at tax payer expense.

This happened because most librarians think that putting information into a data format is some mystical arcana mastered only by brilliant wizards. They do not realize that the far more difficult part of the operation was the original cataloging done by the awesome catalogers at the Library of Congress.

So, libraries pay for the nose for software. First, the fee that the vendor has to pay for using the MARC tapes, the royalties for the actual use of the data contained on the tapes, and then for the library software itself. BTW, most library software is so atrocious, buggy, and difficult to use that it's writers would receive a failing grade if it had been turned in as a senior project at any half way reputable college.
Great opportunity for a project (Score:3, Informative)
by MochaMan on Tuesday August 22, @05:38PM EDT (#74)
(User #30021 Info)
Actually, this is something I have been looking into for months. The reason being that most elementary/middle/high schools can't afford a decent catalogue system. Several that I have seen have been using software with (no kidding) CGA graphics interfaces, and searching by title only.

Those schools that do have money move to software like Eloquent -- systems that are way more complex than a school library typically needs. Most schools don't need that much power/customisation, and can't afford it anyway. What seems to be needed is a basic system that offers searching on author/title/subject/keyword, and possibly uses MARC records (though for a school library this is not essential).

It would have to be easy to set up, and low maintenance (ie. a basic linux box shoved under a desk somewhere with a UPS and a tape backup). You need to keep in mind that libraries -- and school libraries in particular -- are likely to have a multitude of machines running different OSes, so something like a web interface would be perfect.

Considering the fact that most schools are getting networked these days, it's feasible to have a linux box sitting under a desk somewhere running a database, some library software, and Apache, and a bunch of Mac/PC clients running MacOS and Windows and interfacing to this thing via a web server. The checkout could be the same idea. This could be extended to have non-web clients running on various platforms and talking to the server via CORBA.

In talking with librarians, I've found that you can't just say "dump MacOS/Windows and put Linux on all your machines" because they don't just use them for searching. They use them to run all sorts of stuff -- CD-ROM based educational software, etc. In other words, it's important to remember that for software like this, you can't just get a bunch of developers together and make decisions and write code. There are a ton of assumptions you just can't make when you're dealing with libraries and schools. There's a bunch of research into what people really want that's required. That makes it a little trickier a project than, say, a mahjongg game -- no offense to mahjongg hackers...

Anyway, this is a fantastic opportunity for development, and one that I have been very interested in for a while now. It's also been on the GNU project's list of stuff to do for years now. Contributing a GPLed library system would be great not only for Free Software, but also for schools everywhere who can't afford decent software in their libraries.
Input from a library geek. (Score:4, Insightful)
by dkh2 ( on Tuesday August 22, @05:40PM EDT (#78)
(User #29130 Info)
Yes, by all means code it and make it fully Z39.50 and MARC compliant! However, there are other considerations you need to throw in.

Commercially available library software that is actually used by libraries is much more than just a cataloging/look-up system to replace those old 3*5 cards.

You need an acquisitions module that has the ability to do electronic ordering and approval plan processing.

The search and report capabilities on the staff interface for these things is amazing. I can collect a list of all item records belonging to location X and created within [ range of dates ] that are attached to bibliographic records for [ material type ] within a [ call number range ], sort the records according to my criteria, then output selected fields from either the bib. or the item, or both, in the order I choose to the device of my choice (including print to e-mail or fax) and I haven't even begun to make the system sweat. Yes, this is a fairly straight forward thing to do (selecting records based on data spread across multiple related/linked records) in SQL but, you also need a front end that the end user can comprehend.

If you're going to code it, it will need to be able to interact with all of the prevailing vendors... Ebsco, Baker & Taylor, Basil Blackwell, Swets & Zeitlinger, Matthews, etc... You will want tech contacts from each of these vendors to fine tune the ordering/receiving/approval interfaces.

Finally, the amount of fiscal reporting done in libraries can boggle your mind. You would never suspect that something so seemingly simple could be so complicated. If you don't have the ability to generate financial reports you might as well go back to index cards and hand written ledgers.

simpler and more complex than you'd think (Score:4, Interesting)
by dchud (daniel.chudnov at on Tuesday August 22, @05:45PM EDT (#84)
(User #16789 Info)
There are about three problems here (hopefully they won't moderate me down for this cuz I work for :). The simpler bits have to do with the mindset of librarians: liberal about access, conservative about library collections. Since an online card catalog is about the collection, we librarian types tend to forestall any major systems overhauls until the last possible moment. And our systems vendors only have about a $500M business to sell to, so the general mindshare remains rivalrous, proprietary, dedicated to supporting legacy apps, and lacking overflow of hacker talent. Thus our systems generally suck and few are willing to admit it out loud.

Second is that half of the pieces that go into a big library management system (including the catalog part) are really generic business systems: EDI, invoicing, accounting, etc., but they haven't been abstracted out of the realm of our systems vendors. So the level of standards followed there is minimal so those modules generally don't interoperate with our trading partners (i.e. internal payment systems and external suppliers). Lots of redundant keying and more crappy systems to maintain there, all of which is typically deeply and proprietarily tied into the catalog data.

All that said -- and to our vendors' credit they are tending to get better these days -- we've been sharing catalog data like hackers are sharing code for over 100 years. We've been doing it online for about 35 years, but the way we do it now is pretty much the same way we've been doing it for those 35 years. i.e. largely dependent on one of two .orgs/vendors to be a clearinghouse for sharing catalog data. But those folks disappear if they can't sell the data back to us after we create it for them. So nobody running a library wants them to disappear. Especially because we've got to handle one-of-a-kind rare items in big research libraries as well as unusual local items in public libraries and so on.

Imho the solution is to first outsource all the standard business stuff to vendors+free software that can do the same job with existing standards-based tools. Then abstract away as much as possible of the catalog data into free references sources shared and maintained by the library community (think: you could run your own recommendations site, etc.). This is what we're trying to do (shameless plug alert) with the jake project for journals. Same thing applies for books, although there are probably >=100M records to normalize.

If we can get that done, then anybody could hack up a gtk+ front end to the free, shared catalog, and pick and choose the items you have yourselves. It would work sorta like or jake. Just imagine how much easier it will be to search for ebooks in gnutella once this is done... :)

I happen to work in a library automation dept... (Score:2, Insightful)
by demonbitch ( on Tuesday August 22, @06:59PM EDT (#117)
(User #113900 Info)

While most people would tend to think this is a fairly simple endeavor, it's not. Our consortium runs a library automation system on top of VMS on an Alpha cluster. It happens to be one of the best systems out there as far as high availability is concerned. However, it still doesn't take user's needs (Ref. librarians and patrons) into account.

If something like this is going to work, you have to anticipate what your users are going to be asking for. A simple cataloging system could probably be done with MySQL or Postgres, but it will lack any of the functionality that is in existing library catalog products.

In addition to the MARC records, you would eventually need to maintain a patron database, an acquisitions database, a record maintenance interface, circulation records and policies, etc... AND it would all have to be easy to use for a non-technical person. Even the system we use is not "easy" for the average user, it's jst reliable.

Personally, I would love to see an open source and/or free software catalog system that outshines systems like Dynix and DRA. Especially if it brings user interfaces into the year 2000. (There is plenty of talk about new client server interfaces, but nothing has come to fruition as of yet.)

I think the biggest challenge a project like this would face is that programmers are not librarians and vice-versa. They come from very separate worlds and have very little understanding about what the other discipline finds important in an automation system.


Don't complain about my web page. It's mine. ALL MINE.

Things a library system needs (Score:1)
by buss_error (root@ on Tuesday August 22, @10:34PM EDT (#142)
(User #142273 Info)
  • Be able to read any of three or four dozen MARC "standards"
  • Search on any word (but the stop dictionary for words such as the and to of ect.) for a word in any one of over 1K places in the marc record.
  • Be able to handle more than one library.
  • be able to store books in different locations within the library
  • do user tracking by overdue, notes on the user, automatically import from other databases or text files, have any one of several options for the user such as loan period (but checks the holding to see if the standard period is longer or shorter, or if the fine for overdue is less or more), be able to block a user, be able to block a user based on what library they are a user for, much much more
  • be able to route books between libraries.
  • be able to route books to outside vendors such as binders, restorers, storage, ect.ect.ect.
  • be able to find out who checked out a book last.
  • maintain statitics on the book such as size, no. pages, language, print size, ISBN, LCCN, Be able to change the default loan period, how many times used in the library, checked out, inventoried, price, "extras" such as clear cover, a place for notes for the whole library system and another place for each library, ability to search on the note, title author, publisher, copyright date, date purchased, dewy, LCN cataloging or some other system, age limits for checking out.
  • keep track of budget and invoices, orders, barcodes, much much more,
  • Ability to keep track of when the next magizne is due, when the subscription runs out, where the old copies vs. new copies are, index the mags.,
  • Print reports on just about anything so throw a report generator at it. And if you want more, there is about five hundred pages of basic requirements in any book on library science. Add to that you have to know who a user is and if they are authorized to do any particular function, (Some can check out, but not in, others can add a note but not edit the book, some can edit books but not at any library except where they are assigned) you get the picture.

    Off hand, I'd say that a good library system is about four hundred times more difficult than writing Linux. I know. I do Unix admin and Library systems for a living.

    Trust me, this is not simple. I do think it very worthwhile though.
    I wish you told me it couldn't be done before I went and did it.

  • Brett van de Sande