|Version 3 (modified by rme, 10 years ago) (diff)|
A Brief History of OpenMCL
OpenMCL is an open source Common Lisp implementation, licensed under a Lisp-specific variant of the LGPL, and derived from Digitool's MCL product. Versions are available for LinuxPPC, Linux 64-bit x86, and for Darwin (PPC and x86-64 bit), the BSD/Mach layer on which Mac OS X is based.
Its history is an interesting path from commercial, to important government research, and finally to an open source project. It encompasses the highs of technical achievement, the lows of internecine battles over implementation language, and finally the charitable release of the software as open source.
Commercial MCL was first release in 1987, ran on a 1 MB Mac Plus (68K) and included a rich IDE, GUI, and fast compilation. It was purchased by Apple, Inc. in 1989, and eventually transferred to Digitool in 1994.
MCL was ported to the PowerPC platform in 1995.
In the early 1990's, the Jet Propulsion Laboratory of the National Air and Space Administration (NASA) developed several mission critical software packages in Lisp, running on various Lisp environments including MCL, Allegro, Harlequin (later LispWorks), and CLisp.FootNote(See [http://www.flownet.com/gat/jpl-lisp.html Erann Gat]'s history, "Lisping at JPL" for more details, in particular the section titled '''2000 - MDS''')?.
Based on these successes, an attempt was made to build more NASA Lisp infrastructure, in particular something called the JPL Mission Data System (or MDS). Various competing interests within NASA argued against a Lisp implementation, claiming that the necessary runtime was too large (ignoring the fact that Lisp software had already flown successfully on Deep Space 1 -- NASA's Software of the Year).
In an attempt to address one of the major objections to Lisp, that it was too big, Gary Byers (who wrote the compiler for Macintosh Common Lisp (MCL)) was hired to port MCL to vxWorks. Because Linux provided a convenient platform for development, MCL was actually initially ported to Linux, and then to vxWorks.
"Along the way he also produced a port for Solaris. The MCL image was only 2 MB (compared to 16 or so for Harlequin), but it turned out not to matter. Lisp was dead, at least at JPL. After two years Gary realized that his work was never going to be used by anyone and he too left JPL. [...] (The work Gary did on the Linux port eventually found its way into OpenMCL so it was not a total loss for the world.)"FootNote(Ibid)?
Sandia National Laboratories
In 2001, the Advanced Information Systems Laboratory at Sandia National Labs, having heard of the JPL port, expressed interest in using it in their research. Gary Byers was able to persuade Digitool to open-source the work that had been done at JPL, and a small consulting company formed by original MCL developers created an open-source project called OpenMCL to support the work.FootNote(See Gary Byers's [http://www.cs.utexas.edu/users/moore/acl2/seminar/openmcl-overview.pdf presentation] for details on '''OpenMCL''''s history)?
In the years 2001 through 2005, OpenMCL was ported to even more architectures and operating systems. OpenMCL can now be used on Mac OS X (32-bit and 64-bit PPC, and 64-bit x86), Linux (32-bit and 64-bit PPC, and 64-bit x86), and FreeBSD.