Let’s look at the main options for copy protection, including cost, level of protection and implementation.
The initial expenses are zero — you hope that those who buy your software will not distribute it, and you will receive income from each user. No prior preparation or implementation is needed: once you have compiled the program, it can be distributed. The problem is that as the number of users grows, they will inevitably (not) intentionally start spreading. About the fact that with such a system, there is practically no level of protection, probably you can not mention.
Software protection offline
As a rule, this is an inexpensive option. Usually such a solution is implemented after the program is compiled. Often, a software wrapper with certain settings is used to protect the application. When the program is run by users, it does not connect to any external systems. Since all licensing parameters are located on the computer on which the software is running, it is quite easy to bypass such protection. The level of protection when using this solution is between low and medium.
Software protection Online
Mandatory connection to the licensing server usually leads to an increase in startup costs and adds recurring costs. Here, too, a software shell is used for protection, but due to the fact that the licensing parameters are made online, more opportunities appear. Additional options allow you to track where the software is used, how it is used, with or without a license. Due to the need for a constant Internet connection, your product may not be used everywhere. Protection in this case is between medium and high level, since the licensing parameters remain on the protected licensing servers.