This question already has an answer here:

Let's say I create an application that is free, let's call this Software A and then I create the same piece of software but with some premium features, this will be Software B.

Let's say I advertise Software A and people like it and start buying Software B. What stops them from (after purchasing Software B) to not just give the exe out to people? Is this one of those things where I just have to be gullable and rely on people not to do so? Because implementing your own DRM as a solo developer is pretty hard I've heard.

marked as duplicate by whatsisname, jwenting, gnat, amon, Kilian Foth Oct 4 '18 at 6:43

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.


Simple answer: you can't, so don't even try. Try improving the quality of your software instead.

More complete answer: Not only is it "difficult to implement DRM as a solo developer," it's flat-out impossible because it's impossible to implement DRM (correctly) for anyone. Even Microsoft, who spends more on R&D every month than you'll see in your entire life, gets all of their software cracked within weeks of release. It simply can't be done, because:

  • DRM is software
  • All software has bugs
  • If your DRM has one bug that anyone anywhere in the world is able to find, they can crack it and upload it to the World Wide Web and then it's game over, globally.

If you want people to pay you for your software, there are two basic business models that actually do work, and neither of them relies on DRM.

  1. Don't distribute all of the content. A certain amount of the functionality runs on a server you control, and the user has to have a valid account to use it. Money can be involved in setting up or using the account, in various ways. (Note: doing this just for the sake of locking people who don't pay out of their software is equivalent to a DRM check, and it won't work. Don't go this route unless you can actually add value via a server.) (Note 2: this requires maintaining a server, which costs money. It may or may not be a good value proposition for you.)
  2. Rely on basic economics. The vast majority of people are generally honest, (not everyone, but most people; read this article for details,) and will want to deal fairly with you. If the value that your software provides for them is greater, in their view, than the price you're charging, they'll be willing to pay. There will be a few dishonest ones who will just copy it, but don't worry about them.

#2 really does work. Just look at the massive success of the GOG app store for video games. (ie. one of the most-pirated things ever!) Every single GOG game is sold 100% DRM-free, and that hasn't stopped them from making lots of money for themselves and the publishers whose games they sell!

  • not so sure about the vast majority of people being honest, but apart from that you're spot on. – jwenting Oct 4 '18 at 5:06

As stated, don't even try.

The ONLY thing that keeps most people from pirating is the risk of getting caught and facing legal action. Unless you can afford an international legal team with extensive experience in the field, forget about even trying to enforce anything. It'd just cost you a lot of money and the pirates tend to get away free.

Basically then, software distribution is based on 3 things to prevent piracy from making it utterly uneconomical:

  1. an honour system, where the few honest people pay willingly
  2. threat of legal action against corporate customers who pirate which would destroy their reputation
  3. enough income from the sharply reduced sales that you can absorb the 60-90% pirated copies in active use

To make piracy impossible for your system, you MUST have a subscription model where the registered users pay not just per time period but per use as well (in this model you wouldn't have to check on number of installed copies per license, but you can). Which requires the software to operate as a SAAS model, with all business logic being handled on the server and billed to the customer per call to the server. That way, if someone were to provide his license to others (which is how piracy starts...) HE gets to pay out of his own pocket for every other user using his license. Given the speed at which pirated copies tend to proliferate, this would rapidly become a major financial burden on that person, causing them to shut down their account, invalidating every pirated copy out there.

The client software installed by the user then becomes merely a shell to input, display, and output data from a server you yourself control.

It's a system that's of course highly unpopular among users, for the obvious reason that it's

  1. impossible to pirate
  2. can get costly if the software is used a lot
  3. requires an active internet connection at all times
  4. you no longer store your own data, which makes some people paranoid (this is changing as "cloud storage" becomes more accepted)
  • 1
    Your reasoning stands on the (totally unproven) argument that most people are dishonest. I don't agree - at all. Please back this up with something tangible (i.e. literature in criminology). On this fuzzy ground you end up recommending another business model which, although it exists, has nothing to do with the question. – Tibo Oct 4 '18 at 6:57
  • @Tibo in many countries 90% of software is pirated. Russia, parts of Europe, large parts of Africa and Asia. Easy to find data, you just don't want to accept it because it doesn't match your world view. And no, I don't recommend a business model, I merely mention it as the only way that'd prevent any and all piracy, which is what the question was about. Any other way is not going to work, whether it's a model that makes sense for OP is for him to judge. For most software vendors it does not make sense, they live with the piracy losses and see them as just another expense of doing business. – jwenting Oct 4 '18 at 7:24
  • 1
    @Tibo I'd really LOVE to think you're right but unfortunately truth is in the middle. For example nationmaster.com/country-info/stats/Crime/Software-piracy-rate (slightly outdated but numbers didn't change so much, more recent studies more or less confirm the same figure). From USA with its 20% to Armenia with its 93%...we have an average around 60% for Middle Eastern countries, emerging markets and North Africa; 40% for NATO and European countries; 30/35% for high income and G7 countries. Of course it's incredibly hard to get this numbers right but we can get the figure – Adriano Repetti Oct 4 '18 at 12:11
  • @AdrianoRepetti and the numbers vary for specific kinds of software as well. Games see a far higher percentage of piracy as compared to for example compilers. – jwenting Oct 4 '18 at 14:46
  • @jwenting absolutely – Adriano Repetti Oct 4 '18 at 17:36

Not the answer you're looking for? Browse other questions tagged or ask your own question.