Copyleft is the legal technique the GNU Project uses to keep free software free. The GNU page on copyleft defines it as “a general method for making a program (or other work) free, and requiring all modified and extended versions of the program to be free as well.” Once a work is released under copyleft, the freedoms travel with it to everyone who receives a copy.
The mechanism is a deliberate inversion of how copyright is usually wielded. As the page puts it, “Proprietary software developers use copyright to take away the users’ freedom; we use copyright to guarantee their freedom.” Rather than placing the work in the public domain, where anyone could add restrictions, copyleft sets distribution terms so that “the code and the freedoms become legally inseparable.”
The practical effect is that anyone who redistributes the software, with or without changes, must pass along the same freedoms they received. This prevents a middleman from taking free code, modifying it, and shipping a proprietary version that withholds source or restricts users.
Copyleft is a general principle that needs a concrete legal instrument. The GNU page explains that in the GNU Project, “the specific distribution terms that we use for most software are contained in the GNU General Public License.” The GPL is the most widely used expression of copyleft.