LZX is both a compression algorithm (of the Lempel-Ziv family) and an archiving program (and file format). The archiving program and compression algorithm were both created by Jonathan Forbes and Tomi Poutanen in Canada, and the archiver was released for the Amiga computer in both shareware and registered versions. When the authors ended support for the program in 1997, they released a key for the registered version so that anybody could use it free.
One of the authors, Jonathan Forbes, later worked for Microsoft, and used LZX compression in some Microsoft formats, including Cabinet, CHM, LIT, WIM, Xbox Live Avatars, and Microsoft XNA Compiled Format.
Microsoft's LZX algorithm description is available, but has several errors—see libmspack's comments. There is also an LZX delta variant of the format, with a much clearer and more correct specification.
libmspack's implementation of the algorithm is complete and somewhat commented. Note especially the description of errors in Microsoft's LZX specification.
The unlzx source code implements an optimized extractor for LZX archives.