Originally, Linus Torvalds released Linux under a license more
restrictive than the GPL, which allowed the
software to be freely distributed and modified, but prevented any
money changing hands for its distribution and use. The
GPL allows people to sell and make profit from
free software, but doesn't allow them to restrict
the right for others to distribute the software in any way.
The GPL also allows people to take and modify free
software, and distribute their own versions of the software. However,
any derived works from GPL software must also be
covered by the GPL. In other words, a company
could not take Linux, modify it, and sell it under a restrictive
license. If any software is derived from Linux, that software must be
covered by the GPL as well.
This might sound like a contradiction at first. Why sell software for
profit when the GPL allows anyone to obtain it for
free? When a company bundles a large amount of free software on a
CD-ROM and distributes it, it needs to charge for
the overhead of producing and distributing the
CD-ROM, and it may even decide to make profit from
the sale of the software. This is allowed by the
GPL.
Organizations that sell free software must follow certain
restrictions set forth in the GPL. First, they
can't restrict the rights of users who purchase the
software. This means that if you buy a CD-ROM of
GPL software, you can copy and distribute that
CD-ROM free of charge, or you can resell it
yourself. Second, distributors must make it obvious to users that the
software is indeed covered by the GPL. Third,
distributors must provide, free of charge, the complete source code
for the software being distributed, or they must point their
customers on demand to where the software can be downloaded. This
will allow anyone who purchases GPL software to
make modifications to that software.
Allowing a company to distribute and sell free software is a very
good thing. Not everyone has access to the Internet to download
software, such as Linux, for free. The GPL allows
companies to sell and distribute software to those people who do not
have free (cost-wise) access to the software. For example, many
organizations sell Linux on floppy, tape, or
CD-ROM via mail order, and make profit from these
sales. The developers of Linux may never see any of this profit; that
is the understanding that is reached between the developer and the
distributor when software is licensed by the GPL.
In other words, Linus knew that companies may wish to sell Linux and
that he may not see a penny of the profits from those sales. (If
Linus isn't rich, at least he's
famous!)