There is no 'official' way to license your CRM Solution. If you want to place it in the marketplace it will act as an off-the-shelf shrink-wrapped product, unless you build in your own licensing/validation. The suggestions I have heard from
Microsoft tend to focus on enforcing licensing through custom plug-ins embedded in your solution. You could have the plug-in validate through an independent or Azure-hosted web service, or build in your own validation through custom entities in CRM.