Licensing Components for a small software company

Important note:  the advice in this post is true for most small software companies, it is not true for large software companies and is especially not true in some specific markets (like computer games) .

Being a developer in small software company myself I tend to read forums frequented by developers in small software companies – and it seems every week someone who is about the release the first version of his product asks about licensing components and obfuscators.

A “licensing component” is a piece of software that makes sure that only someone who actually paid for the product is using it, they come in all shapes and sizes, in the low end you just need to insert a code send to you in an e-mail message (like yaTimer, the best time tracking software ever), at the high end there are all sort of secure activation schemes (like Microsoft Windows and Office product activation).

An “Obfuscator” is a piece of software that scrambles the internal structure of the software in order to make it difficult to deconstruct it and find out how it works.

And my answer is – you don’t need any of them, at least not for your first version.

Your biggest problem when you are just starting up is not software piracy – it’s getting exposure.

There are three groups of people not paying for your software:

  • “Serious” pirates – people hanging out at software piracy sites and people who crack software as an hobby or for money – those aren’t likely to ever pay for software and getting in a fight with them is pointless, they enjoy cracking software, but for you strengthening your anti piracy protection is a waste of time you could spend Improving your product or marketing, as long as it’s not too easy to find a cracked version of the software (it doesn’t appear on the first page of google) they shouldn’t have much effect on sales.
  • “Casual” pirates – people buying one copy and installing it on multiple computers or sharing the software with friends and neighbors – those people are lost sales but they are also a form of advertising, when you are just starting up you should ignore those people, when you gain significant market share it’s time to get them to pay for upgrades.
  • People who would love to pay for your software but don’t know it exists – this is by far the biggest of the three groups and this is where you should concentrate your efforts.

Anti piracy tools are complicated and choosing the right licensing component is very time consuming (and they can also be very expensive) – so just write your own trivial and easy to crack component (maybe based on partial key verification), remember, you don’t need a licensing component that is challenging to crack, this will just make it more fun to crack your product – you just need something to keep the honest people honest.

Now, hopefully at some point you are going to get a significant number of users and become relatively well known, at that point you are also much more likely to attract the attention of crackers (like everything from Microsoft or Adobe is cracked almost immediately), at that point you also have more time and money to spend – then you replace your home-grown code with a “real” licensing component to make your product harder to crack.

posted @ Tuesday, March 17, 2009 5:13 PM

Comments on this entry:

No comments posted yet.

Your comment:

 (will not be displayed)

Please add 2 and 4 and type the answer here: