I began doing freelance work before watching "f*ck you, pay me." by Mike Monteiro, and did not negotiate a contract when starting my first job. I will be sure to use a contract in the future, but I'm trying to decide whether or not I should negotiate one for this job, before receiving payment. (Luckily, the client is willing to pay)
I began developing an application where the client negotiated a pretty low price (it's my first production development gig, after all) in return for two promises:
He'd cooperate with any trouble due to bugs, so long as I fixed them quickly.
He'd help me sell the app for full price to 2-3 other business owners in his line of work.
Because of these terms, I think it's appropriate that:
I retain the rights to distribute the software, and sell him the rights to use, but not sell, the software indefinitely.
I retain the rights to sell any updates to the software in the future as I see fit.
Since we started this job without a contract, would it be appropriate for me to negotiate one before I hand over a copy of the product?
I'm not worried that the business owner will sell (if he knew how to) or distribute the software.
I'm not worried that I won't be paid.
Is it too late to / should I negotiate a contract now? If not, how should I discuss this with the client?