Hi
We have developed a Navision add-on for VMI and are designing the license structure. The license will be rather expensive that thus, we would like to be able to sell user licenses as well. We would like the license to follow the number of NAV licenses, but that is not possible, according to Microsoft. They suggested that we would write some code to accommodate it.
Have any of you experience in license models for NAV add-on and could guide us in what it possible (and practical)?
// Morten Seifert
// Morten
0
Comments
You can do concurrent users, but you have to store the max count somewhere. And that can be changed by a skilled SQL programmer, or anyone with a NAV Designer's License. Same deal with named users I guess. You'll have to think outside the NAV box. Maybe store it in the registry or in a dll file somewhere.
I'm a little surprised you can't have two granules in your add-on. One for user count and one for the actual software. So they would buy 10 of the user granule for your add-on and 1 of the code granule. I guess even with that there'd be a way around it. You'd be writing code to limit the number of records in a custom table with a SQL Developer / NAV Developer could remove.
Definitely an interesting challenge.
MVP - Dynamics NAV
My BLOG
NAVERTICA a.s.
I then have a table "Pitory Setup", which holds the number of licenses allowed. However, as matttrax said, it could be modified from a SQL Server.
By using the table "License Information", I should be able to find the user granule and the number of times it has been purchased and use that number is stead of my "Pitory Setup"."Concurrent Users".
Any thoughts?
MVP - Dynamics NAV
My BLOG
NAVERTICA a.s.
But again, if this is NAV code that just looks at the License Information table instead, people like me can go in and change it. Just stick an EXIT(99999) at the top of the function that returns the max user count.
Even if it is a dll file that can be de-compiled and re-compiled. I don't know much about signing config files and how that works, but it sounds promising.
I think you are making it too complex.
Start out buy acknowledging that no matter what you do, some customer will crack the code if you want to. Then work on the basis that your customers are not criminals at heart.
Now put basic code in there that counts users and give a warning. But don't go out of your way to make it hacker proof. Sure you will get some customers that try to cheat, but really most will be honest and not steal your software.
Just make it very very clear to the end user that if they exceed the user count they are in breach of contract, and have a contract that makes it worth your while to sue them if they do.
This is true with every piece of software. Given NAV's "open source" nature, it becomes even more true. Most customer's don't have developer licenses and they would have to go through a partner to make this kind of change. Hopefully the partner(s) you would be dealing with would not do this kind of thing.