LINUX.ORG.RU
ФорумTalks

Лицензии на автоматически созданный код


0

0

Представим, что у меня есть некая программа (1) на хитром диалекте языка Psil (0), выполнение которой создаёт исходники программы на C (Eboda Photoshop, например) и компилирующий её Makefile/cmake/scons/ant/configure/...

В результате у меня есть исходники самой обычной программы на C (2): с комментариями, разделением на модули, понятно названными переменными. Я могу её залить на sourceforge и сделать вид, что никакой программы №1№0) никогда не было.

И когда я или кто-то запустит make, то она (№2) скомпилируется при помощи gcc в родное для процессора представление (3).

А теперь вопросы:

  1. Какие ограничения будет накладывать GPL, LGPL и BSD в случае, если я выпущу под ними программу №1? А №2? №0?
  2. Под какой лицензией распространяются бинарники, когда я лицензирую исходники программы под GPL, LGPL и BSD? На мой взгляд, бинарник представляет самую обычную программу, хоть и записанную на двоичном уровне. Мне кажется, что трансляторы Lisp->C, C->binary, binary->C и brain->C ничем принципиально не отличаются. Или я не прав? Можно ли выпустить бинарник под какой-то лицензией? Или различие в том, что двоичный код интерпретируется процессором, а не компилируется? Но ведь есть и компилирующие процессоры (Эльбрус, Transmeta).
  3. Кто будет владельцем авторских прав на программу №2? Программа №1 или я?

>Кто будет владельцем авторских прав на программу №2? Программа №1 или я?

Программа может быть владельцем авторских прав?

Deleted
()

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

/thread

legolegs ★★★★★
()
Ответ на: комментарий от kde4-hater

>Разве листинг на языке C не приятнее смотреть, чем на assembler?

Автоматически сгенерённый из бинарника? Нет.

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

да нет же. кедохейтер - это денис попов же. не узнали? :)

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

> Очевидно, на все производные программы распространяется лицензия на первоначальную программу.

нифига не очевидно. Проведем эксперимент.

Представим, что ты прочитал исходник с начала и до конца. Глаз преобразует исходник так, чтобы зрительный/лингвистический центр мозга мог его обработать. После чего ты чего-то дофантазировал и рассказал свои фантазии другу (ни словом не обмолвившись про GPL). У друга тоже произошли преобразования, но уже между ухом и мозгом.

Согласно твоей логике, был ли здесь нарушен какой-либо закон?

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

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

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

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

Вообще да, коллизии тут будут возникать ещё те.

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

короче, чтобы доказать, что данный бинарный файл был создан из данного, пусть, .c файла, нужно построить транслятор binary->c (что очень маловероятно), плюс доказать, что исходный код этот такой же, как у gpl-образца, очень сомнительно (вспомнить недавный тред про «спертый» код из юникса в линукс). при требовании показать исходный код бинарника, ты будешь иметь вполне легальный код на другом языке программирования с измененными названиями переменных/констант. короче, дениска может спокойно переписывать копирайты на gpl-программах и спать спокойно

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

>Представим, что ты прочитал исходник с начала и до конца. Глаз преобразует

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

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

> Глаз - не программа.

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

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

> Линус и Бог - соответственно скрипты на питоне и лиспе, и однакож правами владеют. Ну, Линус то точно

Ну, Бог тоже владеет правами на emacs

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

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

В данном случае программа 1 делает то же, что gcc, но никто не запрещает конпелять им проприетарные поделки, значит GPL от gcc к программе не передаётся.

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

Не знаю, вот и спрашиваю. А кто может? В данном случае программа №0 является автором (но, возможно, не имеет авторских прав), т.к. создаёт программу №2 на основе спецификации (возможно текстовой) №1.

Но ведь наверняка можно составить такие лицензии, как:

  1. Все программы, написанные при помощи компьютера Elgoog Blue Gene являются собственностью Elgoog Inc.,
  2. Все программы, написанные при помощи данного компилятора Elgoog Psil являются собственностью Elgoog Inc.,
kde4-hater
() автор топика
Ответ на: комментарий от damnemall

>короче, чтобы доказать, что данный бинарный файл был создан из данного, пусть, .c файла, нужно построить транслятор binary->c

binary->c

Зачем? Просто повторить цепочку преобразований. Ну а вообще, вопрос _как именно доказывать_ - дело десятое. Такое ощущение, что одни следаки в треде.

legolegs ★★★★★
()
Ответ на: комментарий от kde4-hater

С точки зрения логики автором остаёшься ты же. Иначе так и компиляция же переводит код в другой вид, а ты его не сам писал. Хотя закреплено ли это где-то я не в курсе. Как говорится, читайте лицензии на свои инструменты…

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

Гугл нечто подобное пытался провернуть с Хромом и стать владельцем всего, что пользователь с его помощью передаёт в интернет. Не вышло, однако.

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

> Такое ощущение, что одни следаки в треде.

где мы спалились?

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

В данном случае программа 1 делает то же, что gcc, но никто не запрещает конпелять им проприетарные поделки, значит GPL от gcc к программе не передаётся.

Не знаю как в gcc, но на сайте Guile написано такое:

The license of Guile consists of the GNU GPL plus a special statement giving blanket permission to link with non-free software.

