What is the best Open Source Lisp? - Part 1
Friday, January 9, 2004
On Lisp newsgroups, there are frequently questions regarding what the "best"
Open Source Lisp implementation is. This is a hard question to answer
as there is really no "best" implementation for everyone. However, I
have compiled a list of attributes that are commonly looked for in an
Open Source Lisp implementation and come up with a potential
"winner".
For today, I'll just post the criteria I came up with. If you would
like to email me the name of the implementation that you think best matches
this set of criteria (as well as any additional criteria that you feel
should have been specified), please do so - I'd be interested in hearing
what others think. On Sunday, I'll say which implementation I think best
meets these selection criteria.
Ok, here are the criteria:
- Free: The implementation must be "free" in the general sense of the word (not require a payment to anyone in order to download it).
- Source Code: Source code for the implementation must be freely available.
- Strong Developer Team: The product needs to be well-supported by a group of talented developers.
- Active User Base: There should be a set of users who actively contribute to the development of code for the implementation. This is represented by both the range of 3rd party libraries that are provided for the implementation and news groups (and other information sources) dedicated to the implementation.
- Strong Library Support: Users often decry the fact that Lisp implementation "x" does not have available libraries to do some common task (e.g. -- XML parsing, HTML generation, regexp's, etc.).
- Expanding/Captive User Base: Ideally, the implementation will be used in a "killer" application or for some application area which generates new users. This is as important for injecting "new blood" into the development process as it is for ensuring that continual feedback will be provided to the core developers.
- Capable of Generating Stand-alone EXEs: People want the ability to easily distribute their application without requiring the download/installation of the full Lisp implementation.
- Supports All Major Software/Hardware Platforms: There need to be versions for Windows, .Net, Mac OSX, Unix, Linux as well as the major hardware platforms.
- Easy to Port/Embed: Some developers will want to port the implementation to an unsupported platform - this should be a realistic task. Others will want to embed it - this should also be achievable.
- Good Development Tools: There should be either good development tools available for the implementation or utilities that facilitate/enhance development with standard tools. Ideally, support for both beginners and experienced Lisp developers should be provided.
- Good Documentation: Full documentation of the implementation, extensions, libraries and development environment should be available (either as part of the implementation or from 3rd parties).
Do you think there is no current Lisp implementation that meets these requirements or that this is an impossible set of criteria for an Open Source Lisp implementation to meet? See my thoughts on Sunday!

