Worried about protecting your software from competitors, hackers, and those willing to break licensing agreements? If you’re concerned… read this post.
On one hand, the web is a wonderful wonderland of information, an endless library that can teach you just about everything you’d want to know about anything. On the other hand, the web is a dark, scary place where people steal, cheat, lie, and engage in all sorts of other nefarious activities. In many ways, the web is just a digital representation of the world – there are good neighborhoods and there are bad neighborhoods.
For most of us, we just try to stay out of the bad neighborhoods and for the most part everything turns out fine. But for software developers, their content is out there for the world to download, see, and use, so they have to take into consideration the type of “neighborhoods” that might be interacting with their website and information. The primary concerns are hackers, competitors, pirates, and licensees that break the agreement not to share code or license information with others. Concerns like this could hurt your bottom line if they’re not properly addressed.
Knowing that, let’s take a look at the top four things you should be doing to protect your software and user base:
1. Use Software Escrow to Securely Release Source Code to Licensees
Releasing your source code to anyone who comes along and pays for a license might not be the best idea in today’s day and age. How do you know that the customer isn’t really a competitor just trying to peak at the inner workings of your app? Well, you can never protect against something like that unless you go to extreme lengths of conducting background checks and verifying the identity of every licensee, which would be a great way to discourage people from ever buying your software.
However, licensees understandably want access to the source code, particularly if they own a company that could crumble in the event that your development team ever stops providing updates. You can provide this comfort without making your source code openly available simply by using software escrow services. These services host your source code within a secure online interface that only the licensee can access. By restricting and controlling access to the source code, developers are able to ensure that exposure to the file doesn’t get out of hand.
2. Host the Software Online and Require Access Credentials
Of course, the best way to make sure nobody gets their hands on your source code is to not provide it at all under any circumstances. You’d have to be okay with the fact that you might lose a few customers who insist on having their source code, but you’d have the comfort of knowing that it would take some serious hacking for someone to get their hands on your source code. Once you’ve locked down the source code, then you can convert to software as a service (SaaS) mode, in which you host the software on your own servers and users simply login remotely via an online interface.
With this method, you won’t actually be allowing any licensees to download the software to their machine, so the executable can’t be reverse engineered by hackers and then spread around the web like free candy. Then, all you have to do is monitor the server logs and set up alerts that will notify you if a particular login is being used by too many different IP addresses. In that case you could simply disable the shared login, or have the system set up to disable it automatically until a manual review is conducted.
3. Keep Your Development Team Informed on Anti-Hacking and Anti-Pirating Techniques
Once you’ve got the source code taken care of and the software is being hosted on a secure server where it can just be openly downloaded to any device, the next step is to make sure your development team is savvy about the hacking and pirating industries and how they work. This means putting yourself in the position of a torrent-downloading software pirating nerd and doing your research into what websites they use and where your software could be illegitimately hosted.
Aside from knowing the websites to visit, it’s also important to know which techniques are used to share licenses, login information, and source code. If your program isn’t an open-source app, then the source code shouldn’t be available for free in an open online repository.
4. Scan Torrent and Pirate Sites in Search of Your Software
Unfortunately, there is no foolproof way to protect any software from being pirated, which is evident by the fact that even the richest software developers in the world still struggle with seeing some of their programs tossed around on torrent sites like Pirate Bay. However, it is possible to actively fight against leaked and pirated copies by disabling them on the server side.
If your program or app is set up to provide access to a server-side app via the user interface, then all you have to do is restrict access to the leaked license. This doesn’t always work, depending on how you have your user access permission set up.
Do What You Can and Don’t Sweat the Small Stuff
Ultimately, even the most secure software in the world could eventually be hacked and pirated if the right team of hackers and pirates put their minds to it for long enough. From there, if you later notice that someone has created a pirated or cloned copy of your program and it’s on a torrent site with a whopping 15 people seeding it, try not to panic too much if your user base is currently in the thousands. If you think about it, the people who would be using your software for free would:
A) represent a tiny percentage of the actual user base
B) be using an outdated and incomplete version of your software, and would therefore be tempted to obtain the full version.
Thus, you can’t worry too much about whether a few poor people are using your software free. All you can do is heed the tips above and research the topic thoroughly to make it as difficult as possible.