What is the deal with GPL? Why bother if you're releasing your code for free/as public domain/whatever? If the code is for free why do you need a license? It vexes me.
Apart from ensuring that your own product itself stays free if someone creates a GPL-licensed program, it can also lead to *other* freely available programs since people building upon the GPLed program are required to release the full source of their program and its modifications as well.
With public domain, someone can just reuse whatever code was made, and 'lock it up' inside their own closed-source program.
The whole point to many who release GPL licensed programs is to lead to more freely usable software all around.
It's exactly because of that that GPL is sometimes caused viral -- using any GPL code requires the same 'free'-ness of any new programs using it as well, leading to more quality free software available to all users in the world at large. Of course, if a developer doesn't want to release his own programs' source under the GPL himself, there's an easy way to prevent that: don't use any GPL-licenced 3rd party components and re-invent the wheel yourself to add the functionality you like.
Thanks to the extended trickle-down effect everyone wins, more so than with public domain or freeware.