LINUX.ORG.RU
решено ФорумTalks

Открытие кода по принуждению

 ,


1

1

Допустим, я мегажирная копропорация и спер чей-то код, дописал его и сделал на его основе новый продукт. Меня засудил Мэттью Гэррет и в суде просят открыть код. Я беру свой любимый обфускатор, обфусцирую, и отдаю чувакам. И говорю что у нас все в компании так пишут, потому что их изнасиловал brainfuck. Насколько это вообще юридически корректно в каком-нибудь штате Калифорния?

★☆

Последнее исправление: kirk_johnson (всего исправлений: 2)

И говорю что у нас все в компании так пишут, потому что их изнасиловал brainfuck

Тебе не верят, других исходников ты не предъявляешь, и тебя наказывают за нарушение GPL и вранье в суде.

tailgunner ★★★★★
()
Ответ на: комментарий от tailgunner

Тебе не верят, других исходников ты не предъявляешь, и тебя наказывают за нарушение GPL и вранье в суде.

На каком основании? Код работает? Работает. Какая разница, какой там Coding Style?

P.S. Я понимаю, что для любого нормального программиста факт обфускации очевиден. Меня интересует, как это доказывается в суде. Приглашенные эксперты?

kirk_johnson ★☆
() автор топика
Последнее исправление: kirk_johnson (всего исправлений: 1)
Ответ на: комментарий от kirk_johnson

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

Таки да.

rezedent12 ☆☆☆
()
Ответ на: комментарий от hateyoufeel

Как-то раз факт использования кода Wine был доказан из-за бага, который там был.

Так моя мегакорпорация не отрицает факт использования. Мы просто прогнали код через bfindent. Ну, нам так писать удобнее.

kirk_johnson ★☆
() автор топика
Ответ на: комментарий от kirk_johnson

Таки да.

А есть пруфы?

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

rezedent12 ☆☆☆
()
Ответ на: комментарий от kirk_johnson

На каком основании? Код работает? Работает.

Это не исходный код.

Я понимаю, что для любого нормального программиста факт обфускации очевиден

Для судьи - тоже.

Меня интересует, как это доказывается в суде. Приглашенные эксперты?

Исходный код - это preferred form for modification или как-то так. Предъявил обфусцированный код - доказывай, что у вас в жирнокорпе все работают именно с таким.

tailgunner ★★★★★
()
Ответ на: комментарий от praseodim

А разве GPL запрещает обфускацию?

Прямо нет. Обусфицированный код - это производное исходного кода, а не исходный код.

rezedent12 ☆☆☆
()
Ответ на: комментарий от rezedent12

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

Нет, «ты подумай» в юриспруденции не канает.

kirk_johnson ★☆
() автор топика
Ответ на: комментарий от tailgunner

Это не исходный код.

Почему же. Это вполне валидный например C.

Для судьи - тоже.

Моя знакомая девочка-юрист рассказывала, как она в суде объсняла тетеньке что такое VPN и как за компом можно работать удаленно. Долго рассказывала.

Исходный код - это preferred form for modification или как-то так. Предъявил обфусцированный код - доказывай, что у вас в жирнокорпе все работают именно с таким.

Так без проблем. Нанимаем пару школьников за доширак и учим их обращаться с этой херней.

kirk_johnson ★☆
() автор топика
Последнее исправление: kirk_johnson (всего исправлений: 2)
Ответ на: комментарий от rezedent12

Это тонкость до которой не дойдут никогда. Тем более, что таки бинарник может быть реально из обфусцированного делаться.

praseodim ★★★★★
()
Ответ на: комментарий от kirk_johnson

Моя знакомая девочка-юрист рассказывала, как она в суде объсняла тетеньке

В штате Калифорния?

что такое VPN и как за компом можно работать удаленно

Релевантно, да.

Предъявил обфусцированный код - доказывай, что у вас в жирнокорпе все работают именно с таким.

Нанимаем пару школьников за доширак и учим их обращаться с этой херней.

(пожимая плечами) Типичный хитрован детектед. Удачи.

tailgunner ★★★★★
()
Ответ на: комментарий от tailgunner

В штате Калифорния?

Согласен, уровень подготовки судей различается.

Релевантно, да.

