views:

905

answers:

3

I'm developing a .Net class library (a data provider) and I'm starting to think about how I would handle licensing the library to prospective purchasers. By licensing, I mean the mechanics of trying to prevent my library from being used by those who haven't purchased it, not the software license (i.e., Apache, Gnu, etc).

I've never dealt with licensing, and in the past, I've always developed apps, not libraries. I don't want to make things difficult for my customers; know it is not possible to make it ironclad. Just some mechanism that gives me decent protection without making the customer jump through hoops or gnash their teeth.

I think the mechanism would check for a valid license when the class is being used in development mode, and not in runtime mode (when the customer's software is released to their customers). I think libraries are typically sold per developer, but I'm not sure how that could be accomplished without making the mechanism odious for my customers; maybe that gets left to the honor system.

I Googled this and found many approaches. Ideally, I'd like to do something that is generally accepted and common, the "right" way class libraries are licensed, if that exists, rather than making my customers deal with yet another license mechanism. A firm push in the right direction will be greatly appreciated!

+2  A: 

This is the .NET supplied solution

http://www.ddj.com/web-development/184416695

Lou Franco
+1  A: 

Try this: http://www.devzest.com/DotNetLicensing.aspx

We're a micro ISV providing component and we developed this for our own products.

Weifen Luo
Thanks, I will take a look!
Darryl
A: 

CryptoLicensing has a ready-made .Net LicenseProvider based class. It uses the underlying cryptographic licenses used by CryptoLicensing.

logicnp