Hardware locking is a new trend in software licensing in the early part of the 21st century. If you have bought several programs recently, it is possible that one or two of them may be hardware locked, which ties the program down to a particular computer.
If you want to use one of these programs on another computer, then you need to get a new unlock key from the vendor. Usually each replacement unlock key is provided for free, though sometimes you have to buy a new key after a certain number of changes of computer.
In the software developer's forums many vendors are really keen on hardware locking, and it is only recently (as of writing this) that tools have been made available to make this a really easy thing for software developers to do. So, I think in the near future we will see many more hardware locked programs on sale.
But I think it has many potential disadvantages for both the user and the vendor in the long term in many cases - so that one should take care before deciding to follow this path - and users also should decide carefully whether they want to use a hardware locked program - e.g. for important documents or files.
By long term I don't mean very long term, just a few years from now. However, the technique is so new that these problems aren't yet very prevalent. It isn't so good for the vendor to just be carried away with enthusiasm because it has now become so easy to do this thing, and because everyone else in the software forums seems to be doing it - it is new to them too, so they can't have direct experience of the long term problems either.
There are some situations where it may not cause many problems at all - if the program is of only ephemeral interest and will be superseded in a year or two from the first release date, for instance. Some vendors may be selling such programs. But if you are a vendor - are your programs also ones that are appropriate to release in this format?
As a user, it is important nowadays to be clear when you purchase a program, whether you have bought it for a single machine, and just for the lifetime of that machine, or for any machine. Also if you have several computers in your household, (maybe networked together) as is becoming increasingly common, you need to check if you can you install it on several machines at once.
Then, if it is hardware locked, and the program is one that you are dependent on, (of more than ephemeral interest) then you should check that the vendor has a system in place for issuing new keys. If the program is of more than ephemeral interest, one also needs some reassurance that the system will continue to work in the future if the original vendor goes out of business or the product line gets discontinued. If the program is your only means of accessing important files or a database, you need to get reassurances that those files can still be accessed later on if the vendor has gone out of business and you need to move the files to a new computer.
It is a fair amount of hassle to the user to keep asking for new unlock keys every time you want to use the program on a new machine. The first time you do it it doesn't seem so bad, but if you have to do it several times in short succession, it becomes a real pain. Then if any misunderstanding arises in the process, leading to delays in getting your key, the vendor can easily end up with one very unsatisfied customer, and no-one wants that!
It must be quite a hassle to the vendor too - the customer pays once only, but the vendor is (normally) comitted to supply new unlock keys for as long as the customer continues to use the product. If you are a vendor - have you really thought through all the implications of this committment? Do you have some plan in place for issue of unlock keys in the eventuality of your business closing, or your death (if a sole trader), or a take-over of your product line by another company? Are you always going to be able to issue unlock keys within a day or so, for 365 days of the year? (Any longer and your customer may feel they have a long wait for the key).
Then have you thought about the more distant future (both user and vendor again). In 20 years time if someone wants to run a "vintage" XP machine, they simply won't be able to do it unless they can obtain an unlock key for XP for their new hardware. They will also find that none of the hardware locked programs from our era will no run any more unless they are still able to chase up the original vendors.
A vintage program is bound to have less polished GUIs than the latest ones, but you may have data that can only be accessed using the program, or it may do something unique which still makes it of value to some users maybe many years after it was originally written. Perhaps it makes a unique picture, or a unique sound, or does something that no other program does in quite the same way.
Part of the FAQ about hardware locking for Robert Inventor's Programs