Вполне. Если чувакам приходится рассказывать про VPN, с чего ты решил, что они знают, как выглядит код? Я вот коллегам показывал код на haskell, они не сразу врубились, что это код :D

kirk_johnson ★☆
() автор топика
Последнее исправление: kirk_johnson (всего исправлений: 3)
Ответ на: комментарий от kirk_johnson

Нет, «ты подумай» в юриспруденции не канает.

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

rezedent12 ☆☆☆
()
Ответ на: комментарий от rezedent12

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

Ну вот один говорит тебе «йоптыть, так это итератор». А второй «ну тут функция зовется, чо непонятного-то». Технически оба правы. Как ты проверишь-то? :)

kirk_johnson ★☆
() автор топика
Ответ на: комментарий от Klymedy

Обфусцированный код не является предпочтительной формой для внесения изменений.

Ага. Как доказывается обфусцированность, мне это интересно. Зовут чувака проверять?

kirk_johnson ★☆
() автор топика
Последнее исправление: kirk_johnson (всего исправлений: 1)
Ответ на: комментарий от kirk_johnson

Ну вот один говорит тебе «йоптыть, так это итератор». А второй «ну тут функция зовется, чо непонятного-то».

дача в суде заведомо ложных показаний. ст. 307 УК РФ. наказываются штрафом в размере до восьмидесяти тысяч рублей или в размере заработной платы или иного дохода осужденного за период до шести месяцев, либо обязательными работами на срок до четырехсот восьмидесяти часов, либо исправительными работами на срок до двух лет, либо арестом на срок до трех месяцев.

Как ты проверишь-то?

перекрёстной проверкой. Твоим экспердам придётся заучить весь обфускат наизусть, чтобы не прогореть на перекрёстном тесте.

lenin386 ★★★★
()
Последнее исправление: lenin386 (всего исправлений: 1)
Ответ на: комментарий от kirk_johnson

Ну вот один говорит тебе «йоптыть, так это итератор». А второй «ну тут функция зовется, чо непонятного-то». Технически оба правы. Как ты проверишь-то? :)

Спрошу какая именно функция. Много вопросов надо задавать. Да и эксперименты надо будет проводить с модификацией строк. То есть позвать эксперта по обусфицированному коду.

rezedent12 ☆☆☆
()

в суд приглашается иксперд по ИТ, который выносит свое суждение о достоверности кода.

на основе чего судья (да еще и афроамериканец) О_о так пристально спрашивает, а не собираешься ли ты лишить таким кодом афроамериканских яжематерей части пособия по хронической береммености и пониженному доходу на семью?

Deleted
()
Ответ на: комментарий от rezedent12

Рез, кому и кого надо всегда позовут.
В споре с СКО позвали же и всё там было долго...

Deleted
()
Ответ на: комментарий от kirk_johnson

kirk_johnson> На каком основании? Код работает? Работает. Какая разница, какой там Coding Style?

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

Quasar ★★★★★
()
Ответ на: комментарий от praseodim

praseodim> А разве GPL запрещает обфускацию?

Если автор распространяет изначально обфусцированный код под GPL - нет. А если кто-то натырил код и обфусцировал, то этому кому-то добро пожаловать под шконку.

Quasar ★★★★★
()
Ответ на: комментарий от lenin386

дача в суде заведомо ложных показаний. ст. 307 УК РФ.

Что интересно, на практике это можно сказать не работающая статья.

praseodim ★★★★★
()
Последнее исправление: praseodim (всего исправлений: 1)

Мегажирная корпорация наймёт кого нужно и они заткнут глотки кому нужно если нужно.

polym
()

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

pacify ★★★★★
()
Ответ на: комментарий от kirk_johnson

Вполне возможно. Эксперт вполне может заключить, что код обфусцирован.

Klymedy ★★★★★
()

Опять мамкины погромисты думают, что они самые умные.

Сначала идёт суд. В ходе выносится постановление о изучении вашего исходного кода. Для этого приглашается независимый эксперт, который получает код, код истца и сравнивает их.

На основании сравнения пишется отчёт. В нём - примеры кода с комментариями. Вот там-то - то, а там-то - то. Если потом открытый принудительно код не соответствует - можно предъявить неисполнение решения суда.

