You need to give some consideration to how you license the software you sell.
There are some important points to consider.
-
All license issuing has a cost overhead. You need a commerical licensing tool, or to write your own. Plus support costs for issuing new or updated licenses.
-
All licenses can be hacked, eventually, even if it requires someone to create binary patches of your code.
-
A license will stop most people from trying to cheat anyway
-
Licensing may reduce your sales
Because of all that, I recommend structuring your licensing as follows:
-
Under $50 - Don't bother, the extra support costs will eat large chunks of your time. But make sure you build in some ways for people to find out about other (more expensive) products you sell.
-
Under $200 - Make it simple and Generous. E.G. A person can put it where ever they like. All websites on a server can use the component.
-
Above - Look at "per site", or "per user" licensing. Give generous discounts as the number of licenses climb.
-
Where possible, provide a service, not software. This means you host the software on your own server, people connect to it and use it. Monthly membership or lifetime membership fees apply. But remember that lifetime fees imply a contractual obligation to provide the service, and that you will have ongoing hardware and bandwidth costs to pay.