Imagine you just spent a hundred hours working on a prototype for a buyer. Now imagine that you were dumb enough to send them the source code before you got paid. Even worse, the prototype is good enough for the buyer, and you sent them the binary! Those are classic mistakes made by trusting (read: new) programmers. You can’t afford to give away your work when the buyer can turn around and send that source code off to someone else to be finished for less than they would pay you. The buyer might even say that your code is “not up to their standards” and that they would never use it, but you have absolutely no reason to trust the buyer unless you have established a long-term relationship with him or her. Even so, it’s still good business to protect your work.