Как недавно сообщалось здесь :
Xamarin разработал Cocos2D-XNA, среду разработки игр для 2D / 3D, создав кроссплатформенную библиотеку, которая может быть включена в проекты PCL.
Однако основатель проекта, который был разветвлен, говорит :
Цель лицензии MIT состоит в том, чтобы отменить ваше добросовестное использование. Не для того, чтобы побуждать вас брать программное обеспечение, переименовать его как свой собственный, а затем «взять его в новом направлении», как вы говорите.
Хотя это не незаконно, это неэтично.
Кажется, что страница GitHub нового проекта даже не указывает на то, что это обычная вилка GitHub, вместо этого выбрав легко удаляемый раздел History (см. Внизу).
Итак, мои вопросы:
- Было ли действие Xamarin и способ, которым действие было сделано этично или нет?
- Можно ли избежать такой ситуации, если вы один разработчик или небольшая группа разработчиков?
Я надеюсь, что это может быть либо вопрос вики, либо будут некоторые объективные ответы, основанные на современной этике / философии OSS.
Ответы:
Что ж, давайте спросим эксперта - список Инициативы Open Source самой лицензии MIT с указанием лицензии полностью:
Если кто-либо - физическое или юридическое лицо - выпускает программное обеспечение / исходный код с лицензией MIT, это означает, что кто-либо еще - физическое или юридическое лицо может "заниматься программным обеспечением без ограничений". Пока уведомление об авторском праве остается в силе, они могут делать все, что пожелают.
Это один из тех случаев, когда этика и законность практически совпадают. Если человек или группа не поняли лицензию или ее последствия, они не смогли провести должную проверку. Инициатива Open Source предоставляет множество других полезных ресурсов, чтобы помочь нам понять лицензии, такие как вариант MIT. Давайте посмотрим на несколько пунктов их определения с открытым исходным кодом:
На мой взгляд, это совершенно очевидно: выпуск чего-либо с открытым исходным кодом, особенно с лицензией MIT, позволяет кому-либо свободно брать программное обеспечение, изменять его, упаковывать и продавать его в значительной степени, кому им нравится, если они этого не делают. т удалить уведомление об авторском праве и утверждает , что это их собственная единственной работа.
Как автор, вы явно отказываетесь от права быть разборчивым и разборчивым. Вы не можете решить, кто или что может извлечь выгоду из вашего программного обеспечения или использовать его, и вы не можете решить, почему они используют его. Вы явно отказываетесь от этого права.
Идея состоит в том, что вы вносите вклад в достижение большего блага, явно отказываясь от любых законных прав, которыми вы должны управлять, и ограничивать использование и изменение того, что вы сделали. Если Microsoft захочет раскошелиться на ваш проект FluffBall и продать его за 2 тыс. Долларов за место под WindowsSpongeCake, они могут. Разве не позволяли людям делать все, что они хотят, весь смысл вашего проекта?
Что-то вроде! Во-первых, используйте лицензию, соответствующую вашим целям и желаниям. Если вы не хотите, чтобы кто-то использовал его так, как вы этого не одобряете, вам, вероятно, не следует выпускать его как Open Source - и, честно говоря, возможно, вам вообще не следует его выпускать! Если вы не хотите, чтобы кто-либо использовал производную работу (например, разветвление) в коммерческом проекте, вам, вероятно, следует выбрать версию GPL с авторским левом . Если вы хотите получить некоммерческую лицензию, вам, вероятно, следует обратиться за консультацией к юристу по авторским правам / лицензиям, поскольку это часто вообще не считается программным обеспечением с «открытым исходным кодом» и не существует какой-либо крупной предварительно написанной лицензии для поддержки этого случая.
Проблема с Xamarin и Coco kerfuffle - это не вопрос этики или законности, а проблема интернет-драки между несколькими людьми, которые друг с другом спорят. Мы все люди, это случается. Кажется, это результат неспособности сотрудничать / сотрудничать, вероятно, из-за конфликта личности или несовместимых представлений о том, как проект должен быть обработан.
Таким образом, другой способ защиты - это открытость для совместной работы и изменений, но следует понимать, что если это не сработает, а видения расходятся ... ну, это причина для возможности раскошелиться и создать свой собственный отдельный проект.
Это очень человечно и понятно для чувств собственности и популярности, чтобы сделать программные проекты очень, очень сложными. Но цель открытого исходного кода состоит в том, чтобы попытаться превзойти это и позволить бесплатному доступному лучшему программному обеспечению для всех.
Подводя итог, четко определите свои цели при выборе лицензии и поймите, как это повлияет на ваш будущий контроль и руководство проектом. Если вы просто хотите пожертвовать на благо, открытый путь - это путь. Если вы хотите контролировать свой проект более жестко, и у вас есть право собственности и, по крайней мере, юридическое дело, если кто-то попытается продать ваш проект или впитать его в свои собственные (частично или полностью), вам потребуется другая лицензия и, вероятно, потребуется разберитесь с адвокатом.
источник
Выпуск проекта под лицензией MIT дает людям разрешение раскошелиться на проект. Частью философии свободного программного обеспечения является предоставление пользователям и разработчикам права на использование, модификацию и выпуск программного обеспечения способами, которые обычно не допускаются. Если вы не хотите, чтобы люди делали это, не используйте лицензию MIT. Вы не можете жаловаться, когда люди используют код в соответствии с условиями лицензии, которую вы им дали.
Форкс - это довольно обычное явление в сообществе свободного программного обеспечения. Похоже, что разработчики форка пытались внести свой вклад в оригинальный проект, и не согласились, поэтому вместо этого они внесли свой вклад в свой собственный проект. Свободное программное обеспечение поощряет это, так что разработчикам не запрещают вносить изменения в программное обеспечение, потому что владельцам не нравятся их изменения.
Кроме того, выпуская что-то под лицензией свободного программного обеспечения, вы получаете выгоду от взносов других людей, вкладов, которые вы могли бы не получить, если бы это было по другой лицензии. Если вы принимаете взносы по лицензии, вы должны сами соблюдать условия лицензии.
Один из способов сохранить контроль над официальной версией - полагаться на такие вещи, как торговые марки. Например, у корпорации Mozilla есть торговая марка на Firefox, которая позволяет им диктовать, что люди могут делать с Firefox, даже если он с открытым исходным кодом (см. Iceweasel в ответ на это).
Другие лицензии, такие как LGPL, по-прежнему допускают разветвления, но оставляют код открытым. Таким образом, вы можете, по крайней мере, включить любые изменения из форка в свой исходный проект и получить выгоду от разработки на форке. Код LGPL может использовать любой лицензионный код MIT, поэтому, если вы хотите больше контроля над проектом, вы можете использовать LGPL вместо этого.
источник
Я бы не назвал это неэтичным. Я бы назвал это неспортивным. Существует неписанное ожидание, что вы приложите добросовестные усилия для улучшения оригинальной версии, прежде чем решиться на форк, и кажется, что первоначальный автор считает, что добросовестные усилия не были предприняты.
При этом лучший способ избежать разветвления вашего программного обеспечения - это реагировать на запросы клиентов таким образом, чтобы ваше программное обеспечение имело как можно более широкую привлекательность. Никто не собирается оказывать поддержку вилке, если они знают, что оригинал превосходит. Кроме того, ваша единственная защита заключается в изменении условий лицензирования.
источник
Многие люди смешивают правовую и этическую ситуацию. Лицензия X11 позволяет любому «использовать, копировать, изменять, объединять, публиковать, распространять, сублицензировать и / или продавать копии программного обеспечения, а также разрешать лицам, которым Программное Обеспечение , чтобы сделать это», так что это, безусловно , правовая ,
С этической точки зрения все сложнее. В сообществах с открытым исходным кодом, как правило, считается предпочтительным улучшить исходное программное обеспечение, а не создавать ответвление. В ссылке, которую вы дали , Мигель де Иказа говорит:
Непонятно, почему они «не могли сотрудничать вместе», но похоже, что Xamarin приложил разумные усилия, чтобы поработать над оригинальным проектом, прежде чем решил его раскошелиться.
Юридически вы можете использовать лицензию, которая не допускает разветвления, запретив перераспределение исходного кода (на данный момент это не будет «свободное программное обеспечение»). Другой вариант - оставить код свободным, но не разрешать перераспределение статических ресурсов, таких как изображения или текст без кода (некоторые игры имеют такие лицензии).
В социальном отношении вы можете предотвратить разветвление путем:
Форкинг программного обеспечения - это большая работа, и большинство здравомыслящих людей не сделают этого, если у них будет более простой вариант. Если у них нет другого выбора, то предотвращение их разветвления вашего кода просто заставит их либо раскошелиться на чужой код, либо переписать ваше программное обеспечение с нуля. Это может замедлить их, но это не очень вам поможет.
Кроме того, использование более ограничительной лицензии снизит вероятность участия некоторых людей. Ксамарин, очевидно, «внес значительный вклад в Cocos2D-XNA», и я сомневаюсь, что они сделали бы это, если бы лицензия не позволяла им распространять его.
источник
То, что сделал Xamarin, является законным и этическим ... почти.
Давайте посмотрим на исправление фиксации лицензии и исправления ошибок в файле readme :
LicenseAndCredit.txt (diff)
Во всей лицензии MIT есть только одно требование:
И Ксамарин сделал именно то, что запрещено. Xamarin может подумать, что это делает лицензию «более привлекательной», чтобы на верхнем уровне было меньше уведомлений об авторских правах, но у них нет разрешения (юридического или этического) на удаление «избыточности».
Конечно, если они исправят файл лицензии, они снова окажутся в правовой зоне. Автор оригинальной библиотеки может не согласиться, но он сделал выбор лицензии, и он не может обвинить кого-либо в том, что он сделал то, что явно разрешает лицензия.
источник
Было бы неуместно позволять людям делать неверные выводы об авторстве того или иного кода, который поставляется на развилке, даже если законность покрывается предоставлением необходимых уведомлений и истории изменений для всех, кто решит присмотреться. Так что, может быть, выступление Ксамарина неэтично, а может и нет, но я думаю, что это основа, по которой можно судить: вводит ли он в заблуждение?
Лицензия устанавливает разрешение на использование кода и требование включать соответствующие уведомления об авторских правах с копиями кода. Это все на довольно низком уровне. Здесь не обсуждается, как вы должны публично резюмировать, кто и что внес, но только потому, что это выходит за рамки лицензии и не является частью юридического соглашения, не означает, что все идет этично . Этика различна, но честное признание, где должное является довольно широко распространенным принципом, поэтому легко понять, почему невыполнение этого приведет к обиде.
Как все говорят, в лицензии MIT нет намерения предотвращать разветвления, так что это само по себе неэтично. Если «ребрендинг как собственный» - это код для «публичных заявлений о кредите, которого вы не заслуживаете», то убедитесь, что это будет неэтично, если это правда.
Что касается предотвращения того, что это случится с вами: если вы хотите избежать ситуации, когда кто-то еще намекнет на то, что ваш код принадлежит им, тогда вам нужен громкий голос при получении кредита. Если вы хотите избежать ситуации, когда кто-то создает форк вашего кода, который в конечном итоге может оказаться более популярным, чем ваш оригинал (либо из-за его больших ресурсов, либо из-за того, что он сосредоточен на «правильных» потребностях пользователя), тогда я думаю, что вы вышли удачи в OSS. Вы не можете просто решить, что правы, если другая группа хочет, чтобы функции программного обеспечения отличались от того, что вы хотите, и если (по мнению пользователей) вы ошибаетесь, вы должны проиграть, независимо от того, будете ли вы там первыми. Это является следствием принципа открытого исходного кода (или, собственно, принципа свободного программного обеспечения), что автор не контролирует программное обеспечение, а люди, которые его запускают.
источник
Расширение темы торговой марки:
В Apache Software Foundation весь код - AL. И, как и в случае с обсуждаемой здесь лицензией BSD, совершенно очевидно, что AL разрешает разветвления. Период. Конец обсуждения. Фактически, как обсуждалось в других ответах, все подлинные лицензии с открытым исходным кодом разрешают вилки. Все, что они контролируют, - это лицензия / использование разветвленного кода.
Фонд Apache решил зарегистрировать и защитить торговые марки. Если какая-то сущность, кроме основного проекта, разветвляется, о, «Apache Tomcat», они в порядке ... но они не могут назвать это Apache Tomcat , и, когда мы можем защитить знак, они не могут назвать его Tomcat .
Проблема здесь в том, что торговые марки не для слабонервных. Если вы небольшая группа людей, без юридической структуры и финансирования, вы практически не можете использовать закон о товарных знаках для защиты своего имени.
В конце концов, такого рода вещи являются одной из причин существования различных фондов.
С этической точки зрения, хорошо, если есть внутреннее разделение между участниками, кто скажет, кто «заслуживает» сохранить имя? Если, с другой стороны, посторонний разветвляется, это, вероятно, не самая этичная вещь в мире, чтобы оставить имя без изменений. Это тоже не отвратительный поступок.
Github полон вилок . Иногда люди меняют имя, или пакет Java, или что-то еще - особенно если они хотят опубликовать в Maven central. Часто они этого не делают, а пользователи остаются в лабиринте путаницы. Это не идеально, но это разрывы с анархией.
источник