Peter B Van Campen
Most courts have ruled that without exchange of money or other 'consideration' there is no legal contract.
But the GPL is *NOT* a contract. Under copyright law, you need the permission of the copyright holder to make and distribute copies of software. Similarly you need the copyright owner's permission to create derivative works and distribute these (though you own the copyright to your changes, so both you and the original copyright owner(s) own the copyright on the derived work.) The GPL is effectively the mechanism by which the copyright owner states "I give you permission to copy and distribute the software, and to create and distribute derivative works, subject to the following conditions...." The conditions basically being that the recipient of such copies or derivative works has to be given the same permission (to modify and distribute) subject to the same conditions as you are. If you (the user of the software) do not agree with these conditions then you do not have permission from the copyright owner (who originally placed the code under GPL) to distribute copies of the either the unchanged software or derivative works.