Механизм принудительного лицензирования и / или параллельного использования для достаточно открытого продукта UNIX?

StackOverflow https://stackoverflow.com/questions/1150725

Вопрос

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

Очевидно, что я не ищу и не ожидаю техники, которую не может обойти кто-то, сильно мотивированный на это, и / или 1337 h4x0r, которые просто хороши вот так.Смысл таких механизмов борьбы с пиратством заключается не в том, чтобы помешать пользователю делать то, что он действительно хочет делать, а просто в том, чтобы сделать это настолько раздражающим, что на самом деле это не стоит хлопот по сравнению с относительной легкостью простой оплаты другой (дешевой) лицензии - по крайней мере, для конечного пользователя со средними способностями.

Это требует чего-то более сложного, чем простая защита с помощью obscurity (что также вызовет смех у пользователей, которые могут с этим столкнуться, даже непреднамеренно, без намерения изменить настройку), но ничего похожего на то, что требуется для охраны ракетной шахты.Достаточно чего-то, чтобы сказать: "Да, этот продукт действительно ограничивает использование тем, что вы купили". В идеале, не должно быть ничего достаточно интересного, чтобы побудить кого-то, ищущего славы и богатства, опубликовать запись в блоге о том, как взломать его, хотя, учитывая, насколько нишевым является продукт и насколько он недорогой, я не вижу в этом повода для беспокойства.

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

В этом нет ничего такого, что умный хакер не смог бы разобрать, и, очевидно, что если функция достаточно тривиальна для встраивания в бесполезный двоичный файл, то она достаточно тривиальна и для переопределения вне его.Но это требует больше усилий, чем потребовалось бы обычному конечному пользователю.И, конечно же, опять же, смысл не в том, чтобы механически остановить пиратство, а просто установить небольшое ограничение, чтобы продукт не работал чисто по системе honor, хотя я уверен, что этого достаточно для многих корпоративных покупателей в США.

Является ли это распространенным подходом?Есть ли что-нибудь получше?

Это было полезно?

Решение

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top