Steel Bank Common Lisp

History and Copyright

Origins of SBCL and its name

SBCL derives most of its code from CMU CL, created at Carnegie Mellon University. Radical changes have been made to some parts of the system (particularly bootstrapping) but many fundamentals (like the mapping of Lisp abstractions onto the underlying hardware, the basic architecture of the compiler, and much of the runtime support code) are only slightly changed. Enough changes have been made to the interface and architecture that calling the new system CMU Common Lisp would cause confusion - the world does not need multiple incompatible systems named CMU CL. But it's appropriate to acknowledge the descent from the CMU hackers (and post-CMU CMU CL hackers) who did most of the heavy lifting to make the system work. So the system is named Steel Bank after the industries where Andrew Carnegie and Andrew Mellon, respectively, made the big bucks.

Relationship with CMUCL

In December 1999, SBCL forked off the main branch of CMUCL. Broadly speaking, SBCL is distinguished from CMU CL by a greater emphasis on maintainability.

CMUCL and SBCL each have their own unique set of features: for instance, SBCL features native machine threads on Linux/x86 (CMU has userspace threads), and CMUCL has the generational garbage collector on SPARC/Solaris. But in general the user-visible difference isn't huge, since most visible bug fixes and improvements are actively ported between the two systems.

License information

SBCL is derived from CMU CL, and carries the same licensing terms, a mixture of BSD-style (for a few subsystems) and public domain (for the rest of the system).

Some of the files in CMU CL have a BSD-style license requiring that credit be given to the institutions which owned the copyright to the original versions: Xerox, Inc., the Massachusetts Institute of Technology, Symbolics, Inc., and Gerd Moellmann. For these files, SBCL necessarily uses the same BSD-style license as CMU CL did.

The rest of the files in SBCL (as in CMU CL) are in the public domain. The boilerplate at the beginning of SBCL source files looks like this:

;;;; This software is part of the SBCL system. See the README file for
;;;; more information.
;;;;
;;;; This software is derived from the CMU CL system, which was
;;;; written at Carnegie Mellon University and released into the
;;;; public domain. The software is in the public domain and is
;;;; provided with absolutely no warranty. See the COPYING and CREDITS
;;;; files for more information.
The COPYING file discusses further the particular licenses of parts of SBCL, whereas CREDITS details individual contributions.