GNU Readline is a software library that provides in-line editing and history capabilities for interactive programs with a command-line interface, such as Bash.
As a cross-platform library, readline allows applications on various systems to exhibit identical line-editing behavior.
Readline supports both Emacs and vi editing modes, which determine how keyboard input is interpreted as editor commands.
[7] An important example of an application changing its licensing to comply with the copyleft conditions of GNU Readline is CLISP, an implementation of Common Lisp.
[10] Another response has been to not use this in some projects, making text input use the primitive Unix terminal driver for editing.