Take the 2-minute tour ×

I have a commercial plug-in on top of Visual Studio.

My product is licensed per individual developer, so the developer may make copies on more than one computer, as long as the use of the product is by the same developer.

After a period of time I discovered that many of my customers purchase one developer license and distribute the product over all the team members (and it is not rare case).

I spent many hours (here in StackOverFlow and outside) searching on how to prevent this issue, but I found most of people talk about protecting per-machine license.

My question is how can I prevent my legitimate customers from illegally distribute my product over more machines if I can not restrict them to any number of machines?

Throw my search I get one solution, but I want to ask you if it is acceptable or not? I can restrict the license per Windows user name, while the customer activate the product for the first time I record the windows username with the product serial number, so he can not run (or even reactivate) the product on any machine with another Window username.

If you purchase any product that licensed per-developer, is this approach is acceptable for you?? (or in the other side this policy may be reduce my sales?).

Best Regards,

share|improve this question
Acceptable to me? I'm not your customers, but personally no kind of internet ‘activation’ scheme is at all acceptable to me. –  bobince Oct 6 '10 at 12:03
You cannot prevent your customers from ripping you off. For every can there's a can opener. Look at the DVD then the Blu-Ray fiascos where companies spent MILLIONS (or more!) to "protect" themselves and got cracked in virtually no time. –  JUST MY correct OPINION Oct 6 '10 at 13:16
add comment

6 Answers

You can use many forms of DRM to protect your product. Consider though that you will be hurting and annoying legal owners on occasion. If someone changed computers or reinstalled windows then he will not be able to install your product again. DRMs can also be broken and are usually never worth the time invested in them.

My advice is that you don't try to prevent piracy of your software, since you can't stop it. If you are aware of a specific client that abuses your license, send them a friendly but firm Email requesting they acquire legal licenses for all their copies. Failing that, you might want to pursue legal actions.

All in all, trying to fight software piracy is a lost cause. You might consider other types of licenses that make it easier for a company with multiple developers to acquire your plugin. If you give group discounts they are more likely to pay.

share|improve this answer
add comment

I guess it depends on how the plugin is used. If it's primarily used in an office environment where having computers set up in a windows domain is the de facto standard, then yes, it could be acceptable.

It could become a problem if the developers are used to being able to use the plugin at home on their home computer as well, since the username will probably not match.

Edit: You could perhaps set a limit of 2 usernames per user. That could solve the use-at-home problem.

share|improve this answer
add comment

I'd say trying to bind the license to the windows user name would be sufficient, and somewhat acceptable. In your case you likely don't have any protection against several machines/users/etc. using many copies of your license - making it trivial for several people to use it. Most legitimate people will buy the additional licenses if it becomes non-trivial to do otherwise, binding it to the login name provides easy incentive to get additional licenses.

Just keep in mind:

  • You can't protect against every way to circumvent licensing.
  • You don't need fancy license protection, you just need it to be easier to get an additional license than it is to circumvent the licensing.
  • Don't make it hard to use a licensed product.

One caveat I have as a sole developer on some projects though, is stuff bound to just 1 machine (or perhaps user account) - I always need 1 additional license for my build server and/or my machine-at-home. it is very annoying to have to pay for a license for that machine even if it's just me using it - so think about that. For your product, it'd mean I'd have to have at least 2 licenses - one for my work computer, one for my home cumputer (different users/domains).

share|improve this answer
add comment

Invent some kind of setting which everyone will want to have set their own way, and keep that setting value on your server, for a license. If it's the same programmer using the app from three different PCs, he'll have no complaints on that the setting is the same everywhere. (In fact, he'll like it). But different people have different tastes, and people will soon be tired of re-setting the option the way they like it only to later find it reset back to someone else's preference again. They'll think that maybe buying a cheap personal copy instead of going through all this crap is not a bad idea after all.

The more of user preferences you automatically move around, the better it is for a single user and the worse it is for cheaters.

share|improve this answer
add comment

Goerge, what you describe is pretty common in your industry. The battle is lost already. Small companies will not purchase as much license as they should, but bigger ones will eventually respect your licensing terms.

You must adapt your pricing strategy and take in consideration this fact.

Adding more protection will do the inverse, preventing you from getting new customers or keeping the existing ones.

share|improve this answer
add comment

Don't make it hard to use. I have seen bad results, like Blu-ray which almost failed because of so much DRM on them. Some people had to resort to Slysoft Any HD-DVD to play blu-ray because software player that was supposed to play Blu-ray wouldn't play the disc they bought.

share|improve this answer
add comment

Your Answer


