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


122

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

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

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

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

Охватывает ли лицензия конкретную реализацию или алгоритм?

РЕДАКТИРОВАТЬ------

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

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

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

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

РЕДАКТИРОВАТЬ 2 --------

Контрольный вопрос


27
Мне бы очень хотелось докопаться до другого вопроса: «Если вы изучаете алгоритм из программы с открытым исходным кодом и повторно реализуете алгоритм, вы нарушили лицензию?» Я спрашиваю это с юридической, а не моральной точки зрения. Но даже с моральной точки зрения разве это не является законной формой обучения? Разве нам не разрешено использовать какие-либо знания, полученные из проектов с открытым исходным кодом? Кажется, это противоречит самой сути GPL?
Крис Барри

8
@optician Проблема в том, что вы хотите перевести это построчно, что явно делает его производной работой, например, перевод между человеческими языками. Сама идея не защищена авторским правом, вместо этого она может быть защищена патентом. Но будьте осторожны, IANAL.
звездно-голубой

3
Комментаторы: комментарии предназначены для уточнения, а не для расширенного обсуждения. Если у вас есть решение, оставьте ответ. Если ваше решение уже опубликовано, пожалуйста, подпишите его. Если вы хотите обсудить этот вопрос с другими, используйте чат . Смотрите FAQ для получения дополнительной информации.

2
@optician Система Stack Exchange - это не доска обсуждений, где каждое сообщение - это тема, которая может со временем менять направление: если у вас есть другой вопрос, с которым вы хотите получить помощь, задайте другой вопрос. В противном случае, не стесняйтесь редактировать свой вопрос, чтобы уточнить, если полученные ответы не полностью соответствуют вашей первоначальной проблеме.

2
Я голосую, чтобы закрыть этот вопрос как не по теме, потому что речь идет о юридических вопросах.
Роберт Харви

Ответы:


257

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

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

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


25
Я хотел бы дать вам +10 ...
Марьян Венема

5
Это «если», это когда-либо попадало в суд.
QueueHammer

5
Если программное обеспечение будет успешным, оно, скорее всего, в какой-то момент окажется в суде.
Джастин С

4
@optician: Зависит от того, насколько вы близки к воссозданию оригинала, и на этот вопрос вам нужен адвокат.
Дэвид Торнли

5
@DavidStone У вас есть это задом наперед. Вы должны понимать, что логический алгоритм и конкретное выражение алгоритма в коде юридически разделены; только выражение защищено авторским правом. Группа, выполняющая повторную реализацию, не имеет связи с исходным выражением алгоритма (они видят только внутреннюю документацию по логическому алгоритму), и их письменное выражение, вероятно, будет отличаться от исходного выражения, поэтому весьма маловероятно, что они могли бы нарушать авторские права. Однако они могут легко нарушить патент, поскольку их логический алгоритм идентичен оригиналу.
Апсиллерс

72

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

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

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

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

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

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

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

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

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


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

6
@gbjbaanb: Microsoft должна доказать, что вы сделали , а не наоборот, в большинстве стран. Не то, чтобы это имело значение, потому что если Microsoft подает в суд на вас, вы облажались, если только вы не можете заставить крупную фирму взять вас на безвозмездной основе. :-) И если у вас был доступ к исходному коду Word, шансы довольно хороши, вы уже подписали что-то, говоря, что вы ничего не напишите, чтобы конкурировать с ним в любом случае ...
TJ Crowder

3
Вместо того чтобы писать «здесь», лучше назвать автора: «Бетси Розенблатт, Гарвардская юридическая школа».
Николай Реушлинг

3
@Nicolai Reuschling: смеется :)
Скотт Уитлок

4
@TRiG: «Я не знаю, почему ты думаешь, что это смешно». - Возможно, это потому, что у тебя нет чувства Иронии. ;)
Скотт Уитлок

55

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

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

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

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

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

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

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

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

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


18
+1 Для «Вы также можете учесть, что, разместив вопрос здесь, вы опубликовали возможное намерение нарушить авторские права».

6
+1 За подход «чистой комнаты» - мне всегда было интересно, как это работает.
DMan

Я только что опубликовал на форуме авторов, какова ситуация, и опубликую результаты здесь.
Крис Барри

