Being in technical support for a software company, I can offer you the following advice. If you want to make money off of your work, I would offer the license for purchase with technical support. If someone contacts you, they will need to provide you with some type of data indicating that they are a registered user and are elgible for support. One suggestion on registering users is to have a process embed a serial number into your code, then in your records, have that particular serial number linked to an end user. It will allow you to see who is registered, and also see who is pirating your code by running it on more computers than were actually licensed for use. This way, if someone calls or writes in with unregistered product and needs help setting it up to run on their server, you can flat out tell them that unless they register their product, they will not receive support.
This is how I would recommend setting up your tech support system:
- Have a user visit your product's webpage, and link them to a form that they can fill out with support questions, or have a number where they can call you to recieve live support.
- Put a field in there for the serial number for their licensed product and make it required that the field have a value for submission.
- Have the form be processed as an e-mail on the server side and sent to a special e-mail account. Have a script parse out the serial number and look it up in a database of all registered users. If there's a match, forward to your inbox for follow-up, else reply back to the user indicating that unless they register, they have no support.
- If you are providing live support over the phone, prior to answering questions, ask them for their registration info. If they provide it, look it up to verify it, otherwise *click*.