Up until the 1980s, there were few if any licensing strategies, beyond simply selling the program and hoping that it wouldn’t be copied. Licensing wasn’t an issue for many early applications, because the software was shipped in a hard to copy format, such as proprietary game cassettes or on audio tapes, which were difficult to copy in the days before mass market cassette recorders.
The advent of 8” and 5 ¼” floppy disks suddenly made it easier to copy software, so Independent Software Vendors (ISVs) were forced to adjust their business models. Some vendors simply printed a program activation code on the disk, but this didn’t prevent multiple users from installing the software. Early protection schemes were developed to write programs onto disks in a unique way that was harder to copy. Other programs might ship code that prevented the programs from being installed more than once, but these rudimentary protection schemes proved relatively easy to circumvent.
Later on, software vendors developed systems to bind software to a specific machine, through the use of a unique identifier on the machine. This was called device or “node” locking, and the process remains common today. This system was unfortunately often inconvenient to customers, because the program would stop working if customers changed the underlying locked hardware. Customers also couldn’t easily transfer the software to a different machine.
A more flexible licensing method was developed that required the use of a hardware USB dongle, which contained licensing information and had to be plugged into the user’s computer and detected by the software before it would operate. This solved the issue of portability, since users could transfer the software from one machine to another, and operate one copy at a time with the dongle. With built-in advanced cryptography, hardware dongles remain one of the best copy protection methods for ISVs today.
As computers became more and more networked, ISVs developed license delivery systems that were installed on servers, rather than having individual licenses tied to a specific machine. ISVs could choose between concurrent or named license models, or a combination of both. Concurrent licenses set a limit on the maximum simultaneous users than could be connected to the server at any time. This enabled companies to purchase fewer licenses than they had users, but often at a slightly higher cost per license. Named licenses were tied to a specific user, but often had the additional benefit of allowing multiple sessions per user, in case they needed to be logged in at different places or if they needed to open multiple windows on a PC or workstation.
As electronic communications sprang into use, license keys could be distributed electronically, but unfortunately, so could illegally copied software. As more and more people started to use the Internet, some vendors started online activation. Licensing issues were similar to those of store-bought versions. An activation key was usually included in some sort of welcome email, and a central activation server would attempt to validate the key upon installation.
Online activation gave ISVs another weapon against piracy – the ability to have the software communicate with a central server to periodically check up on users, to ensure that the version of the software was legitimate. Microsoft uses this approach with their Windows Genuine Advantage system.

