License system for a desktop app

Analysts more and more say that the App gold rush is over. I am not so sure about that. As usual, people tend to think in binary terms. Web apps are not the alpha and omega. They still depend on a good Internet connection, and we all know this is far from being universal. There is also the little detail of confidentiality : having one’s data there in the server of a third party is not exactly reassuring.

More probably, all solutions will coexist for a while.

Which leaves room for native apps.

I will again use my favorite image : Google, Microsoft and Apple are like aircraft carriers, cruising the ocean of software. Lucky anybody who can claim the status of sardine. Most probably plancton.

MBS registration engine works good enough

I introduced a serial number system in 2012 after finding my software on torrent sites claiming 20000 + downloads
An impossible figure of course.

Since implementing it, I’ve had about 30 ‘cant register’ issues, and 2 detected cases of ‘serial sharing’.
Its hard to say if it lost me any business, before or after.

A couple of things come to mind:

  • Whatever you make can be cracked, so no need to overthink it.
  • Our licenses are tied to a users e-mail address, the one that they use at purchase time. This reduces serial numbers being shared from legitimate customers as they don’t want to share their e-mail address.
  • Send your serial number via e-mail to the address on the order.
  • So far with our system, we’ve had a couple of fraudulent purchases, where the buyers provided fake e-mails; they never received the serial number from our system and never contacted us.
  • Our system doesn’t store the customers e-mail address, we only store hashed versions. This means I can look it up; but if our system gets compromised, there’s no personal e-mail addresses to harvest and the serial numbers are useless.
  • Piracy can actually work in your favor; if the first release or first few versions are easy to share, they will get shared, providing people find your app useful.
  • Make sure that your update system is solid and reliable, keep updating your application. This will replace the cracked versions.
  • Over time tighten your checking, the update system will provide these people with the better system and if they’re still using the application, some will pay to continue using it.
  • Make sure that your app works with every new OS release; and provide timely updates. Again if someone is using it without paying, but now need to pay to continue working, they’re more likely to do so.

Make sure your users know who you are; people are more inclined to pay when they see that the program is developed by real people who have a family and bills, just like them. Some people think it’s okay to steal from large companies because the large companies make enough money from others.

Some people would rather spend their time breaking your program to avoid paying for it, you’ll never stop these people.

Last but not least as many have said; spend more time on making sure your product is the one that people will use and talk about; this will gain your product traction and ultimately that is better than trying to fight the un-fightable.

The cloud and web are great for services and some applications; but there will always be the need for highly optimized apps running natively on an OS. Look how quickly Apple backtracked from telling people to make web apps for iOS, to making proper apps.

This works for some software … with purchase I provide a license key that is based on the company’s name. The software is licensed to the company, unlimited users. I realize this doesn’t work well for everyone, but it can work for some. The company name appears at the top of all printed reports and in other places. If a pirate doesn’t mind someone else’s name on everything, they can use a “stolen” license key.

Advantage is that the key works forever and doesn’t require registration or activation.

Additionally, the key is stored in the database that the program uses, so users rarely if ever actually need to enter the key. A new user just loads the software and connects to the existing database.

well even this has limited effect when criminals start to use hex editors or ressource editors replacing your strings… Sam’s right: Whatever you make, it can be cracked.

If y’all get on my good side I keep an eye out for your stuff in the Upside Down.

Sorry, I don’t get it. What do you mean ?

I was making a joke/reference to the Stranger Things alternate dark universe.

Part of my anti-piracy tactics is to regularly check up on piracy listings to make sure my stuff isn’t there. I also keep an eye out for friends in the process.

Ah, OK. Well, if you see Check Writer or Check Printer, I will appreciate you tell me. I used to monitor kikasstorrent, but they are no more.

BTW most of my fonts already have the dubious honor of having been pirated. In a way, it is free publicity. If you type Bujardet in Google, you will find hundreds of font sites sporting my fonts. Shareware in legit sites, often complete in others. There are so many, I lost count long ago. Note that font cannot be software protected, and worse, they are not considered programs in the US, so they cannot claim the same copyright as regular code.

“There’s no such thing as bad publicity”
Phineas T. Barnum

“There’s no such thing as bad publicity”
Donald Trump

For Apps with lot of lists and simple level of interaction (e.g. view and check/ uncheck something) WebApps are great and more flexible than anything native. But as soon as you really “work” with something doing inputs and outputs, native apps always beats anything webdriven IMHO.