This document summarizes a case study of reusable software components for information retrieval. It discusses the development, distribution, use and evolution of the components. The components were developed in C to accompany a book on data structures and algorithms for information retrieval systems. Practical issues that arose included choosing the implementation language, distributing source code versus binaries, testing and optimizing components, different delivery methods, legal ownership, maintenance and configuration management, searching for components and understanding how to use them.