Normally when you buy software, you buy a licence, and receive either a file to be put in the same directory as the software, or a licence key which is used to unlock the software.
Well, as soon as either of those things is public, they can be copied and distributed to anyone and everyone. I'm sure you wouldn't do it, but you'd have to agree that there's no shortage of software piracy.
Now, in my software, most things require a connection to the Internet in order to function. Downloading price data means you need a connection to the Internet. Placing orders automatically means you need a connection to the Internet. The only thing that doesn't require a connection to the Internet is backtesting, but in order to backtest you need to have obtained the data from somewhere. Unless you got a friend to download my software, and provided you with a DVD of currency data (make sure you keep that friend), then you must have connected to... the Internet.
I'm lucky in this, because it means I can justify my verification system, which requires, not surprisingly, a connection to the Internet.
When you log in, my software connects to a centralised server, and that server determines what things you are subscribed to.
So, even if you gave a copy of the software to your friend, the centralised server doesn't have any record of your friend, and so it says that your friend is not subscribed to anything.
Verification does not work off a username and password, either, because these could also be shared. The only truly unique thing to work off, is the hard-drives brand and serial number.
In effect, when you purchase a subscription to my software, you are purchasing a licence for use on one computer. That's not so uncommon. The only difference is that I have a method of enforcing it. You can change the computer the software will work on - just give me the details of the new hard-drive. But by doing so, the software will not work on the old hard-drive.
If you are concerned about the privacy aspects of letting someone know about your hard-drive brand and serial number - don't be. Think of a car. All car engines have a serial number. But you can't gain access to the car by knowing that number. All that number is for, is to uniquely identify that particular engine (or hard-drive). It's not a magic key to the contents of the car (or hard-drive). Research the issue yourself to see that I'm not lying.
The software is subscription based. As in, you pay for subscription to the backtesting module, and 1 year later that subscription expires. Or, you pay for subscription to the auto-trading module, and 1 month later that subscription expires.
Theoretically, someone could start the software, and then leave it on forever. Or they could continually change their computer's clock so it appears to the software that their subscription is still valid.
In order to counter that highly unlikely scenario, your subscription level is re-checked at least every 24 hours. You can disconnect from the Internet within that 24 hour period, but when it comes time to re-check, the Internet connection must be open. Otherwise, the software will revert to its Trial Version mode. (N.b. this has been changed recently to allow two subscription-check failures in a row and the software will still function. But on the third failure in a row, the software will revert to its Trial Version mode. That means you can start the software, get verified, and then disconnect for up to 72 hours).
To maximise your usage, you can start the re-check yourself at any time. So, if you're about to take a plane flight somewhere, you can start the re-check yourself just before you leave the house, and then you have another 72 hours before you need to re-connect to the Internet. (This might be handy if you want to experiment with backtesting while travelling).
Summary
In summary, the verification pattern is: when you log in, your hard-drive and serial number are sent (across a secure connection) to my server, and your subscription level determined and sent back to the software. For this to happen, you need an Internet connection open. If you don't, you can still use the software in its Trial Version mode. This process also happens once every 24 hours that the software is running (i.e. if the software is not running then no check is done, and no check needs to be done). The 24-hourly check is allowed to fail twice in a row. On the third failure in a row, the software will revert to its Trial Version mode.
You'll probably now want to read the Privacy Policy.