문제

Phoning home to enforce a user licence is considered by many to be "evil". But for my web-dependent Windows application it seems like the perfect method of enforcing a single-user, multi-workstation licence, i.e. one licence on many machines, but only one can be active at a time. As an example, think in terms of a single rendering engine licence with a worker process spanning several hours only being active on one machine.

A licensing server must therefore authenticate the application when it is first run and check that the licence is not currently in use before a worker process is started. I can see how this would be considered evil if the application required Internet access just to check its licence, but my application is useless without an Internet connection anyhow. A site licence would only require one check.

If the licensing server is ever down (hopefully almost never), the app should gracefully degrade to a limited version until it can be authenticated. It has to phone home to check for updates and report (consensual) usage statistics anyway, so why is this so bad?

How do I keep honest men honest without being evil?

도움이 되었습니까?

해결책

Trust your customers to pay the bill. If they want to run your program on two computers at the same time, they will find a way.

Make it as easy as possible for your users to use the software. Often, a pirated version of a program is more user-friendly than the legal version. For one thing, the pirated version just keeps working if the license server is down.

I advise you to give the user full access if the license server is down, instead of giving them a limited version.

다른 팁

This, as all rights management, comes down to cost against risk. If you trust that your users will normally stick within your license terms or at least close to them (occasionally running two instances) then you don't need the extreme approach of the license server query with every run.

If you don't trust your users then how much additional revenue do you think you'll achieve and is it exceeded by the cost of implementing and maintaining your licensing solution? Bear in mind that the more you restrict, the more likely that someone will break your restrictions and pay you nothing (this is my impression based on nothing more than experience).

I for one would be furious if my paid-for-app degraded in performance just because your licensing server was down, that's your problem, not mine :)

Make it easier to be honest than to be dishonest. Once a pirated version comes out without crippling, then you have only punished the honest people.

As an (almost) average computer user, this would seem fair enough to me, except for one point. If your licensing server is down, my experience should not be affected. The application should continue to run as the full version until it can be properly authenticated. At the end of the day, the end user should not suffer for your technical problems.

Gary

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top