Software Components: Only The Giants Survive

Butler Lampson


Citation: In Computer Systems: Theory, Technology, and Applications, K. Sparck-Jones and A. Herbert (editors), Springer, 2004, pp 137-146.

Links: Abstract, Acrobat, Web page, Word. Slides for a talk are here.

Email: This paper is at



For many years programmers have dreamed of building systems from a li­brary of reusable software components together with a little new code. The closest we’ve come is Unix commands connected by pipes. This paper discusses the fundamental reasons why software components of this kind have not worked in the past and are unlikely to work in the future. Then it explains how the dream has come true in spite of this failure, and why most people haven’t noticed.

This paper is based on a keynote address given at the 21st International Conference on Software Engineering, 1999. It was written for a symposium in honor of Roger Needham, February 2003.