> Copyleft wouldn't be necessary if everything were in the public domain.
If everything were in the public domain, nothing would stop you from forking an open-source project and distributing only binaries of your modifications. The precise difference between the GPL and say the MIT/BSD licenses is that the GPL precludes that. Copyright is the only hook you can use to compel creators of derivative works to distribute user-readable source.