Why Copyleft?

“When it comes to defending the freedom of others, to lie
down and do nothing is an act of weakness, not humility.”

In the GNU Project we usually recommend people
use copyleft licenses like GNU
GPL, rather than permissive non-copyleft free software licenses. We
don't argue harshly against the non-copyleft licenses—in fact,
we occasionally recommend them in special circumstances—but the
advocates of those licenses show a pattern of arguing harshly against
the GPL.

In one such argument, a person stated that his use of one of the BSD
licenses was an “act of humility”: “I ask nothing of
those who use my code, except to credit me.” It is rather a
stretch to describe a legal demand for credit as
“humility”, but there is a deeper point to be considered
here.

Humility is disregarding your own self-interest, but the interest you
abandon when you don't copyleft your code is much bigger than your
own. Someone who uses your code in a nonfree program is denying
freedom to others, so if you allow that, you're failing to defend
those people's freedom. When it comes to defending everyone's
freedom, to lie down and do nothing is an act of weakness, not
humility.

Releasing your code under one of the BSD
licenses, or some other lax, permissive license, is not doing
wrong; the program is still free software, and still a contribution to
our community. But it is weak, and in most cases it is not the best
way to promote users' freedom to share and change software.

Here are specific examples of nonfree versions of free programs
that have done major harm to the free world.

Those who released LLVM under a non-copyleft
license enabled
nVidia to release a high-quality nonfree compiler for its GPUs,
while keeping its instruction set secret. Thus, we can't write a free
compiler for that platform without a big reverse engineering job. The
nonfree adaptation of LLVM is the only compiler for those machines,
and is likely to remain so.