Интеллектуальная собственность и минимизированный/обфусцированный код javascript

Наш поставщик предоставляет нам библиотеку javascript, которую мы используем на стороне клиента для сбора некоторых данных, и они шифруют данные перед отправкой (на их сервер сбора) с помощью Ajax.

Они минимизировали/обфусцировали javascript, чтобы мы не могли легко сказать по коду, что они собирают.

Мы спросили их, могут ли они предоставить неминифицированную/дезапутанную версию, чтобы мы могли ее отлаживать в случае возникновения проблемы, но они сказали нет, и причина в том, что это их интеллектуальная собственность.

Мой вопрос заключается в том, что у нас есть весь код, загруженный в браузер каждого пользователя, и теоретически мы все равно можем декодировать его вручную. Действительно ли они в состоянии НЕ предоставлять нам неминифицированный/дезапутанный код?


person user2001850    schedule 23.06.2016    source источник
comment
Fiddler может отслеживать запросы, которые делает библиотека. Зависит от контракта.   -  person Legends    schedule 23.06.2016


Ответы (4)


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

Второй вопрос касается смысла этого пути. Нет четкого ответа. Я думаю (но это только мое мнение), что скрывать код от вас в процессе разработки — не лучшая идея. Но... смотри сначала.

person Drag13    schedule 23.06.2016

Действительно ли они в состоянии НЕ предоставлять нам неминифицированный/дезапутанный код?

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

Если предположить, что они написали код, я бы не сказал, что на них есть моральные обязательства. Это включает в себя случай, когда вы заплатили им за написание кода для вас, но вы не требовали, чтобы они предоставили вам исходный код. (Например, они могут взимать с вас меньшую плату, чем затраты на разработку, поскольку рассчитывают окупить свои затраты, продавая тот же код другим клиентам.)

Другое дело, если они не писали код, а получали его из открытого исходного кода. Затем от них может потребоваться предоставить исходный код ... в зависимости от лицензии с открытым исходным кодом оригинальной работы. Например, лицензия GPL обяжет их предоставить исходный код (включая исходный код их модификаций), если вы об этом попросите.

person Stephen C    schedule 23.06.2016
comment
спасибо за обновленный ответ. это звучит интересно, потому что, как только они объединили все вместе, трудно/невозможно сказать, что откуда взялось. - person user2001850; 23.06.2016
comment
@user2001850 user2001850 — Уважаемая компания не будет нарушать свои обязательства по открытому исходному коду. Но если они есть, вероятно, в минимизированном javascript есть подсказки. Если компанию поймают на этом, у нее могут быть большие проблемы. - person Stephen C; 23.06.2016

Это хороший инструмент для этого.

http://jsbeautifier.org/

Но у вас могут возникнуть проблемы с законом, если вы используете свой код без разрешения.

Хотя трудно скрыть код, отображаемый в браузере...

person Adrián Sánchez    schedule 23.06.2016
comment
я думал, что этот инструмент только форматирует, но не распутывает (заменяет имена случайных переменных на разумные)? Если бы только форматирование, мы могли бы использовать инструменты разработчика Chrome, которые могут дать вам отформатированную версию. - person user2001850; 23.06.2016

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

person Damon    schedule 23.06.2016
comment
именно этого я не понимаю, они отказываются давать нам код, но мы могли бы просто разобраться, потратив лишнее время. Ведь мы платим за их услуги. - person user2001850; 23.06.2016