I have a reseller who would like to buy a licensed version of our software product and share the revenues we make on the joint sale of the product within a specific territory.
What type of agreement should we have? Do we need to give them a limited license agreement that outlines a revenue sharing arrangement or a joint venture agreement?
The issue is not the type or title of the agreement - you can call it whatever you want.
The issues are the appropriate business terms and the legal provisions that are required to support those terms and protect your interests.
You mentioned a "license agreement". It appears that the reseller will need a variety of appropriately-specified license rights: To use and to demonstrate the software; to grant (sub-)licenses to customers; to use and distribute any promotional materials that you may have developed; to use your company's name and the product name; etc. You might find Licensing 101, and the download to which it refers, helpful.
Many other sophisticated provisions will be required for the agreement. I agree with John that you should retain legal counsel - this is not a do-it-yourself project.
Disclaimer: This post does not constitute legal advice and does not establish an attorney-client relationship.
I would start by agreeing to a plain-English term sheet, just listing all the points of the agreement. Once you've agreed on that, pass it off to a lawyer to create a real contract.
In more detail:
First sit down with the partner, and agree to as many terms of the agreement as you can think of, then write them down in plain English. Who pays whom? When? Under what conditions? What happens if one of you wants to terminate the agreement? After the termination, who owns the customers? Will one party indemnify the other? Who services the customers and in what way? What about returns? What are all the things that might go wrong and what rights do the parties have after that? How long does the agreement last?
Once you get this written up (it's called a "term sheet"), send it to your lawyer and ask him or her to draft a contract that covers those points. Find a lawyer with experience in your business so that they know the common pitfalls and can bake them into the contract.
This is also called an affiliate agreement. There are many different possible terms and getting an attorney involved to get this thing right for you is the best path I would think. From how they promote the product, the license restrictions, exclusive or non exclusive, payment terms etc...