Прежде чем перейти к статье, хочу вам представить, экономическую онлайн игру Brave Knights, в которой вы можете играть и зарабатывать. Регистируйтесь, играйте и зарабатывайте!
Юридически основы реверс-инжиниринга закреплены в статье 1280 Гражданского кодекса России, коротко:
Пункт 1 – пользователь может вносить изменения в ПО исключительно в целях функционирования на технических средствах пользователя, исправления явных ошибок.
Способы исследования не обозначены.
Пункт 2 – пользователь вправе изучать, исследовать или испытывать функционирование такой программы в целях определения идей и принципов, лежащих в основе любого элемента программы для ЭВМ.
Способы исследования не обозначены.
Пункт 3 – пользователь вправе декомпилировать ПО, если это необходимо для достижения способности к взаимодействию независимо разработанной этим лицом программы для ЭВМ с другими программами, которые могут взаимодействовать с декомпилируемой программой.
Способ – декомпиляция.
После прочтения сразу возникли вопросы: (1) если в пункте 3 указан конкретный способ (декомпиляция) означает ли это, что первые два пункта статьи не позволяют декомпилировать ПО легально; (2) если это так, то как без декомпиляции «исправить ошибки и понять идеи и принципы, лежащие в основе ПО»; (3) если в пункте третьем подразумевается исключительно переработка ПО и именно поэтому предоставлено право декомпилировать, то получается в первых двух пунктах у нас лишь исследование без права переработки (тот же вопрос: как тогда «исправить ошибки»).
Сложилось ощущение, что законодатель явно допустил ошибку при формулировании третьего пункта.
Посмотрел судебную практику. По реверс-инжинирингу в целом практики немного, а данный вопрос в принципе не затрагивался.
В пользовательских соглашениях часто правообладатели дают перечень запрещенных способов работы с ПО, среди которых в дополнение декомпиляции, можно встретить декодирование, эмуляцию и т.п. Но можно ли с помощью таких способов осуществить все то, что описано в п. 1 и 2 (без декомпиляции) – сомнительно. И как я понимаю, декомпиляция, в любом случае, способ наиболее распространенный.
В итоге представляется, что декомпилировать при соблюдении всех изложенных в законе условий – можно как по пункту первому, так и по пункту второму. Вопрос же можно ли потом осуществлять переработку в контексте пункта первого, видимо, да, только, если обнаруженные ошибки препятствуют функционированию ПО на устройстве пользователя.
В реальной ситуации все может быть не столь очевидно, может в комментариях кто-нибудь поделится конкретными кейсами или просто своим видением решения проблемы.