Так, что это, видимо, благодаря LGPL, под которой лицензирован glibc. Программа линкуется именно с glibc, а не gcc.

kde4-hater
() автор топика
Ответ на: комментарий от Deleted

С точки зрения логики автором остаёшься ты же. Иначе так и компиляция же переводит код в другой вид, а ты его не сам писал. Хотя закреплено ли это где-то я не в курсе. Как говорится, читайте лицензии на свои инструменты…

Я слышал, что Sun при принятии патчей для OpenOffice.org требовала отказа от авторских прав. Получалось так, что с точки зрения логики автор один человек, а права на код имела Sun.

kde4-hater
() автор топика
Ответ на: комментарий от damnemall

чтобы доказать, что данный бинарный файл был создан из данного, пусть, .c файла, нужно построить транслятор binary->c (что очень маловероятно), плюс доказать, что исходный код этот такой же, как у gpl-образца

Я могу легко в спецификации (№1) на языке Psil указать способ кодирования: длину названий переменных, можно ли делать inline функций вместо их вызова, степень оптимизации алгоритмов, можно ли нарушать ABI, API, одним движением переименовать любую структуру по всей программе, сменить движок GUI с gtk на Qt, OpenGL на DirectX... Таким образом каждый новый запуск программы №1 будет создавать совершенно иную программу №2, даже внешне отличающуюся.

kde4-hater
() автор топика
Ответ на: комментарий от stevejobs

от авторских прав отказаться невозможно. Авторство - это факт.

Что я неправильно понимаю по ссылке:

С момента своего появления Фонд Свободного ПО (FSF) требовал от своих членов передачи всех прав на разрабатываемые ими продукты с целью лучшей защиты от любых нарушений лицензионных соглашений. В качестве других примеров можно привести проекты OpenOffice, MySQL и Qt, когда требования двойной (GPL и коммерческой) лицензии предписывали разработчикам отказываться от прав на созданный ими код в пользу компаний-правообладателей.

kde4-hater
() автор топика
Ответ на: комментарий от kde4-hater

> даже внешне отличающуюся.

НЕЕЕТ!


... а ты сможешь сделать чтобы DE каждые 5 минут менялась на новую? Это будет нескучно.

stevejobs ★★★★☆
()
Ответ на: комментарий от kde4-hater

Текст по ссылке писал неграмотный человек. Право автора называться автором - неотъемлемо. Поэтому, передать все права - невозможно. Зато вполне можно передать кучу смежных прав (внесение изменений, перелицензирование и прочая, прочая).

Alan_Steel ★★
()
Ответ на: комментарий от kde4-hater

> Кто или что может быть автором?

Человек (гражданин), очевидно же.

И что надо ему сделать для того, чтобы стать автором?

Создать произведение. А чтобы доказать, что он не верблюд - прислать самому себе копию в конверте с почтовым штемпелем; конверт хранить до суда.

Предупреждая вопросы: нет, никакой регистрации нигде не нужно.

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

Так человек или гражданин? В Норвегии королевский пингвин Нильс Олаф III возведён в рыцарское звание. Похоже, что именно его изображение используется в качестве логотипа линукса.

Что конкретно даёт мне авторское право, если у меня могут быть отняты права вносить изменения, перелицензировать и пользоваться программой в которую я вносил код? Хотелось бы понять как будут наследоваться лицензии в описанной мною ситуации с автоматическим созданием кода.

kde4-hater
() автор топика
Ответ на: комментарий от kde4-hater

Авторское право = право быть автором произведения. Например, абсолютное большинство прав на прошивку нового телевизора принадлежит компании Самсунг, а написал им эту прошивку Вася Пупкин.

И когда Вася Пупкин придёт на работу в ЛГ он сможет сказать, что написал прошивку для Самсунга.

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

Боюсь, что в современном законодательстве в этой области тёмный лес. Произведением считается исходный код, но почему-то требования лицензии распространяются на разные бинарники (собранные разными компиляторами под разные ОС, к примеру).

Думаю, что тебе будут принадлежать права на (1), а остальные будут идти «в довесок». Впрочем, ещё раз повторюсь - тут юристы могут поломать немало копий.

Alan_Steel ★★
()

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

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

Благодарю. Похоже, что ситуация и вправду непростая. Батьке-бородачу написать что-ли?

kde4-hater
() автор топика
Ответ на: комментарий от olegsov

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

Хорошо, опустимся на уровень ниже. У Каганова (все имена выдуманы...), например, есть генератор стихотворных форм. Исходники он распространяет на ассемблере (защищённый режим, Dos Extender какой-то). Я на них только пару минут смотрел, но можете ли вы гарантировать, что он не взял ассемблерный листинг компилятора C и не приукрасил его немного, а потом распространяет его в таком виде? Тем самым отбрив хороших программистов на C, C++, Pascal, Java, Python и прочих, но которые не знают ассемблера.

kde4-hater
() автор топика
Ответ на: комментарий от kde4-hater

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

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

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

>Очевидно, на все производные программы распространяется лицензия на первоначальную программу

Производная программы != продукт, полученный с помощью программы.

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

К слову, я слышал, что некоторые коммерческие компиляторы записывают свои метки в созданный ими код и затем правообладатели компилятора имеют виновников недополученной прибыли. Да и частенько рассказывают истории как целая компания торжественно компилирует релиз на лицензионной копии IDE.

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

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

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