Как алгоритм является идеей, а программа - не идеей? Или как программа не является набором алгоритмов?
Скутер

16

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

Процитирую еще один мой ответ :

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

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


1
+1 Один из лучших кодов - Open Source. Но я вижу, как добавление кода GPL в коммерческий проект может быть более серьезным препятствием, если это означает открытый исходный код всего продукта.
Алекс Жасмин

2
Насколько я понимаю, код GPL в приложениях iOS запрещен условиями лицензирования Apple.
Андрей Таранцов

2
Что ж, кажется, что один пункт в Apple ToS противоречит одному пункту в GPL, поэтому, хотя он не запрещен, он кажется несовместимым.
Ватин

1
Если Условия Apple противоречат GPL, наличие авторских прав позволит вам выпустить его по большему количеству лицензий, один раз по лицензии, совместимой с Apple ToS, но также и по GPL.
Питер Б

8

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

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


Да, но значит ли это, что вам больше не разрешено использовать этот algorthim? Разве тот факт, что вы видели его реализованным в другом проекте, запрещает вам использовать этот алгоритм самостоятельно, если только вы не сможете доказать, что у вас есть знания, чтобы придумать алгоритм самостоятельно через другие пути обучения?
Крис Барри

4
Я также не юрист, поэтому я просто догадываюсь. Я не стал бы использовать слова «производные от», если бы вы написали собственную реализацию алгоритма на другом языке. Я не думаю, что GPL была создана как скрытая патентная система.
Капитан Разумный

1
@ Седьмое - вам следует зарегистрировать термин «система скрытых патентов» и запатентовать концепцию.
Майо

2
Алгоритмы не защищены авторским правом. Для целей авторского права повторение алгоритма не действует. Дело в том, является ли ваша программа текстовой производной от оригинала или нет; это означает имена переменных, расположение кода и т. д. (Патентное право, однако, может или не может применяться даже к алгоритмам.)
Килиан Фот

1
Лицензия распространяется на реализацию, а не на сам алгоритм. Перенос реализации на другой язык является производной работой, точно так же, как перенос Гарри Поттера на испанский. Вы можете реализовать алгоритм по-своему. Я бы порекомендовал не копировать / тестировать и изучить алгоритм, который вы хотите реализовать, и написать свою собственную версию с нуля. IANAL.
Дэйв Рейджер

5

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

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

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

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

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


Кажется, есть приложения, которые являются GPL (WordPress приложение?). Вы говорите, что не стоит использовать проект с открытым исходным кодом для изучения алгоритма?
Крис Барри

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

Да, это не простой вопрос. Также было бы интересно узнать, сколько изменений будет достаточно, чтобы не быть незаконным. Изменение жизнеспособных имен, пробел? Это кажется глупым, потому что эти вещи было бы так легко изменить, особенно если вы понимаете код и можете делать хорошие альтернативные имена.
Крис Барри

Кстати, код хорошо прокомментирован, так что действительно легко понять, что он делает.
Крис Барри

Ну просто используйте здравый смысл. Вы, как программист, думаете, что изменение пробелов и имен переменных является достаточным изменением? В конечном итоге (в реалистичных краевых делах) суд принимает решение о законности.
Тамас Селеи

5

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

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


2
У автора спросили, и я опубликую результаты здесь.
Крис Барри

5

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

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

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

Я бы ошибся, если бы попросил адвоката.

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

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


1
Если это GPL, вы можете сделать больше, чем просто прочитать. Вы можете сделать производные работы, если эти производные также GPL.
Чжэхао Мао

Да, это правильно.
Дэйв Рейджер

4

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


Так вы говорите, что неэтично учиться реализовывать что-то из проекта с открытым исходным кодом?
Крис Барри

4
@Chris: неэтично создавать производное произведение из проекта с открытым исходным кодом и выставлять его на продажу, вопреки намерениям автора, как продемонстрировано в лицензии. Если вы не можете придерживаться лицензии, а вместо этого обходите ее ... э-э.
Пол Натан

1
Я не пытаюсь избежать лицензии (почему я задал вопрос), но мне было интересно, какова ситуация с такими вопросами. Существует ли ограничение по времени или разнице между двумя частями работы, которые не позволят ей стать производной работой? В противном случае кажется, что нельзя использовать знания, полученные из изучения открытого исходного кода?
Крис Барри

