A review of "Review: CryptoLicensing for .NET"
The review of CryptoLicensing for .NET that Roy Osherove posted recently was very well written and covered a topic that I've long held a mild level of curiosity around. That topic being protecting code/software that's written using a .net language from a licensing perspective.
There's a whole black-market industry surrounding the cracking of software and irrespective of the legality or ethics of it, I'm pretty sure a lot of people have used cracked software at some point (bonus points and the moral high-ground to those who claim they haven't and are actually telling the truth!). Be it cracked/patched software, a serial number generator, a serial number that everyone's using, there are ways and means. By far the simplest is probably with something like WinRAR that pops up a "Please purchase WinRAR license" dialog box and relies on honesty, with more complex and convoluted solutions like Microsoft's OS licensing that can go horribly wrong if their activation servers have a bad day. Not to mention the "what will happen when" scenario for when Microsoft finally get bored of providing activation servers/services for Windows XP.
The thing that particularly sparked my interest was a comment from Frans Bouma, which could be summed up pretty much as saying "whats the point?", which seems to be a very good question. My opinion is that some form of licensing/activation solution at least raises the bar and reminds people using the software isn't actually free for them to use and do with it what they will. Plus, software that has an "n-day trial" that's expired is likely to get paid for if it's expired and then its use is required. I frequently install software for a single/ocassional task that has a "30 day trial" attached, or similar, and then promptly forget about it. When I then come to perform that task again 6 months later, if the price is right I end up buying it. If not, off comes the software and something else is found.
A fantastic example of this is a project I worked on about 2 years ago, I'd played around with a trial version of some .net data access layer generating software (I can't for the life of me remember what it was, one laptop later and it's not installed - but I have the license key somewhere!) a few months before that for a one-time-use tool I needed to write and then had this project thrown at me with a very tight deadline and no other development resource. I remembered the software, loaded it up, "out of trial", bugger! One credit card transaction later the license key was in my inbox and in the product. So, licensing control software worked for the publisher concerned!
Now, I wonder if there's a trial version of CryptoLicensing available that I can have a play with,....?