License server and open ports

Started by
16 comments, last by Idov 11 years, 7 months ago

Why does a floating license need to be node-locked? isn't it supposed to be not limited to a specific computer?

The purpose is that the license for the actual program (your performance profiler) is not limited to a specific computer. Limiting the license server to a specific computer doesn't affect that.
That is actually how it is handled in FlexLM. You get one "master" license file that only works a certain computer which is running the FlexLM server and which includes the maximum number of running instances (overall) for your program. Now when other computers start the program they contact the license server and if a slot is free the program will start.
Advertisement
Some FlexLM licenses do support checking a license out for disconnected use, but that is the exception.
Hmm... so that means I'll have to create a "license activator" which will communicate with my still-non-existing website, right?
I'll give the user a license for the client and another license for the server, then in order to activate the server, he will feed in the server license, I combine it with his MAC address and send him a new license composed of the old license and the MAC address and the new license will go into the license server...
Did I get it right? is this how it's done?
oh... and one last question.
Will it be really bad if I ask the user to enter his MAC address on my future website (right after he inputs his username, company name, etc.) instead of doing it automatically?
He can find it out by typing "getmac" in the command line.
(I mean in terms of security and user experience.)

Will it be really bad if I ask the user to enter his MAC address on my future website (right after he inputs his username, company name, etc.) instead of doing it automatically?


This might be a problem with business customers. The one buying the license might not know this information.
E.g. I simply tell IT Service to buy X of that and Y of this, but usually i do not include the MAC Adresses. And to be honest, this extra work to collect all the information (computers might not be delivered for new employees. Existing ones are changed every few years), i would do this for an absolute must have software. Otherwise i would simply choose to buy a different product (if available).
If you are not sure about the price of your software now, this might be something to think about before you invest time in a license server.
You could simply offer a company or site license and be done with this problem. This is only a problem with really expensive software.
ok, it's a bad idea smile.png
I'd rather that people will buy and steal it than simply ignore it...

about my initial problem:
I'm not sure about using node-lock license for the server because it seems like an overkill right now. Also I'm not sure how to do it yet.
I thought that maybe the server should scan a range of 50 - 100 (maybe more?) UDP ports in the middle of nowhere and stop when it find a free one.
The clients will also scan these ports and try to connect to the server. If it gets more than one response from the server - it will know that there are more than one server and will not connect to either of them!
Sounds good?
That would be an option. But, applications that go around scanning ports might trigger security mechanisms.

About the hassle that companys go through to use your software: It all depends on how unique (and good) your software is. If there is no alternative companys will do quite a lot of stuff to use it. But it would be very inconvenient if the customer has to manually type in the hardware information. Plus, instead of you obtaining the actual hardware information, I think it would need to be some kind of hashed value.
What I would do is to have the server generate a license request including the hashed hardware information at install time. Then send that to you. The license file is then generated at your site and sent back. Of course, this would be a lot nicer if you would actually have a server to contact instead of having to use emails for that. Depending on the expected number of sales processing those emails may get quite annoying on your side as well.
I would also not only use the MAC address(es) of the server as it is actually possible to change them.

Yes, creating your own license system is quite a hassle. So, again, looking into exiting ones might be worth it.

Overall, I agree with GWDev. Site licenses (for example key based, similar to windows licenses) are probably the easiest way to go.
Ok, I'll check and see what I'm going to do.
Maybe I won't have node-locked licenses ar first but only floating and site licenses.

thanks everybody :)

This topic is closed to new replies.

Advertisement