Вам не помешает продать приложение на основе открытого исходного кода. Фактически, определение открытого источника (данное Инициативой открытого источника) явно позволяет это. Но вы должны соблюдать лицензию, которая является дилеммой ОП. Условия App Store и GPL конфликтуют, что является проблемой здесь.
Мартин Вилканс,

2

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

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

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

Конечно, мы все охотимся за «Как {реализация} в {спецификации}?» временами. Вот откуда пришел Стек, амирит? И вот как все мы нашли здесь, не так ли? Это не то, о чем я говорю, потому что это не то, о чем ты говоришь.

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

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

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


2
Мне очень нравится этот ответ. Я думаю, что проблема в том, можете ли вы использовать код в качестве учебной точки, а затем заново реализовать это. Я думаю, что это около 200 ~ LOC-скриптов, так что это не так сложно. Я просто очень хотел начать с рабочего примера для моего обучения, и поэтому, казалось, имеет смысл начать с этого. Если бы я написал все это в псевдокоде и GPL, мой порт поставил бы меня в разумное положение? Я действительно думаю, что название поста вызвало дебаты больше, чем я ожидал.
Крис Барри

Re: разжигая дебаты, рассмотрите природу вопроса: профессиональный разработчик вкладывает свое сердце и душу в свое ремесло, хочет она этого или нет. Часы моего времени, ведра пота крови и слез, потому что природа программного обеспечения должна быть чудовищем. И вдобавок ко всему, наша работа настолько сложна, что это действительно отличный вклад в open source (js libs, php frameworks и т. Д.) - на данный момент, кто из нас не полагается на open source, чтобы профессионально держать голову над водой ? Так что этот вопрос, как этот, является глубоко личным для всех нас, независимо от того, осознаем мы это или нет.
OpenSorceress

Тем не менее, я узнал большую часть того, что знаю, от волшебников с открытым исходным кодом, таких как Джон Рейзиг и Марк Стори, и их банды одаренных детей. JQuery мой маленький друг. CakePHP - мой хлеб с маслом. В этом нет ничего плохого. Отсюда и разница между домкратом и портированием. Это то, о чем мы говорим, когда говорим, что стоим на плечах гигантов.
OpenSorceress

0

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

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

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


0

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

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

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

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


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

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

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


-1

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

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

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

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

так что я отвлекся на # 2 ...

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

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

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

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

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

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

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


1
проблема в том, что он пытается уклониться от первоначальных условий лицензирования.
Пол Натан

-4

Дайте человеку отдохнуть!

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

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

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

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


3
Для № 1: Пока ваш исходный код не будет вызван судьей, и вы застенчиво улыбаетесь присяжным, когда они видят ваше «переписывание».
Джаррод Неттлз

2
Для № 2: Нарушение авторских прав обычно является гражданским делом, поэтому юридически не существует такого понятия, как «виновный». Если перевес доказательств указывает на то, что ФП нарушил, это все, что нужно. Для № 3: Это не то, что сказал первоначальный вопрос.
Дэвид Торнли

1
(1) Нетрудно обнаружить явный плагиат, не видя исходного кода. Кроме того, у нас нет привычки давать людям советы о том, как избежать незаконных и крайне неэтичных действий. (2) Ignorantia jus non excusat ( невежество не является защитой ) (3) Переписывать строку за строкой не значит учиться. Переписывание строки за строкой определенно не просто находит вдохновение. Это явный плагиат, простой и понятный. Я не буду перефразировать все это здесь, но есть множество юридических документов и прецедентов, подтверждающих это.
Грег Джексон

Хорошо, так что если я не переписывал построчно, но понимал алгоритм, а затем реализовал его по-своему. Т.е. операция по уборке одного человека. Это отличается? Если нет, то могу ли я учиться у любого проекта с открытым исходным кодом?
Крис Барри

4
@Chris Весь смысл работы чистой комнаты в том, что люди, реализующие алгоритм, вообще не видели исходного исходного кода. Нет такой вещи как «чистая комната для одного человека».
Адам Лир
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.