LINUX.ORG.RU

Как доказать авторство кода?

 , ,


2

2

Допустим, некий А выложил честно написанные им лично и непроданные никому исходники на гитхаб. Некий Б, который к данным исходникам абсолютно никакого отношения не имеющий, скачал их с гитхаба и заявил, что А украл исходники у Б.

Разумеется, у Б нет никаких доказательств, что А — виновен. Однако, Б может сделать липовые доказательства, скажем, подделав подпись А на акте выполненных работ.

Или, если представить, что Б — бывший работодатель А, то слова Б будут в суде более весомы, чем слова А? Или нет?

Мотивами Б могут быть месть или крупная сумма выплат за нарушение NDA, например.

Что может заранее предпринять А, чтобы, в случае необходимости, развеять всякие сомнения в авторстве кода?

★★★★★

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

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

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

next_time ★★★★★
() автор топика

у меня другой вопрос

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

а потом какой-то тролль возьмет это, адаптирует под ведроид, и выложит в гугл маркет. Естественно, без фидбека, пулл реквестов, копирайтов, ссылок, и пр. вещей. Как с такими бороться? Давеча тема проскакивала на ЛОР-е, вроде бы в топике о эмуляторах консолей

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

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

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

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

под какой лицензией?

kep
()

а вообще для конкретно твоего случая вроде бы есть 2 пути
1) если GNU GPL - можешь отдать под опечение FSF, они будут за тебя решать юридические вопросы
2) регистрируй как изобретение одновременно с торговой маркой на территории США, а потом можешь смело слать абузы в саппорт гитхаба если наглец выложил сорцы на гитхабе от своего имени

reprimand ★★★★★
()

Отослать самому себе исходники на почтовый ящик и или отосласть самому себе исходники почтой Росии.

Тоесть кто первый того и тапки

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

банковская ячейка может доказать, что у меня был мой код на такой-то момент времени. но она не докажет, что его не было раньше у кого-то ещё. или я не прав?

next_time ★★★★★
() автор топика

Добавь закладку в код, например «акростих» с твоими данными. В суде наличие такой закладки у лжеавтора будет однозначно указывать на кражу.

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

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

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

1) Как лицензировать? Ну вот засунул я лицензию в каждый файл с исходниками, плюс создал файл LICENSE в корне репы. Как еще лицензировать?
2) Как правильное лицензирование сделает невозможным такое использование?

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

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

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

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

а менее затратных и более надёжных вариантов нет? цифровую подпись как-то применить м.б.? заверить у нотариуса?

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

приведи пример, пожалуйста

Например, идентификаторы:

int n = l.count();
int e = n - 1;
int x, t, _ = 0;
int time = now();

Можно использовать константы:

enum
{
    ellipse = 78,
    rectangle = 69,
    circle = 120,
    invalid = 84
    ...
};

И т.д.

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

прибить гвоздями к иксам, или к тому, что от иксов зависит. code::blocks на андроид не портируем, например. на вейланд/мир — да, на андроид — нет.

next_time ★★★★★
() автор топика

Презумпция невиновности какбе говорит нам что нужно своевременно регистрировать хоть как-нибудь свои права.

Заранее А может опубликовать в каком-нибудь официальном месте свою работу, что и будет доказательством её существования под его авторством к определённой дате. Это может быть и копия на почту себе с почтовым штампом в качестве доказательства, но чем такие одноразовые глупости — проще у нотариуса заверить с датой.

подделав подпись

Use исключительно цифровую подпись, пусть хоть обподделывается.

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

нет, не решена. как раз, в этом случае, любой мудак может отобрать код у сообщества.

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

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

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

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

Заранее А может опубликовать в каком-нибудь официальном месте свою работу, что и будет доказательством её существования под его авторством к определённой дате.

например?

но чем такие одноразовые глупости — проще у нотариуса заверить с датой.

а если Б утверждает, что код был написан ещё раньше?

Use исключительно цифровую подпись, пусть хоть обподделывается.

осталось только злоумышленника об этом уведомить

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

