> A contract requires parties who come to an agreement. Further it requires > consideration. Neither are present in the GPL.
Of course software licenses have consideration: one party is getting to use software and the other party is giving the conditions (very roughly speaking) under which that software can be used.