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

Существует некоторый код GPL или LGPL , который я рассматриваю для использования для проекта iPhone.

Если бы я взял этот код (JavaScript) и переписал его на другом языке для использования на iPhone, это будет юридической проблемой?

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

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

Соответствует ли лицензия конкретной реализации или алгоритму?

ИЗМЕНИТЬ ------

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

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

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

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

ИЗМЕНИТЬ 2 --------

Последующий вопрос

117 голосов | спросил Chris Barry 24 J0000006Europe/Moscow 2011, 17:41:48

14 ответов


253

Я не юрист. Это не юридическая консультация.

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

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

ответил Kilian Foth 24 J0000006Europe/Moscow 2011, 18:16:38
70

По словам Бетси Розенблатт из юридической школы Гарвардского университета Основы авторского права :

  

Что представляет собой нарушение авторских прав?

     

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

     
  1. копировать или воспроизводить работу.
  2.   
  3. создать новую работу, полученную из оригинальной работы (например, путем перевода произведения на новый язык, путем копирования и искажения изображения или путем переноса работы в новый носитель выражения)
  4.   
  5. продавать или отдавать произведение или копию произведения в первый раз (но как только автор сделал это, право продать или отдать товар передается новому владельцу. Это известно как доктрина «первой продажи»: как только владелец авторских прав продал или отдал работу или ее копию, получатель или покупатель могут делать то, что ей нравится, что ей принадлежит.) 17 USC §109 (а).
  6.   
  7. выполнять или демонстрировать работу публично (это право не распространяется на визуальное искусство) без разрешения владельца авторских прав. 17 U.S.C. §106. Кроме того, нарушение авторских прав нарушает «моральные права» автора, как это определено в 17 U.S.C. 106А. Моральные права обсуждаются в этом месте.
  8.   

Мне кажется, что вы нарушаете пункт № 2 выше.

Однако, я думаю, терминология здесь очень важна. Вы сказали: «Если бы я взял этот код (javascript) и переписал его на другом языке для использования на iPhone, это будет юридическая проблема?» (акцент мой). Переписывание чего-то может или не может отличаться от копирования. Например, если вы посмотрели на Мону Лизу, затем отправились в свою собственную студию и нарисовали то, что помните о ней, тогда мне кажется, что вы создаете оригинальную работу, в которой вы выражаете свое восприятие оригинала. Если, однако, у вас была копия Моны Лизы в вашей студии, и вы написали ее копию, а не то, что вы помните, тогда я думаю, что вы определенно копируете.

Таким же образом, если вы используете MS Word, и, возможно, даже если вы посмотрите на какой-то код, а затем вы идете и пишете собственный текстовый процессор с функциональными сходствами, я считаю, что есть случаи, когда это было решено что «look & feel» не защищен авторским правом. (Разумеется, это ничего не говорит о патентах.)

Вероятно, вам следует обратиться к адвокату (поскольку я не один).

Мое личное мнение заключается в том, что «порт» - это производная работа и поэтому вы должны выпустить портированный код в той же лицензии.

ответил Scott Whitlock 24 J0000006Europe/Moscow 2011, 17:59:10
54

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

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

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

В США были случаи, когда копирование программы более свободно, чем вы говорите, было признано нарушением. В США ожидайте, что они будут использованы в качестве прецедента.

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

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

Теперь алгоритмы не защищены авторским правом. В США суды постановили, что невозможно авторское право на идею, и все, что обычно защищено авторским правом, которое является единственным способом выразить что-либо, не является защищенным авторским правом. Поэтому вы можете использовать алгоритм.

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

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

ответил David Thornley 24 J0000006Europe/Moscow 2011, 18:42:23
16

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

Чтобы процитировать еще ответ :

  

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

Но с более прагматичной точки зрения:
Если код, который вы портировали, действительно настолько полезен, что вы думаете, что его следует защищать, чтобы сохранить преимущество (которого у вас нет, потому что люди, использующие Appcelerator может использовать его сразу), рано или поздно будет открыт порт с открытым исходным кодом. Он будет поддерживаться рядом людей, он будет использоваться и, таким образом, проверен еще большим количеством людей, и он будет усовершенствован, чтобы включить принципы, продвигаемые целевым языком, и лучше взаимодействовать с преобладающими рамками на вашей платформе. Рано или поздно ваш код будет выглядеть как кусок дерьма по сравнению с ним.
Открытый источник - это на самом деле ваш шанс остаться на вершине. Это беспроигрышный. Если вам повезет, вы даже получите поддержку для этого кода и сможете сосредоточиться на логике приложения, что и делает ваш продукт уникальным.

ответил back2dos 24 J0000006Europe/Moscow 2011, 19:02:22
8

Я не юрист, я даже не играю по телевизору.

