I don't get why you should be free to use the code I WRITE. If you want to free YOUR CODE it's YOUR CHOICE but don't cry to me when I don't do the same favor.
What you're saying doesn't apply here. Because the code wasn't "YOUR CODE" or "MY CODE", rather, it was a combination of at least two different forces, the first of whom put limitations on how his code was to be used. If the code was all done by a single person, then sure, he can control how his code is used. But it wasn't, it was written by two people, so there's no single "MY CODE" or "YOUR CODE".
So it comes down to two choices as to who gets control of the code:
A) Does the original developer get to control how he uses his code?
B) Does the new developer get to control how he uses the other person's code?
With GPL, they've chosen A). The developer has decided that he wants limitations on how his own code is used. Why isn't the developer allowed to add those controls?