Well, you wouldn't want someone to be able to take your code and say, "I wrote this!" or worse "I wrote this, and you'll have to pay $* for it." Would you? Or perhaps they could take your code and sue you for copying their code, when in fact you wrote it in the first place!

But on the other hand, you would (wouldn't you?) want someone to be able to change your code, if they found a problem with it and wanted to add a feature. So you can't just withhold the source for your program. You have to release it so that people can modify it, but you have to attach some restrictions, too.