Но я думаю, что проблема здесь - деривация. Если ваша новая работа основана на работе GPL или LGPL, то эта работа должна соответствовать требованиям GPL или LGPL. Ваша работа будет явно производной, даже если вы полностью перепишете ее по очереди на другом языке.

ответил T.J. Crowder 24 J0000006Europe/Moscow 2011, 17:45:18
5

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

Даже если он проскальзывает как «законный», он явно безнравственный . Автор программного обеспечения GPL'd выбрал такую ​​лицензию, которая расширяет свободу на производные работы. Будьте добрым или плохим, это намерение автора , а вы должны уважать это . Они дали вам код для чтения и изменения, вилки и т. Д., Только спрашивая в ответ, что вы не меняете условий. Вероятно, вы тоже не должны платить за программное обеспечение.

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

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

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

ответил Tamás Szelei 24 J0000006Europe/Moscow 2011, 18:39:39
5

Я тоже не адвокат. Если вас беспокоит, является ли это юридической проблемой, вы, вероятно, не должны даже задавать этот вопрос и просто писать свои собственные.

Мое личное мнение по этому вопросу:

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

Я бы ошибался, обращаясь к адвокату.

В качестве дополнения авторское право позволяет вам в основном делать НИЧЕГО [*] с опубликованным исходным кодом, кроме прочитанного. Лицензия, по которой владелец авторских прав выпустил ее, дает вам определенные дополнительные привилегии, не предусмотренные законом об авторском праве. Взятие и использование кода способами, не разрешенными в лицензии, не отличается от использования и использования любых произведений, защищенных авторским правом, защищенных законом об авторском праве, без получения разрешения автора.

[*] С исключениями для добросовестного использования.

ответил Dave Rager 24 J0000006Europe/Moscow 2011, 18:05:43
4

Как насчет того, чтобы делать правильные вещи, а не воровать чьи-то идеи? Вы могли бы просто написать создателю кода и спросить, можете ли вы отбросить часть своего проекта. У многих людей не было бы проблем с этим. Если у них есть проблема с этим, то даже откладывая юридические проблемы, почему вы хотите запятнать свою репутацию профессионала в сообществе? Тот факт, что этот вопрос сформулирован более или менее как «С чем я могу убежать?», В отличие от «Что мне делать?» немного беспокоит.

Внизу, спросите человека (или людей), который написал код .

ответил Morgan Herlocker 24 J0000006Europe/Moscow 2011, 19:02:59
4

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

ответил Paul Nathan 24 J0000006Europe/Moscow 2011, 20:53:35
2

Всегда указывайте, как будто парень, который заканчивает поддерживать ваш код, будет жестоким психопатом, который знает, где вы живете. ~ Мартин Голдинг

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

Если бы я был вами, я бы больше интересовался последствиями как разработчиком. Это уважение. Особое уважение, особенно.

Конечно, мы все охотимся за «How d'ya {implementation} в {specification}?" временами. Откуда появился стек, амирит? И вот как мы все нашли здесь путь, верно? Это не то, о чем я говорю, потому что это не то, о чем вы говорите.

Если бы я объединил ход гения + героическое усилие = результат, представляющий сообщество разработчиков как предложение с открытым исходным кодом в первую очередь, и людям это понравилось, чтобы использовать его вообще, я бы упал с ума от лести. Я буду большим. Как Джон Рейсиг или Марк Стори. Немного осел. А потом появился какой-то кусок и поместил мой вклад, чтобы они могли предложить его коммерчески или портировать в свое коммерческое приложение? Бросьте мертвые.

Код похож на почерк. Вы не можете изменить приложение больше, чем матч-бокс, достаточно значительно, чтобы другой законный разработчик не мог разграничить двух бок о бок и сказать «Подождите минуту ...» Как разработчик, я был бы слишком смущен возможностью что мои сверстники, мои коллеги, люди, которых я уважаю, и чье уважение я жажду, когда-либо узнаю, что я оскорбил чей-то код. Я был бы смеющимся. Потому что это эпический экземпляр макаронного скрипта kiddie bs. Вы действительно хотите делегитимизировать себя в глазах своих сверстников? Хороший способ начать использовать код разговора.

И как разработчик, подумайте об этом: если это было мое приложение, и я узнал, что вы его подбросили так, что вы будете беспокоиться о том, чтобы подать в суд, что, если я решим, что вы подаете в суд на вас, вы делаете стек из-за моего кода в любом случае, так почему бы мне не ударить вас там, где это больно, может быть, получить некоторые из них? Как вы ЗНАЕТЕ, что я не подросток или не обладаю темпераментом и страшным набором навыков? Выходите из моего пути в pwn r00 [на ur b0xen, так сказать. Поскольку приведение в действие моего приложения показало бы мне, что я> вы (основа: я мог бы написать, что вы могли бы только jack). Это будет не первый раз.

ответил satyrwilder 26 J0000006Europe/Moscow 2011, 00:43:22
0

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

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

IANAL, но я не думаю, что сделал что-то неправильно, если: 1) Я узнал о реализации с открытым исходным кодом 2) Внедрить тот же алгоритм (даже на том же языке) фактически делая это, большие части, естественно, станут совершенно разными, и некоторые из них будут похожи. Если эти аналогичные части - это вещи, в которых обе стороны придерживаются такой же практики кодирования и, таким образом, не могут быть разными, тогда эти части не защищены авторским правом. Например. если класс имеет два частных строковых поля и у них есть геттеры и сеттеры, интересно только, что этот класс имеет два свойства чтения /записи, а не реализации геттеров и сеттеров.