а если Б утверждает, что код был написан ещё раньше?

А где его доказательства? У А пруфы есть, а у Б нету. Соответственно, Б будет послан лесом любым нормальным судом. «Кто первый встал - того и тапки». Иначе любой может открыть базу патентов, тыкнуть пальцем в первый попавшийся патент и начать кричать «а я ещё в школе об этом думал!».

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

например?

В официальном журнале.

а если Б утверждает

А если закон утверждает презумпцию невиновности?
А то так каждый первый вася пупкин утвердит что он первый придумал воздух.

осталось только

Это надо в договоре прописывать, трудовом или подряда или чего там ещё.

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

Это надо в договоре прописывать, трудовом или подряда или чего там ещё.

так его нет. А, может, с Б никаких дел и не имел, а Б подделал договор «трудовом или подряда или чего там ещё».

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

А где его доказательства?

Свидетеля приведет, который мамой поклянется, что видел как Б писал данный код.

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

заверить у нотариуса?

ахах, в половине штатов нет нотариусов в принципе, а там, где есть (notary public) — от штата к штату у них разные юридические возможности, в некоторых штатах их вообще только гавенар назначает и их пару человек на штат. Это не серьезный международный вариант.

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

прибить гвоздями к иксам, или к тому, что от иксов зависит

если прибито в стиле «смешались люди и кони», то да, вариант

а если писать нормальный, качественный, абстрагированный код (чтобы как минмум ожидать контрибьют от сообщества), то отпилить привязку от иксов - раз плюнуть

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

после такой обфускации кода ожидать пулл реквесты от рандомных людей, желающих помочь проекту - всё равно что камней с неба... смысла тогда в опенсорсе почти что нет :(

reprimand ★★★★★
()

Нужен нотариально заверенный код. Распечатываешь, несешь к нотариусу, он ставит дату-подпись-печать. Когда к тебе приходят с липовым договором о выполнении работ - смело идешь в суд, а в суде ВНЕЗАПНО (это важно) предъявляешь нотариально заверенный код, и выясняется что твой код уже N лет как твой, а договор - липа, после чего Б садят за подделку документов и вранье в суде.

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

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

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

Тогда трудовой договор нарушен с его стороны

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

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

суть была в том, что ты выкладываешь некоммерческий проект. А потом какое-то чмо делает его от своего имени коммперческим на гугл маркете.

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

опять таки, если юзать gtk или wxwidgets в стиле «интерфейс, данные, обработчики данных, бизнес логика в одной каше», то да, вариант. Хотя таким образом уже не важно что используешь, gtk или что-то другое.

Если нет, то это не важно gtk это или нет - за тебя сами все открутят.

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

после такой обфускации кода

А где тут обфускация? Чем тебе/кому-либо помешают, например, явно заданные значения констант вместо дефолтного инкремента?

anonymous
()

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

Vsevolod-linuxoid ★★★★★
()
Ответ на: комментарий от reprimand

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

например, у qt есть фича — класс, обеспечивающий подсветку синтаксиса. так что, если вы пишите IDE или текстовый редактор, проще юзать её, чем городить велосипед + все строки кутешные, часть базовых классов

в итоге, проект изначально написанный под qt от него хрен отвяжешь: половину логики придётся даже не переписывать, а писать с 0

это 1.

а 2-е: даже если вы отвяжете логику от gtk|wxwidgets|qt, интерфейс-то под андроид всё равно с 0 придётся имплементировать, а это, может быть, половина работы

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

или отосласть самому себе исходники почтой Росии.

Удваиваю, читал про это еще до изобретения гитхабов в контексте доказательств авторства музыкальных треков. Жаль только что этот вариант одноразовый - вскрытый конверт в качестве пруфоф не пойдет, надо значит максимальное кол-во копий иметь чтоб обламывать всяких вот таких нехороших как ТС описал.

alozovskoy ★★★★★
()

Пусть тогда Б покажет на своём компе исходники с датой создания раньше, чем датой вылкадывания исходников А на гитхаб.

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

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

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