I agree that I don't understand the motives for using GPL. It doesn't seem to offer any protections but does offer annoyance.
Doesn't offer protection from who?
Commercial development companies will NOT infringe on GPLed code any more than they will infringed on closed source code. This is precisely what it's for.
Independent developers can and will ignore the copyright on the code, again just like they do with closed source code. Not many developers who release their code under the GPL care about this, so it's not really a problem.
So maybe I just don't understand at a very basic level how source code copyrights work. My understanding was they they were to control the ways in which the source could be used.
There are several misunderstandings packed into this.
1. Copyright is not for source code, it was written to apply to books, and got applied to software much, much later. The reason it doesn't make sense is they were never intended to interact in any way, but corporations forced it to happen.
2. Copyright is not about controlling the way works are used, it is simply a prohibition on copying them, that's it.
2a. GPL leverages this prohibition to say you're allowed to use the copyrighted material with certain restrictions, which are themselves anti-copyright.
GPL controls that use through requiring either mashed source to also be GPL or re-implementing the source instead of mashing it. What have I missed here?
What you've missed is that the GPL isn't about protecting individual programmer or user rights, it's about protecting the rights of all programmers and users. It's not just a license, it's a cause. You may legitimately disagree with that cause and prefer a world where corporations are permitted to either maintain a monopoly on interacting with computers, or where they're allowed to pull code from permissively licensed projects and make it so the original authors can't use the things they've built on it, but if you're evaluating the GPL as simply a license, you are indeed missing the entire point.
I'm having trouble reconciling
Of course that doesn't stop them from cloning your game
with
There's nothing wrong with a clone, in the abstract.
It's either "someone cloned my game <frownie face>" or it's ok, which is it and why? If it's "ok in the abstract", HOW is it not ok in a specific case. And please don't say, "Some people think..." I'm talking to you, what do you think about it? Those other people can make an account and post themselves.
The problem is that it not only locks out people who want to (boo! hiss!) make a living out of writing software,
Odd, I make a living writing software and I've never been locked out by GPL. I use it constantly at work, and have for over 10 years now.
it also locks out people who write free and open software, but who don't mind commercial developers making use of it,
As above, commercial software developers can and do "make use of" GPLed software all the time, all they are not allowed to do is slap their own license on it. It's really simple, if YOUR contribution is more important than the GPLed software, just write it all yourself, if you're leveraging GPLed software and just need a few tweaks, release your contributions, how hard is that?
people who are hobby coders ... making money off of their work
You're having some definitional problems here, you might want to sort that out.
people who just don't want the potential hassle of going open-source,
What hassle? You slap a LICENSE.txt file on your project and away you go. There is zero compliance burden for the original author, and people acting in good faith almost never run into compliance issues of any kind.
people like Eben who don't want to even look at the code for fear of exposing themselves and so on.
Yes, making licensing decisions based on unfounded paranoia is a great idea.
So, to me, it seems a little puritanical and overlooks the massive grey area between open-source zealotry and evil money-grubbing capitalism in which rather a lot of useful software development takes place.
It doesn't overlook a thing, I'm aware of and sympathetic to the "I just want to give my software away with no strings attached" point of view, and I don't have a problem with it. This view is shared by most of the Free Software community, it's just the community has decided as a whole that building a GPLed or otherwise copyleft software ecosystem is a Good Idea.