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

GNU GPL 3 + программа в машинных кодах. Возможно ли?


0

1

Предположим, что какой-то хакер написал компьютерную программу. И ему захотелось поделиться с ней, выложив ее под лицензией GNU GPL 3. Только вот беда - он такой крутой хакер, что все свои программы создает не иначе как редактируя бинарник с помощью HEX-редактора. Никаких интерпретаторов или компиляторов. Фактически, только чистый машинный код, без исходников.

А лицензия GNU GPL 3 требует исходников.

Незадача =) Спрашивается, что делать в такой ситуации??

Может быть лицензия GNU GPL 3 позволяет и такой случай, или я просто чего-то не понимаю?

Или может быть, это сработало бы с более старой версией лицензии, GNU GPL 2?

И если нет, то какие тогда открытые/свободные лицензии могли бы подойти?

Перемещено mono из development


Ответ на: комментарий от nanoolinux

ты прикалываешься? или серьёзно?

Ну я так писал мелкие утилитки hiew'ом в середине 90-х. :) Правда очень мелкие. COM-файлы до 100 байт длиной. Иначе очень заматывало offset'ы пересчитывать. Но если надо было тупо сделать программу, очищающую экран, то её проще было сразу в машкодах записать. Там все-го то вызов 21h прерывания и выход. :)

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

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

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

Нужны «самые» исходники. Так что, если хакер пишет в хекс-редакторе, то бинарник сойдет за исходники. Какое-то время назад в имаксе нашли часть исходников, которые были сгенерированы, а исходников этих исходников не нашли. Вот это было нарушение ГПЛ.

DesertFox
()

Вот самый что ни на есть реальный жизненный пример. В ЕС ЭВМ канальные программы можно было писать только в виде цепочки байтов, так как ассемблера для их симвлического написания просто не существовало. Правда, поскольку канальную программу все же запускает центральный процессор, то ее текст встраивали в основную программу на ассемблере в виде конструкции DB X'02f6c4.......' . Но исходного текста для канальнй программы не существовало - только цепочка байтов.

forth32
()

GPL3 определяет исходный код как «Наиболее удобное представление работы для внесения в нее изменений». Если тот хакер напишет, что он именно в такой форме вносит изменения в программу, то что с ним сделать? Конечно, если он использует чей-либо код под GPL, на него могут попробовать покатить телегу, но если не удастся доказать, что он в каком-то другом виде эту программу редактирует, то это и есть исходник.

proud_anon ★★★★★
()

редактируя бинарник с помощью HEX-редактора

Покажи мне такого человека!

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

Вот, кстати, ящик перфокарт купил бы — отличная вещь для заметок.
А в конце 2012-ого уже и оригинальная.

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

если нет исходников - gpl теряет смысл, т.к. любой, кто имеет бинарник имеет и исходник, т.к. бинарник и является исходником.

Следуя этой логике получается, что все, написанное на интерпретируемых языках GPL по умолчанию? Более того, все программы на .NET тоже GPL (Reflector же)

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

интересная у тебя логика. откуда это следует можешь расписать?

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

Ассемблере для чайников

Никогда еще не воспринимал фразы настолько буквально.

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