I have purchased many scripts and don't like the fact that with owned license, my server has to constantly check license status with a licensing server.
It periodically checks -- it's not a "constant" thing.
Once it's licensed, it's licensed. That doesn't seem to make sense at all. I don't like the dependency on 3rd party servers to ensure that my purchased product continues to run.
This topic comes up once in awhile. I think I addressed it once awhile back on the forums (it's probably there if you search) but it was a long time ago, so I'll take the time to go into some detail on this here.
First, some background:
We used to offer the option of an "untethered" license in Centova Cast v2. I just checked our billing server and ran the math, during the time in which we offered both tethered AND untethered as options, 96% of our clients chose the "tethered" option. And for very good reason: in order to prevent the key from being distributed and usable by anyone, it needs to somehow be locked to your server.
In v2, it was locked to the server's hostname (eg: foo.yourcompany.com). Which worked great, until you wanted to move your server to a different subdomain or domain name. Since the keys were independent and untethered, there was no way to change or revoke them.
We made clients aware of this limitation of "untethered" licenses prior to purchase, and as I said, virtually everyone chose the "tethered" license type instead.
In v3, Centova Cast is no longer restricted to a particular domain name (it can be accessed by any domain name for which an A record exists for Centova Cast's IP address, or even just by the bare IP address itself). That removed the one "convenient" way to lock the license to a server. With that gone, and in consideration of the fact that untethered licenses were hugely unpopular, we retired that untethered completely.
This should be an easy thing to do in a php script. Other scripts I have purchased keeps the purchase date in the account information so for any updates/support goes based off the purchase date in my account which has nothing to do with the software. If my subscription is current then I'm able to down an update. Simple.
That's great for allowing the client to software updates (and in fact our system works exactly as you described), but that has precisely nothing to do with licensing the product.
During testing of the product, I have periodically received socket errors rendering my control panel useless for minutes at a time. And nothing I can do about it.
Sorry to hear of that, and if you open a ticket with the helpdesk, we'd be pleased to help you diagnose that. With that said, if you are saying you received LICENSING-related socket errors, you are either confusing our product with another one, or (with all due respect) you're manufacturing false evidence to support your theory that tethered licensing is bad.
There is literally no possibility whatsoever that you have ever experienced a delay or connectivity problem in the Centova Cast web interface caused by a connection to our licensing server.
Absolutely no license validation takes place in the web interface. Centova Cast's license validation takes place approximately once every 10 days, and is performed via a cron job. Once your license is validated, Centova Cast runs WITHOUT contacting our servers for the next 10 days.
To give you some technical background, our model is basically a hybrid of the tethered and untethered models. Every 10 days(-ish), Centova Cast contacts our licensing servers to validate the license. Our servers respond with a 10-day untethered licensing certificate, allowing Centova Cast to run without contacting our servers until that certificate expires.
This allows us to:
1. minimize the amount of contact your Centova Cast installation has to have with our servers
2. ensure that even if there's a complete outage of ALL of our licensing servers across our geographically-dispersed licensing cluster, you won't be affected unless that outage lasts more than 10(-ish) days
3. still reissue the license to a different server if you ever need to do so (we don't need to worry about revoking the old certificate, as it isn't permanent and would expire after 10 days anyway)
Also for security I should be able to lock down all ports that are unnecessary and not have to worry about my product breaking.
You can certainly firewall any ports you like. Centova Cast makes an outbound connection to our licensing servers, so you don't need to open any ports on your server to facilitate the license validation.
If someone is going to be running a business, I want to ensure there is no point of failure that is unnecessary like a license checking feature.
This is a fair enough argument. Unfortunately, from a practical perspective, some degree of license enforcement is necessary in a product like this, so it's not something we can remove.
There are other platforms with powerful features, some being workstation versions and some being cloud software however I do like what this product can do, but it should be standalone.
There is no "workstation" product that can offer stream hosting... stream hosting does, by definition, require a server.
Cloud services are a different situation entirely -- they run the code on their own servers. If you're worrying about the possibility of our licensing servers going down for 10+ days at a stretch, I would expect that you'd never put your faith in a service for which any downtime whatsoever would instantly and completely interrupt your stream.
As for products that actually serve the same market as Centova Cast (eg: commercial stream hosting control panels), if you shop around, you'll find that virtually all of them use much more heavy-handed licensing schemes than Centova Cast does. If you expand your search to include web hosting control panels, I believe you'll find that most of them use an approach very similar to that which we use.
I hope that helps to clarify how our licensing system works, why it's necessary, and the steps we take to try to make it as unobtrustive as possible.