Copyleft is a play on the word copyright and describes the practice of using copyright law to remove restrictions on distributing copies and modified versions of a work for others and requiring that the same freedoms be preserved in any modified versions.
Copyleft is a form of licensing and may be used to modify copyrights for works such as computer software, documents, music, and art. In general, copyright law allows an author to prohibit others from reproducing, adapting, or distributing copies of the author's work. In contrast, an author may, through a copyleft licensing scheme, give every person who receives a copy of a work permission to reproduce, adapt or distribute the work as long as any resulting copies or adaptations are also bound by the same copyleft licensing scheme. A widely used and originating copyleft license is the GNU General Public License. Similar licenses are available through Creative Commons — called Share-alike.
Copyleft may also be characterized as a copyright licensing scheme in which an author surrenders some but not all rights under copyright law. Instead of allowing a work to fall completely into the public domain (where no copyright restrictions are imposed), copyleft allows an author to impose some but not all copyright restrictions on those who want to engage in activities that would otherwise be considered copyright infringement. Under copyleft, copyright infringement may be avoided if the would-be infringer perpetuates the same copyleft scheme. For this reason copyleft licenses are also known as reciprocal licenses.
While copyright law protects the rights of the creator by providing control of distribution and modification, the idea of copyleft is to grant subjective libre freedom to end users. Copyleft licenses specify clauses which explicity remove those restrictions the creator considers to not provide libre freedom to the end user. In software, open source copyleft licenses place the primary restriction that information helpful in supporting modification of software (e.g., source code) must be made available to a user with a copy of the licensed software and allows the original author to be acknowledged.