Как сохранить код от моего корпоративного клиента? - PullRequest
1 голос
/ 23 сентября 2019

Программное обеспечение в наши дни можно разделить на две категории: запускается на клиентской инфраструктуре (как в случае корпоративного программного обеспечения, такого как Splunk или Tibco), ИЛИ запускается на инфраструктуре поставщика программного обеспечения (как в случае Facebook, гдевам нужно использовать их API для доступа к бэкэнду).

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

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

У меня вопрос : в первой категории, описанной выше, как хранится действительный кодскрыто от клиента?

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

В таком случае, нужно ли мне переписывать весь мой код на скомпилированный язык, такой как C ++, чтобы запутать его во время компиляции?Или есть способ сохранить его в Python, но защитить исходный код другим способом?

Обновление: Учитывая приведенные ниже ответы, в этом случае, будет более эффективный путь к разработкеклиентское приложение (то есть: первая категория выше) - написать сначала доказательство концепции на более удобном языке, таком как Python, а затем взять эти идеи и переписать его на C ++?

Ответы [ 2 ]

1 голос
/ 23 сентября 2019

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

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

0 голосов
/ 23 сентября 2019

Аналогично предложенному @ gabeappleton выше, скомпилируйте код Python в EXE-файл.Я использую cx_freeze довольно регулярно и добился успеха.Это довольно хорошо документированная и разумная поддержка на этих форумах.

...