А если выдать обфсуцированный код эксперту, то он делает об этом заявление. И тогда лучше не оказаться «в каком-нибудь штате Калифорния», потому что судьи в США имеют повышенный ЧСВ и не любят, когда их на..ывают. Вполне могут назначить штраф тысяч так в сто баксов каждый день, пока не предоставишь исходники в нормальном виде.

atrus ★★★★★
()

Суд решит

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

Camel ★★★★★
()
Ответ на: комментарий от Quasar

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

Откуда они знают, какие флаги мы используем и с каким компилятором? И кто мешает поставлять бинарники, собранные из обфусцированного кода (как делает Atto)?

kirk_johnson ★☆
() автор топика
Последнее исправление: kirk_johnson (всего исправлений: 1)
Ответ на: комментарий от atrus

Опять мамкины погромисты думают, что они самые умные.

Отнюдь. Я спрашиваю, как эти вопросы решаются.

Сначала идёт суд. В ходе выносится постановление о изучении вашего исходного кода. Для этого приглашается независимый эксперт, который получает код, код истца и сравнивает их.

Это реальная практика или твои домыслы?

kirk_johnson ★☆
() автор топика
Ответ на: комментарий от kirk_johnson

Откуда они знают, какие флаги мы используем и с каким компилятором?

Они будут слушать экспертов. И если эксперт скажет, что по моему глубокому мнению, ответчик применил методы, затрудняющие анализ кода, то ты попал.

atrus ★★★★★
()
Ответ на: комментарий от kirk_johnson

Это реальная практика или твои домыслы?

Практика. Во время недавнего разбирательства Google vs. Oracle сидели и сравнивали фрагменты Java. Во время антимонопольного разбирательства с Microsoft у тех стребовали архив электронных писем за несколько лет. И те предоставили.

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

atrus ★★★★★
()
Последнее исправление: atrus (всего исправлений: 1)
Ответ на: комментарий от atrus

Практика. Во время недавнего разбирательства Google vs. Oracle сидели и сравнивали фрагменты Java. Во время антимонопольного разбирательства с Microsoft у тех стребовали архив электронных писем за несколько лет. И те предоставили.

Ну вот это уже интереснее. Thx

kirk_johnson ★☆
() автор топика

Толку от этой обфускации, вот если выпустить исходники, которые можно собрать только своим проприетарным компилятором, или компилятором с проприетарным расширением - это будет покруче.

goingUp ★★★★★
()
Ответ на: комментарий от rezedent12

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

Я уже не ору, я вою нахер

Deleted
()
Ответ на: комментарий от goingUp

Толку от этой обфускации, вот если выпустить исходники, которые можно собрать только своим проприетарным компилятором, или компилятором с проприетарным расширением - это будет покруче.

Ну модифицируют их, дело-то нехитрое.

kirk_johnson ★☆
() автор топика
Ответ на: комментарий от Deleted

Я уже не ору, я вою нахер

Всего то опичатался в одном слове.

rezedent12 ☆☆☆
()
Ответ на: комментарий от Deleted

Я уже не ору, я вою нахер

Чего ты хочешь от человека с петухом на аватаре?

kirk_johnson ★☆
() автор топика
Ответ на: комментарий от pacify

Я не имел в виду ничего конкретного. Выбери сам то что больше подходит.

polym
()
Ответ на: комментарий от tailgunner

Да ладно, нет там никакой паранои.
Зачем переносить проблемы каких-то там невероятных контор на уровень лора?

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

polym
()
Ответ на: комментарий от kirk_johnson

Моя знакомая девочка-юрист рассказывала, как она в суде объсняла тетеньке что такое VPN и как за компом можно работать удаленно. Долго рассказывала.

какой-то сельский уровень.

все непонятные вопросы сформируют для однозначного ответа и решать дадут «независимому» эксперту.

дальше уже это приобщается к делу.

n_play
()
Ответ на: комментарий от n_play

какой-то сельский уровень.

Москва-сити, йоу.

kirk_johnson ★☆
() автор топика

А есть истории успеха? Для такого иска нужны юристы у куча бабла, а те у кого это есть сами проприетарщики или копипастят с гитхаба.
Например в RouterOS форкнутый линукс, исходников они не дали. И ничего, всем пофиг.

KillTheCat ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.