Wikipedia
LanguageTool
LanguageTool is a free and open-source, cross-platform spell and grammar checker which can be used as an extension in LibreOffice/ OpenOffice, Vim, Emacs, Firefox and Thunderbird, or as a stand-alone desktop application. It can also be integrated on websites.
Started by Daniel Naber for his diploma thesis in 2003 (then written in Python), it now has around 10 regular committers and supports more than 20 languages.
Based on error detection patterns, rules are created and then tested for a given text.