2009-11-16 4 views
3

У нас есть небольшая программа .Net, которую мы продаем с помощью отдельных лицензий. Индивидуальные лицензии выполняются путем регистрации ключевого файла, который генерируется с использованием информации с компьютера, используемого для установки программы (MAC-адрес и т. Д.).Как обеспечить соблюдение лицензии на весь сайт?

Теперь у нас есть запрос на получение лицензии на весь сайт, такой как они могут развернуть как можно больше машин на своем сайте. Из технического POV я не уверен, каковы обычные подходы для этого; наш старый подход не сработает, поскольку мы не можем сопоставить лицензию с какой-либо конкретной машинной информацией.

Любые предложения?

еще несколько деталей:

  • программа представляет собой программу на стороне клиента, которая включает в себя Управление Add-In
  • машины для установки на может или не может иметь доступ в Интернет
  • мы не ограничиваются только .NET-подходами. Я просто ищу общую идею о том, как обычно обрабатываются такие вещи.

ответ

4

Существуют программные приемы, такие как центральный сервер лицензий - в отличие от того, как работает DRM. Лучшее решение в значительной степени зависит от деталей вашего приложения и того, что ваши клиенты готовы терпеть.

Однако мне кажется, что промышленный стандарт в этой области доверяет вашему клиенту и полагается на условия контракта, чтобы предотвратить незаконное распространение. Другими словами, выпустите один лицензионный ключ. Затем, если кто-то требует поддержки или просит обновления, попросите тот же ключ лицензии. Если у клиента, у которого не должно быть ключевых отчетов, которые они делают, тогда первоначальный клиент получает какой-то штраф или счет за то, что программное обеспечение выходит из-под контроля; условия будут указаны в вашем контракте с ними. Похоже, что многие компании просто собирают данные по этим направлениям, но на самом деле не собираются взимать штрафы.

Другим подходом является то, что ваше программное обеспечение могло бы забивать центральный сервер в Интернете (если он доступен) и сообщать о своем лицензионном ключе. Затем сервер разрешает запуск приложения. Если ключ утекает от клиента, то старый становится недействительным, и клиент должен обновить всех своих существующих клиентов.

2

Посмотрите, как Windows это делает.

У них есть программа лицензирования объема. В основном, они отправляют клиенту сервер лицензий и дают им ключ для активации сервера. После этого сервер используется для выдачи локальных ключей и активации локальных установок, которые используют эти ключи.

Отсюда: Windows Server 2008, Volume Activation 2.0 and KMS (Key Management Server)

сервера управления ключами (KMS) используется для создания локальной службы активации (службы управления ключами), размещенного локально/внутренне в вашей среде. Использование KMS устраняет необходимость подключения отдельных компьютеров к Microsoft для активации.

1

Другие подходы, изложенные, хороши, если программа стоит дорого, и вы оцениваете риск пиратства от умеренного до высокого.

Если это недорогая вещь и не может быть широко распространена вашим лицензиатом или их сотрудниками, стоимость внедрения сервера лицензий может не стоить того. Возможно, вы захотите пойти с очевидным уведомлением, указав, на кого лицензирована программа и каковы ограничения.

Сложность того, чтобы ваш клиент установил сервер лицензий, может нарушить сделку. Вам необходимо сбалансировать это вместе со временем/затратами на его реализацию.

0

В идеале вы должны рассмотреть решение о лицензировании, которое включает активацию продукта. Таким образом вы можете выдать лицензию компании и отслеживать использование этой конкретной лицензии.

Решение для лицензирования, которое вы выбираете, должно также поддерживать динамическую конфигурацию лицензии, поэтому, если вы подозреваете мошенничество, вы можете отключить лицензию (или определенные функции на ней), и это изменение вступит в силу сразу же после всех установленных клиентов.

И, наконец, лицензия должна быть однозначно идентифицирована, так что, если вы обнаружите, что она была выпущена в дикую природу, вы можете просто отключить ее и выдать своего клиента новой.

Отказ от ответственности & plug: компания, которую я учредил, производит OffByZero Cobalt turnkey licensing solution for .NET, что делает все вышеперечисленное и более.

0

Лучший способ сделать это - развернуть сервер лицензий на любой машине в сети клиента. Затем ваше программное обеспечение будет обращаться к серверу лицензий (каждый раз при запуске или только один раз в процессе активации) для получения лицензии для использования.

Ознакомьтесь с нашим CryptoLicensing, который поддерживает готовый клиентский сервер лицензий, который не требует настройки клиентом - ему просто нужно запустить один файл exe.

Смежные вопросы