У меня есть проект perl на основе UNIX с файлом main.pl
, который также использует некоторые из пользовательских модулей perl. Я хочу добавить лицензию в свой проект perl. Каковы наилучшие способы?Как добавить лицензию на мой проект perl на основе Unix
ответ
Рассмотрите все миллионы долларов, которые индустрия развлечений и программного обеспечения потратила на схемы DRM, чтобы защитить свои цифровые изделия, и о том, как немногие из этих продуктов делают его незадолго до релиза без взлома. Ты не собираешься делать ничего лучше.
И это без Perl, что облегчает трещины. Поскольку двоичный файл Perl нуждается в доступе к исходному коду, фактически невозможно предотвратить доступ пользователя к этому коду. Вы можете запутать его, вы можете использовать упаковщик, чтобы сделать его автономным (псевдо) двоичным файлом и т. Д., Но все эти вещи относительно тривиальны для работы.
Таким образом, наилучшим подходом является подход к решению проблемы как юридической, а не технической. Возьмите хорошего адвоката в области интеллектуальной собственности и попросите их написать лицензионный договор. Заставьте своих клиентов подписывать (а не просто щелкнуть - знак) этот контракт до получения программного обеспечения. Если они нарушают условия соглашения, то адвокат на них.
У меня нет большой проблемы с тем, что пользователь может получить исходный код, я просто не хочу, чтобы он мог прокомментировать код для проверки лицензии, а затем запустить его с его помощью. – Harley
@ Харли: как сказал Дэйв: сделайте это юридической проблемой, а не проблемой кода. На самом деле не существует способа защитить код, отправленный клиенту от любых изменений клиентом. Вы можете сделать это сложнее, запутывая код, но не невозможно. –
Другой способ: не распространять программу для пользователей, запускать код на сервере, за который вы платите, и заставить пользователей подключаться к нему. – reinierpost
Означает ли это, что вы хотите добавить уведомление о лицензировании (например: «это бесплатное программное обеспечение») или вы хотите иметь какую-то схему, где пользователи должны купить лицензию, которая затем будет проверена программой? –
Будет лицензионный сервер, и мой код будет подключен к этому серверу для проверки лицензий. Проблема в том, что если мой код perl будет открыт, пользователь сможет просто прокомментировать код, который проверяет лицензию. Одним из способов для меня было бы скрыть код от пользователя. – Harley