Простая защита лицензий для приложения Python

хотя есть довольно много вопросов, как это, пожалуйста, медведь со мной, как я думаю, мой отличается...

У меня есть приложение Python $5, которое я распространяю с помощью py2exe, py2app и source для Linux. Приложение имеет годовую лицензию, так что люди должны перейти на более новую версию после одного года. Я хотел бы добавить какую-то простую защиту лицензии для обеспечения годового ограничения. Поскольку приложение является только 5$, я не волнует, если это легко circumventable. Просто что-то побудит многих пользователей заплатить $5 за обновление через год, а не игнорировать лицензию.

внимание:

  • Я хочу, чтобы источник был легко читаемым, поэтому нет обфускации
  • Я не хочу иметь скомпилированный код или SaaS
  • Я бы рассмотрел какую-то систему лицензионных ключей, если бы это было действительно просто, но не хочу ничего сложного

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

есть ли лучшие решения для этого?

1 ответов


Почему оператор if, сравнивающий дату, не решает это для вас тривиально?

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

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

Это похоже на замок для багажа. Работает только на честных людей... но, возможно, этого достаточно.

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

Википедия имеет это на DMCA в разделе "анти-обход":

обход контроля доступа Раздел 103 (17 U. S. C SEC. 1201 (a) (1)) DMCA гласит: Никто не должен обход технологической меры что эффективно контролирует доступ к работа защищена под этим названием. Этот Act определяет, что это означает в разделе 1201(а)(3): (3) Как используется в этом подраздел-

(A) для " обхода технологического мера" означает расшифровать скремблированная работа, чтобы расшифровать зашифрованная работа, или иначе, чтобы избежать, обход, удаление, деактивация или ухудшение техническими средствами, без полномочия правообладателя; и

B) технологическая мера "эффективно контролирует доступ к работа " если мера, то в обычном курс своей деятельности, требует применение информация, или процесс или обработка, с полномочия правообладателя, получить доступ к работе. Таким образом, если существует некоторая " технологическая мера что эффективно контролирует доступ к работа", незаконно обходить эта мера. Однако, Раздел 1201 создает несколько исключений правило, и Библиотека Конгресса право создавать дополнительные исключения.

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

Примечание: Ричард Столлман, Пионер свободного программного обеспечения, имел теорию, что конкуренция имеет тенденцию устранять анти-функции из программного обеспечения, такого как paywalls, раздражающие напоминания и т. д.