Интеллектуальная собственность и минимизированный / запутанный код JavaScript
Наш поставщик предоставляет нам библиотеку javascript, которую мы используем на стороне клиента для сбора данных, и они шифруют данные перед отправкой (на их сервер сбора) с использованием Ajax.
Они минимизировали / запутали javascript, так что мы не можем легко определить из кода, что они собирают.
Мы спросили их, могут ли они предоставить не минимизированную / де-обфуцированную версию, чтобы мы могли отладить ее, когда есть проблема, но они ответили "нет", и причина в том, что это их интеллектуальная собственность.
Мой вопрос заключается в том, что, поскольку у нас есть весь код, загруженный в браузер каждого пользователя, и теоретически мы можем в любом случае вручную декодировать его. Действительно ли они в состоянии НЕ предоставлять нам не минимизированный / не запутанный код?
4 ответа
Итак, у нас есть два вопроса. Первый вопрос о законе. Если они являются владельцами этого кода, они могут определить любые варианты использования этого кода. Если они купили их, их права ограничены соглашением.
Второй вопрос о том, как это сделать. Четкого ответа нет. Я думаю (но это только мое мнение), что не стоит скрывать от вас код в процессе разработки. Но... сначала посмотри.
Действительно ли они в состоянии НЕ предоставлять нам не минимизированный / не запутанный код?
Да. Если у вас нет соглашения с ними, которое требует от них предоставления оригинального исходного кода, они не должны этого делать; т.е. нет никаких юридических обязательств.
Предполагая, что они написали кодекс, я бы не сказал, что у них есть моральные обязательства. Это включает случай, когда вы заплатили им за написание кода для вас, но вам не потребовалось, чтобы они доставили вам исходный код. (Например, они могут брать с вас меньше, чем затраты на разработку, потому что они рассчитывают окупить свои расходы, продавая тот же код другим клиентам.)
Все по-другому, если они не написали код, но получили его из открытого исходного кода. Тогда может потребоваться предоставить исходный код... в зависимости от лицензии на исходное произведение с открытым исходным кодом. Например, лицензия GPL обязывает их предоставлять исходный код (включая исходный код их модификаций), если вы попросите об этом.
Нет, они не обязаны, однако, вы можете уничтожить его с помощью автоматизированного инструмента. На этом этапе любой хороший разработчик может, вероятно, просмотреть код и получить общее представление о том, что происходит, достаточно, чтобы все равно отладить. Вы также можете работать над деобфускацией, но все сводится к тому, насколько сложен код, насколько важно иметь исходный код и сколько часов разработки вы готовы потратить на него.
Это хороший инструмент для этого.
Но вы можете столкнуться с юридическими проблемами, если будете использовать свой код без разрешения.
Хотя это трудно скрыть код, показанный в браузере...