LINUX.ORG.RU

GPL - можно ли?


0

0

Есть такая злая утилитка cobfusc, которая умеет "портить" код:

Испорченный gd.c

extern int q16<::>;extern int q17<::>;static void q18(q19 q2,int q3,int q4);
static void q20(q19 q2,int q3,int q4);q21(int)q22(q19 q2,int q3,int q4);q21(
q19)q23(int q24,int q25)<%int q26;q19 q2;if(q27(sizeof(unsigned char*),q25))<%
return NULL;%>if(q27(sizeof(unsigned char*),q24))<%return NULL;%>q2=(q28*)q29(
sizeof(q28));if(!q2)<%return NULL;%>memset(q2,0,sizeof(q28));q2->q30=(unsigned
char**)q29(sizeof(unsigned char*)*q25);if(!q2->q30)<%q31(q2);return NULL;%>q2
->q32=0;q2->q33=0;q2->q34=0;q2->q35=0;q2->q36=0;for(q26=0;(q26<q25);q26++)<%q2
->q30<:q26:>=(unsigned char*)q37(q24,sizeof(unsigned char));if(!q2->q30<:q26:>
)<%for(--q26;q26>=0;q26--)<%q31(q2->q30<:q26:>);%>q31(q2->q30);q31(q2);return
NULL;%>%>q2->q24=q24;q2->q25=q25;q2->q38=0;q2->q39=(-(1*(1*1+0)+0));q2->q40=0;
q2->q41=(1*(1*1+0)+0);q2->q42=0;for(q26=0;(q26<q43);q26++)<%q2->open<:q26:>=
(1*(1*1+0)+0);q2->q44<:q26:>=0;q2->q45<:q26:>=0;q2->q46<:q26:>=0;%>;q2->q47=0;
q2->q48=0;q2->q7=0;q2->q5=0;q2->q8=q2->q24-(1*(1*1+0)+0);q2->q6=q2->q25-(1+0);
return q2;%>q21(q19)q49(int q24,int q25)<%int q26;q19 q2;if(q27(q24,q25))<%
return NULL;%>if(q27(sizeof(int*),q25))<%return 0;%>if(q27(sizeof(int),q24))<%
return NULL;%>q2=(q28*)q29(sizeof(q28));if(!q2)<%return 0;%>memset(q2,0,sizeof
(q28));q2->q48=(int**)q29(sizeof(int*)*q25);if(!q2->q48)<%q31(q2);return 0;%>
q2->q32=0;q2->q33=0;q2->q34=0;q2->q35=0;q2->q36=0;for(q26=0;(q26<q25);q26++)<%
q2->q48<:q26:>=(int*)q37(q24,sizeof(int));if(!q2->q48<:q26:>)<%q26--;while(q26
>=0)<%q31(q2->q48<:q26:>);q26--;%>q31(q2->q48);q31(q2);return 0;%>%>q2->q24=
q24;q2->q25=q25;q2->q39=(-(0+1));q2->q40=0;q2->q47=(1*1+0);q2->q50=0;q2->q51=

Позволяет ли GPL распространять свой код использующий чужой GPL-код в таком виде?

П.С. чтоб никто не подумал - так поступать и не думаю, просто интересно есть ли такая лазейка

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

> нет - я просто вам не поверю

ну вот видишь. к чему тогда спрашивать..

// wbr

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

Я то думал что после вони РМС на javascript и заявлений что "компактный код, это не код прогарммы" все всё знают.

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

> значит нельзя? ну и хорошо :)

на самом деле значит 'можно'

-- GPLv2 ---
  3. You may copy and distribute the Program (or a work based on it,
under Section 2) in object code or executable form under the terms of
Sections 1 and 2 above provided that you also do one of the following:

    a) Accompany it with the complete corresponding machine-readable
    source code, which must be distributed under the terms of Sections
    1 and 2 above on a medium customarily used for software interchange; or,
-- GPLv2 ---

ударение делать на 'machine-readable'. ведь никто ничего не говорил про
human-readable. а бреинфак из оригинального поста тем не менее вполне
может быть machine-readable.

// wbr

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

> The source code for a work means the preferred form of the work for making modifications to it.

prefered - это, знаете ли, вещь такая. сугубо сексуального характера. кому-то нравятся чёрненькие, кому-то беленькие а кто-то от рыженьких без ума. а кому-то нравится стиль брейнфака. и что ему теперь, переписывать все 10М+ линий кода под какого-то там непонятно кого? ага, щас.

// wbr

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

> и что ему теперь, переписывать все 10М+ линий кода под какого-то там непонятно кого?

В суде разработчика попросят посидеть часик над полной распечаткай своего брейнфака и объяснить, что делает та или иная функция. При отстутсвии внятного объяснения брейнфак не сочтут source code.

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

Хотя разработчик может сказать, что без своей любимой IDE он вообще ничего не может... да...

www_linux_org_ru ★★★★★
()

Забавная идея, но есть ли в этом смысл?
Программу под gpl все равно не получится продать.

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

> Программу под gpl все равно не получится продать.

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

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

> В суде разработчика попросят посидеть часик над полной распечаткай своего брейнфака и объяснить, что делает та или иная функция. При отстутсвии внятного объяснения брейнфак не сочтут source code.

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

// wbr

klalafuda ★☆☆
()

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

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

Ну можешь не принимать на свой счет, общая моя мысль была такова: "Можно ли ходить в солнцезащитных очках в метро? Можно, и даже находятся такие альтернативно одаренные индивидуумы, но только нахрена?"

ТруЪ-свободный софт победит :)

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

Кстати , в таком виде драйвер CAN в gmrl поставляется - и вполне нормальный выход из ситуации для фирмовых железок.

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

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

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