Stuart Overton asked me "How can I make my projects Quicklisp-friendly?"
Here are some answers to the opposite question: How can you make your projects Quicklisp-hostile?
- Use a name that someone else is already using
- Use SourceForge
- Require extra steps to build, like running a shell script, make, ./configure, etc. outside of the asdf infrastructure
- Require libraries (especially foreign libraries) that are hard to find, hard to build, or both
- Bundle third-party libraries with your project; make sure they are either several versions out of date or locally modified in incompatible ways (stealth forking!)
- Make symlinks a critical part of the build process
- Your project name (cl-foo) should differ from its primary system name (foo, or even better, quux)
- System names should not be boring, so try using mixed-case or exotic characters for your system file names
- Make sure there are multiple forks of the project on github, the original one isn't the canonical one any more
- Depend on your own personal utility library, which is clearly better in many respects than the twelve other utility libraries already available
- Include none of README, INSTALL, LICENSE, COPYING
- Use your implementation's MOP and FFI directly instead of Closer to MOP and CFFI
- Make releases at most once or twice per decade
- Make your system definition be just a thin loader for your complicated loader script, which uses none of the defsystem's infrastructure or configuration