> But if you give your work away so that people benefit from it in general, then you have agreed that your sole benefit is not at issue and that you don't expect compensation for the work.
Two things. First, you aren't giving your work away. This premise is false. You are licensing your work. It's still yours. Without that license, it's yours. You are exchanging the right to use that work for certain conditions that must be followed. You expect to be compensated.
> what specific asset or benefit have you lost when someone takes your GPL code and uses it in their commercial product?
This can be rewritten as such:
"What specific asset or benefit have you lost when someone takes your copyrighted code and uses it in their commercial product?"
The answer for that is the same answer for the question you asked.
Two things. First, you aren't giving your work away. This premise is false. You are licensing your work. It's still yours. Without that license, it's yours. You are exchanging the right to use that work for certain conditions that must be followed. You expect to be compensated.
> what specific asset or benefit have you lost when someone takes your GPL code and uses it in their commercial product?
This can be rewritten as such:
"What specific asset or benefit have you lost when someone takes your copyrighted code and uses it in their commercial product?"
The answer for that is the same answer for the question you asked.