ответил user470365 3 +04002011-10-03T15:52:58+04:00312011bEurope/MoscowMon, 03 Oct 2011 15:52:58 +0400 2011, 15:52:58
0

Если вы переписываете каждую строку отдельно, вы можете или не можете «копировать» строки.

Но вы копируете дословный порядок, общее структурирование и включение строк. Другими словами, это то, что делает работу «цельной».

Вы копируете часть, в которой говорится, что «эта строка должна идти здесь, эта строка должна идти туда». Это большая часть общего алгоритма.

Кроме того, когда проект запущен, никто не знает, что включать, какие вещи следует считать более или менее важными, как структурировать и составлять алгоритмы. Эта информация должна быть подготовлена ​​и разработана в какой-то момент. Но вам это не понадобится, потому что вы будете «копировать» его.


В качестве примера:

Если у меня есть набор {a, b, c, d, e, f}.

Я могу создать упорядоченный список из них, [f, e, c, b, d, a]. Вы должны сказать, что я добавил некоторую информацию в список, известный как ordering , который не присутствовал в неупорядоченном наборе. В зависимости от размера списка эта информация может быть очень конкретной и сложной.

ответил Ben Jones 31 +04002013-10-31T14:33:06+04:00312013bEurope/MoscowThu, 31 Oct 2013 14:33:06 +0400 2013, 14:33:06
-1

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

Две вещи по этому вопросу -

  1. Как и большинство лицензионных соглашений для Open Source Code ... создание копейки на нем совершенно круто, поэтому «псевдо» закрывается - это круто, но проблема - «кредит». Я купил сценарии MANY , которые имеют «кредиты» (URL-адреса блога, используемый код ОС и т. Д.), Но проблема в том, что вы открыто (не скрываетесь), предоставляя кредиты /(опять же, люди не против, если вы это сделаете ... много раз люди НЕ дают кредит (тем самым нарушая условия типа GPL) из страха, что люди осознают, что они может получить его где-то в другом месте ... но если ваш код открыто дает кредит и может по-прежнему оставаться в одиночестве (независимо от того, открыт или открыт ваш кодовый вклад), тогда людям все равно.

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

, поэтому я перехожу к # 2 ...

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

мои 2 пенсов. :)

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

Итак, хотя это может быть для вас новичком, тем более, что вы видели его в чужой операционной системе, он, вероятно, используется в других операциях ОС, которые они вывели из своей операционной системы ... и в конечном итоге это, вероятно, используется где-то в другом месте онлайн ... это даже не с заявленной лицензией /авторским правом вообще ... в этом случае вы можете копировать из этого источника ... изменять, изменять, удалять, добавлять ... (tho я бы скопировал /url для вернитесь туда, где вы получили его, чтобы показать, что вы получили его на законных основаниях), чтобы код, как вам хотелось бы.

Я думаю, что это потрясающе в «кодовом пространстве», особенно, сколько раз я пришел к выводу, что мой «хитрый» код уже написан (не так хорошо .. уму - LOL) в 2003 году на каком-то уродливом человеке , рейтинг поиска google # 1,239, веб-сайт, который они сделали, когда они были в школе градиента, просто создавая функции для развлечения и бесплатного использования. :)

Точка - это .. дать кредит, не угадывать проблему, а когда все остальное терпит неудачу ... или если есть сомнения - ASK исходный OS'r для прав использования ... yeesh ! когда мы стали настолько высокомерными, что мы не можем просто попросить кого-нибудь использовать их травы, ножницы, косилки, ... и ... о, да, это крутая функция, которую они сделали!

Хорошо, это было 3 пенсов ...

ответил William Ortell II 24 J0000006Europe/Moscow 2011, 18:58:12
-4

Дайте человеку перерыв!

  1. , если на него будет подана жалоба, это означает, что кто-то должен иметь доступ к коду и ПРОЧИТАТЬ его. Что делать, если программное обеспечение скомпилировано?

  2. Он всегда сможет напомнить о своем невежестве в тот момент в момент фактов. Разве не предполагается, что у них есть добросовестность, прежде чем они будут признаны виновными?

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

Это были мои 2 цента. Теперь очередь на первого безгрешного бросить камень ...;)

ответил Breakerfall 24 J0000006Europe/Moscow 2011, 22:46:30

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132