How to license a small desktop application?
July 7, 2009 7:17 AM   Subscribe

We have a small windows desktop business application designed for us by a local independent developer that we would like to market and sell to existing and new clients, but we neither we (nor our developer) has any experience of how to easily protect it using some kind of licensing method.

The developer has used .Net to develop the application and ideally we would like to have it work for a trial period and then disable it so the user has to purchase a full license in order to continue using it. If we can prevent copying of it within an organization or between individuals once it has been licensed, that would obviously be ideal. One commercial hosted licensing option we have looked at is great but very expensive, especially as we are probably only looking at selling this for $50 per user without having any real idea of how many we would sell. Our free lance developer has never done anything to do with licensing and doesn't have any experience of coding something that manipulates the registry settings when a license is applied to it.

Is there a simple easy-to-integrate solution out there that someone has used (or just knows about) to license and protect a small .Net application?
posted by 543DoublePlay to Technology (7 answers total) 1 user marked this as a favorite
 
Even with obfuscation, the general consensus is that if someone is determined to crack your code, they will do so. You're in a war and it's going to be hard to beat the motivation of someone who's doing this mainly to prove that they can rather than to make money from it.

.net is probably easier to crack than most. MS hasn't exactly made it difficult for anyone to inspect the code.

Difficult to say anything specific without knowing more about your app. Some apps lend themselves naturally to online authentication checks, for others this would be a no-no.

Depending on your app and the business model, you might be able to use continuous incremental improvement. Keep the software in continuous dev so that any hacked copy is out of date with the next release.

Look at http://www.asp-shareware.org/.

The OSS mob will of course bay that you should set the software free and make your money from support, but they probably don't have to work for a living so they can say things like that. (joke guys, seriously, it's a joke).
posted by w.fugawe at 9:28 AM on July 7, 2009


have you considered converting it to a web application? if the logic behind the application is unique and useful, you can draw a lot more people with a lot less hassle this way, and still charge a (perhaps graduated) license fee. freshbooks is a good example.
posted by klanawa at 11:20 AM on July 7, 2009


One very simple approach: give a unique ID to each customer; have the app call a web service on your end giving that number. The web service returns whether someone else is using that number from a different IP. If so, the app exits.
posted by zompist at 12:52 PM on July 7, 2009


One very simple approach: give a unique ID to each customer; have the app call a web service on your end giving that number. The web service returns whether someone else is using that number from a different IP. If so, the app exits.

There are a zillion things that could go wrong with an approach like this that I don't think you want to deal with as a small speculative startup.

Since motivated people will be able to crack anything you come up with (witness how keys for the latest versions of Windows, Photoshop, et al are easy to come by) my suggestions for you are to either move to a hosted web app model where you have control or do something very, very simple on the client side with a license key with maybe a single time online activation to record a key being used (and I said maybe).

I say maybe because as soon as you introduce an online component for registration or worse for the operation of the product you are committing yourself to maintaining 24x7 uptime for your licensing/authorization system. You are also committing yourself to the customer service overhead that this entails. This may not be the place where you want to invest your time and energy at this stage of the game.
posted by mmascolino at 1:08 PM on July 7, 2009


The term you're looking for is "copy protection". That should help your search.

Keep in mind that commercially available copy protection is more likely to already be cracked because it exists in so many other products that others have already taken a swing at.

I've developed software for a number of clients who have different thresholds for seeing their software ripped off. One client was so enraged by the idea of anyone using an unauthorized copy that they made people call in to a phone bank to authorize their software every time they installed it, and do it again after every 6 months of use. They spent probably 10 times as much on copy protection in development and hiring people to answer phones than they ever made on the software. (footnote: that company is no longer in business. And no one can use their software any more because the licensing phone line is dead.)

Another client had very strict restrictions on their software. Probably 1/4 of the original budget was deploying a unique and difficult to defeat cross platform copy protection scheme. A year later they paid me to remove the copy protection from their own software because their clients were complaining that they had to jump through too many hoops to legitimize their software.

On the other end there are clients who have told me they'd be thrilled if people liked their software so much they wanted to make illegal copies. They've generally sold a lot and had a lot fewer calls to tech support, which makes it much more profitable.

In my experience the best road is honestly not to try too hard. Sure, have a 30 day demo and a registration code, but if someone cracks it I'd be pleased that someone likes it well enough to put that kind of effort into it.

Oh, and when looking into 3rd party applications look at what kind of framework they have for generating license keys, etc. The less work you have to do, the less support you have to provide, the more profitable your business venture will be.
posted by Ookseer at 1:15 PM on July 7, 2009


mmascolino, note the OP's price point: $50. He's not creating Photoshop. It's not worth spending time and money to defeat professional crackers; and as Ookseer points out, intrusive schemes will just annoy the customer. I think he just wants to make it a little harder for (say) a company to buy 1 copy and use it companywide.

A web app is a great idea, if they hadn't already written it as a desktop app. Rewriting their code base, to say nothing of making sure they have the servers to support a widely used web app, is probably overkill for the level of copy protection they want.
posted by zompist at 1:50 PM on July 7, 2009


You misinterpreted my point...I was saying the Microsoft and Adobe spend boatloads on this stuff and it is cracked so they can't possibly come up with something that is mildly sophisticated that won't be a resource suck for their startup. I'm advocating doing something crazy simple that will only keep the honest people in check.
posted by mmascolino at 3:24 PM on July 7, 2009


« Older h8 renting.   |   A Sopranos question Newer »
This thread is closed to new comments.