LINUX.ORG.RU
ФорумTalks

ГПЛ, Бинарник и исходный код


0

1

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

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

будет ли это нарушение гпл?

★★★★★

Последнее исправление: cvs-255 (всего исправлений: 1)

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

Ну а как дела обстоят формально с юридической точки зрения — хрен знает....

Manhunt ★★★★★
()

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

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

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

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

Интересно было бы послушать пруфы. Ибо человек действительно может портировать софтину на свой собственный язык и продолжать разработку на нём. Хоть на pbrain. Где в GPL условие на читаемость кода на новом языке неподготовленным человеком?

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

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

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

Где в GPL условие на читаемость кода на новом языке неподготовленным человеком?

Мне не нужен новый язык, мне нужны исходные коды.

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

Где в GPL условие на читаемость кода на новом языке неподготовленным человеком?

«Под исходным кодом понимается такая форма, которая наиболее удобна для внесения в неё изменений».

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

Ну объяснит, что делает такой-то кусок кода, тогда можно от него отстать.

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

Где в GPL условие на читаемость кода

http://www.gnu.org/licenses/gpl-3.0.txt

The «source code» for a work means the preferred form of the work for making modifications to it. «Object code» means any non-source form of a work.

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

WTFPL — самая годная лицензия!

Проблема этой лицензии в том, что она не содержит фразы типа «AS IS - NO WARRANTY. It is your responsibility to validate the behavior». Будешь потом по судам бегать, доказывать свою невиновность.

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

Ну объяснит, что делает такой-то кусок кода, тогда можно от него отстать.

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

Sadler ★★★
()

По лицензии исходники должны быть человеко читаемы, и оформленны.

Запутанный код, а тем более байткод не может быть лицензирован GPL.

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

Какая такая обфусикация? Это изменение исходного кода. Что ж поделать, коль мой интерпретатор имеет команды в виде байтов, а не слов.

cvs-255 ★★★★★
() автор топика
Ответ на: комментарий от Ttt

«Под исходным кодом понимается такая форма, которая наиболее удобна для внесения в неё изменений».

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

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

Запутанный код, а тем более байткод не может быть лицензирован GPL.

brainfuck несовместим с ГПЛ, получается?

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

brainfuck несовместим с ГПЛ, получается?

http://www.gnu.org/fun/jokes/brainfuck.html


Но стоит различать, когда ты пишешь ПО на своем байткоде и когда ты этот байткод автоматически генерируешь. Есть сложности, но это доказуемо.

BaBL ★★★★★
()
Ответ на: комментарий от cvs-255

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

Ttt ☆☆☆☆☆
()
Ответ на: комментарий от cvs-255

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

Ttt ☆☆☆☆☆
()
Ответ на: комментарий от cvs-255

Легче тогда переписать программу, чтобы она не считалась производной от программы под GPL.

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

Легче тогда переписать программу, чтобы она не считалась производной от программы под GPL.

Ну если он сам перепишет на байткод - это будет уже практически так. Единственное, я не очень помню на счет clean room, имеет ли оно место быть для гарантий или же будет какое-то еще субьективное оценивание derived work.

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

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

cvs-255 ★★★★★
() автор топика
Ответ на: комментарий от unC0Rr

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

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

а изменения только на брейнфаке

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

Manhunt ★★★★★
()
Ответ на: комментарий от cvs-255

Вообще я считаю, что это не совсем правильно (генерировать из формы A в форму B, а потом её его править) с технической точки зрения. Захотел что-то исправить, в форме B — это неудобно, а, исправив форму A, придётся вручную втыкать то, что правил в форме B.

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

Ttt ☆☆☆☆☆
()

Ещё один метод «а если я включу дурачка, то разрешат ли мне делать всё, что я захочу»? :3

Deleted
()

будет ли это нарушение гпл?

Я бы в этом случае болт клал на GPL и его нарушение.
Формально ты чист, но у фанатиков свои причуды.

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

Ну так что же ты пользуешься кодом этих фанатиков? Если уж класть болт, то на код клади. А то размечтался, «Ваше — моё, и моё — тоже моё». Может, всё же умерить наглость?

Формально ты чист

Ещё раз перечитай GPL.

«Исходный код» произведения подразумевает предпочитаемую форму произведения для создания его модификаций.

На случай, если таких форм для одного произведения (его части) несколько, то для этого есть пункт:

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

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

Ttt ☆☆☆☆☆
()

Если я тебя правильно понял, то ты говоришь о тивоизации. В GPLv3 она явно запрещена, а с GPLv2 так поступали.

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