Protecting investment in software developed has been an issue for some time.
From time immemorial, human beings have sought to protect themselves and their investments from their enemies. The ancient Romans, around 3,000 years ago, constructed Hadrian’s wall or Hadrian’s defense plan to protect themselves from the Barbarians. What was unique about this plan is that they recognized that a well organized enemy could punch a hole in their wall as maintenance of the wall was so expensive. To solve this problem they setup secret military camps in several parts of the countryside.
In another story, the city of troy was so well defended that the ancient Greeks were only able to breach their defense after a 10 year siege — through an intelligent trick. A beautiful wooden horse with Greek soldiers hidden in it remained outside the wall after the Greek siege ended. Residents of Troy considered it a trophy for their hard work. They therefore opened the main gate and pulled it inside. I need not recount what took place afterwards.
Today, I am going to teach you how to protect the software you developed not with anything but the code you wrote.
The earliest known lock and key device was discovered in the ruins of Nineveh, the capital of ancient Assyria. Locks such as this were later developed into the Egyptian wooden pin lock. Linus Yale, Jr. invented the pin tumbler lock. Modern bank vaults are equipped with timed combination locks.
Software piracy is the illegal copying, distribution, or use of software. It is such a profitable “business” that it has caught the attention of organized crime groups in a number of countries.
According to a BSA survey carried out in 2011, over half of the world’s computer users — 57% to be precise — admit they pirate software. The estimated global software theft is $63.4 billion estadounidensi. According to the study only 38% of computer users have never pirated software.
There was little need for secure software activation systems or copyright (or patent) protection for early computer programs. There were few computers, and most software was custom-developed for in-house applications. Marketing of software began in the early 1960s. Investment in developing software was guarded through contracts. However, a third party who found software by the road side could do anything with it.
Today, you automatically get a copyright the instant your software becomes fixed in a tangible medium or published. Theoretically, this means that you own the copyright, and no one may copy, distribute, display or make adaptations of the work without your permission.
The first thing I want you to know when protecting software is that it is easier to destroy than to build. This is the greatest hint I can give you.
Software can have strong protection system. So strong that cracks and free serials of the software are unavailable on the internet. But Is there any benefit in using a loose software protection system? In the 1980s a teenager developed a software. The software was free but in the first screen of the software he wrote: “If you like the software mail $1 to the following address”. His address followed. The teenager made more than a million dollars estadounidensi.
One thing you should bear in mind is that it is only when many people are able to use your software that your product would become popular. If you have a product that is so useful how do you market it? One way to market it is to allow people to use it. Then by word of mouth demand of your product would skyrocket. There have been other revenue models. The open source followers make not only the software available freely but the source code as well. How do they make money out of their software then? Through sales of books, request for support and customizations.
Shareware is software that is provided for evaluation for a short time period. Usually 30-days. In a study that was conducted software that was made freely available with several inducements for users to pay or make a donation made less money than time-limited or feature-limited shareware. In another study time-limited shareware was found to generate more money than feature-limited shareware.
From the above, I have already mentioned two methods of protecting your investment. You can time limit the demo versions you provide or you can limit the features in the demo. Some do provide videos but making a demo version has one advantage. The customer enters data into the software through out the period of the trial. The data entered over the trial is an inducement to conversion. After entering customer records and product data over a months period the user of the demo would prefer to purchase the software rather than re-enter all the data in another software altogether.
However, protecting software goes beyond this. There are people who would want to breach the security or limitations you have provided. They want to use the software free forever. After releasing software, in a matter of weeks a crack or a serial appears on the internet which allows users to use the software free forever.
How can this problem be solved? Now is the time to remind yourself of what I said earlier. It is more difficult to build than to destroy. A typical computer software in binary contains millions of lines of machine language instructions. To crack or modify the software the hacker or cracker, the software developer’s enemy, would have to locate the instruction amongst the millions that limits functionality or that controls the trial period. It is like looking for a needle in haystack. Isn’t it? So hackers or crackers are very intelligent.
They do have a number of tools at their disposal that enables them to do this. It is easier to destroy than to build. The key to protecting your investment lies in making it hard for the hacker or cracker to understand how you built your software. If the hacker or cracker isn’t able to figure this out in a matter of hours your investment would be secure. Pure machine language or assembled binaries are more difficult to crack than interpreted languages like java and .net. A hacker can easily decompile .net runtiime and java runtime binaries into readable high level language.
There are a number of measures you can take to protect your investment in the software you developed. First ensure that no one else gets access to the source code.
In feature-limited demos build two versions: the demo and then the full version. In the demo version, in feature limited areas leave out the code entirely. For example, instead of inserting a function return statement after displaying a message saying the feature is unavailable in the demo version just before the code that implements the feature delete the code that implements the feature entirely from the publicly available demo version. The hacker no matter how smart would not be able to reinsert the code below the messagebox displaying “feature unavailable”.
In time limited-versions, encrypt strings and avoid the system messagebox in key places. In looking for the needle in the hay stack the hacker looks for several clues. He or she won’t read the millions of lines of machine language or assembly language code. No he won’t. No she won’t. That would take months or years. Some of the clues that the hacker looks out for are strings and system messagebox messages displayed in your activation system or time limit part of the software. Replace the system messagebox with your own custom dialog box.
Another method of protecting your investment in the software you develop, especially for server side scripted applications, is to convert your software to a web application. After doing this host it your self in your office. This way users won’t have access to the server side binaries or scripts. They would only see web pages in their browsers. You could then sell accounts or offer it as a subscription.
These are the few I would share with you today. Do not forget that it is easier to destroy than to build and that making software publicly available even for free makes it more popular.
Yaw Boakye-Yiadom is the Founder, CEO and 100% Shareholder of Boachsoft.