Library Software Manifesto
Tagged: Integrated Library Systems
This is offered in an attempt to rationalize the relationship between libraries and library systems vendors, which is presently unhealthy. I encourage comments directly on this post (see below) or emailed to me directly.
Consumer Rights
- I have a right to know what exists now and what is potential future functionality. Marketing materials may tout a new product or a new version of a product, but I have a right to know what I will receive if I buy the product today.
- I have a right to use what I buy. For example, it should not cost extra to create another index of my data.
- I have a right to the API if I've bought the product. An application program interface (API) is simply a structured way for one application to communicate with another. In other words, the ability of a software program to send a structured query to another application and receive a structured response. Using the API for a product I've bought should not incur an additional charge.
- I have a right to complete and accurate documentation.
- I have a right to my data. This includes the ability to bring forward not just my records, but also usage data (for example, how many times a book was checked out), since such information will be increasingly important for relevance ranking and other purposes.
- I have a right to have read-only access to the database. There are many good reasons why customers should be blocked from writing directly to an underlying database, but there are none for being able to only read from the database.
- I have a right to not have simple things needlessly complicated.
- I have a right to know the development path and timeline for a product I have purchased.
- I have a right to take technical questions to staff capable of understanding and answering them.
- I have a right to not be an involuntary beta tester.
- I have a right to have my work on local customizations and settings preserved across upgrades.
Consumer Responsiblities
- I have a responsibility to know the needs of my users.
- I have a responsibility to put the needs of my users before my own.
- I have a responsibility to communicate my needs clearly and specifically.
- I have a responsibility to verify that the enhancement requests I make are really what I want.
- I have a responsibility to assign enhancement priorities fairly. Not every enhancement request can be top priority.
- I have a responsibility to realize I'm not special. Therefore we should try to come to agreement on how to do the same things so we can minimize the investment in writing software to help us do it.
- I have a responsibility to select software using a fair and reasonable process. Specifically, can we all agree to stop the pain of the RFP process? Please?
- I have a responsibility to report reproducible bugs in a way as to facilitate reproducing them.
- I have a responsibility to report irreproducible bugs with as much detail as I can provide.
- I have a responsibility to view any adjustments to default settings critically.
Shared Responsibilities
- We share a responsibility to begin from a position of mutual respect. Only after a party makes an ass of themselves should we be free to make disparaging comments about them.
- We share a responsibility to communicate well.
- We share a responsibility to establish and maintain a rational enhancement process.
- We share a responsibility to keep the needs of the end-user paramount.
- We share a responsibility to lighten up and have fun! I mean, no one dies in libraries. Let's get some perspective.
Note: Substantial contributions to this manifesto were made by Thomas Dowling and Carl Grant. This was first made public at the 2007 CODI Conference in Pittsburgh, PA, 8 November 2007.

Recent comments
3 years 25 weeks ago
3 years 35 weeks ago
3 years 50 weeks ago
4 years 3 days ago
4 years 3 days ago
4 years 1 week ago
4 years 7 weeks ago
4 years 7 weeks ago
4 years 9 weeks ago
4 years 10 weeks ago