Насколько успешно GPL достигает своих целей? [закрыто]

16

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

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

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

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

StasM
источник
4
GPL не устанавливает никаких ограничений на использование. Это только распространение, на которое оно накладывает ограничения.
whatsisname
1
Контраст должен быть с проприетарным программным обеспечением, а не коммерческим. Много коммерции происходит с бесплатным программным обеспечением.
Ларс Вирзениус
2
Ši ʇı ʇɐɥʍ ио ɹǝƃuıɟ ʎɯ ʇnd ǝʇınb ʇ, uɐɔ ı ʇnq «uǝʇʇıɹʍ sɐʍ ן dƃ ǝɥʇ uǝɥʍ ɯoɹɟ ʇuǝɹǝɟɟıp sɯǝǝs р ןɹ oʍ ǝɥʇ ʇnoqɐ ƃuıɥʇǝɯos
Tim Post

Ответы:

10

Во-первых, в этом вопросе есть внутренняя субъективность - невозможно точно знать, и историю можно интерпретировать в любом случае. Это старая дискуссия, и одна из основных проблем дебатов с открытым исходным кодом против свободного программного обеспечения. Вы также должны определить, что вы имеете в виду, достигнув своих целей. Трудно утверждать, что GPL и FSF не способствовали тому, чтобы open source стал значительным движением за последние 2-3 десятилетия. Тем не менее, он не достиг своих целей, поскольку весь код является свободным программным обеспечением.

Образцом программного обеспечения GPL, конечно же, является Linux и все, что исходит от FSF (gcc и т. Д.). Интересно, что для linux GPL была выбрана не из-за своей политической позиции, а из-за идеи взаимности, как неоднократно заявлял Линус Торвальд. Я даю вам мой код, но вы должны дать мне свой взамен, если вы используете мой.

Что касается самого linux, я думаю, что GPL были очень ценными - недавний пример - BTRFS, новый fs, разработанный внутри Oracle. Основной автор BTRFS заявил, что единственная причина, по которой Oracle согласился в первую очередь использовать GPL, заключается в том, что у него не было выбора. Более важный вопрос заключается в том, стал ли сам Linux успешным благодаря или несмотря на GPL. Различные факторы, такие как невероятное лидерство Линуса, проблемы с авторскими правами для проекта * BSD в то время и т. Д., Делают эту гипотезу невозможной для доказательства / опровержения.

Для gcc Столлман несколько раз писал, почему GPL спасла проект от «пропиетаризации».

Дэвид Курнапо
источник
3
Столлман написал несколько блестящих вещей. Он также написал несколько вещей, которые имеют сомнительную связь с реальностью. Заявление о том, что GPL спасла gcc от «проприетаризации», не обязательно делает это так.
Просто мое правильное мнение
конечно, но это верно для любого заявления, которое вы сделаете по этой теме - в конечном счете, это будет зависеть от вашего собственного мнения по этому вопросу. Я не думаю, что когда-либо может быть определенный ответ, тем более что разветвления вопроса носят идеологический характер (как для лицензий GPL, так и для BSD / MIT, подобных лицензиям).
Дэвид Курнапо
Пример Oracle является правильным, спасибо. Что касается успеха Linux, я сомневаюсь, что GPL имеет большое значение, поскольку существуют очевидные примеры ОС с BSD-лицензией. Они несколько менее популярны, но я сильно сомневаюсь, что причина в GPL. Что касается gcc, я не уверен, что именно здесь означает «пропритизация», но у Intel есть собственные проприетарные компиляторы (лучше, чем gcc), поэтому, если Столлман хотел предотвратить этот сценарий, он потерпел неудачу.
StasM
Я имел в виду, что если бы gcc был, например, BSD, люди могли бы добавлять свои улучшения, не возвращая код сообществу. GCC (был) написан таким образом, что его расширение без интеграции с частным API было трудно предотвратить ( gcc.gnu.org/wiki/GCC_Plugins ).
Дэвид Курнапо
18

Я бы сказал, что неограниченные лицензии, такие как BSD, MIT и Apache, сделали гораздо больше для продвижения FOSS, чем GPL.

Примеры:

  • Проект замка,
  • JQuery,
  • SQLite,
  • Apache,
  • Hibernate и nHibernate,
  • ASP.NET MVC,
  • JSON.ORG,

и много других.

Большинство предприятий слишком настороженно относятся к GPL, чтобы разрешить использование GPL-кода в непосредственной близости от своих усилий по разработке, если только сам бизнес фактически не работает по модели GPL / с добавленной стоимостью.

Роберт Харви
источник
5
Не могу согласиться больше.
конфигуратор
1
Я бы также упомянул лицензию LGPL, которая решает некоторые проблемы со стандартной GPL: en.wikipedia.org/wiki/LGPL
andre
Как что-либо из перечисленного способствует продвижению лицензии FOSS?
Марк Х
13
Я не понимаю этого ответа: почему перечисление нескольких проектов доказывает, что BSD / MIT сделал больше, чем GPL для открытого исходного кода? Вы можете получить аналогичный список для проектов GPL (linux, gcc, gnome, kde, qt, mysql, emacs и т. Д.), И он также не будет ничего доказывать в GPL.
Дэвид Курнапо
1
@ Джордж: да, QT - это LGPL, а не GPL, извините за путаницу. Я не думаю, что это меняет мою точку зрения, хотя.
Дэвид Курнапо
8

GNU GPL была успешной, несмотря на применение FLOSS, а не из-за этого. Компании по большей части добровольно вносят свой вклад и выпускают код в соответствии с GPL. В нем нет значимых алгоритмов и библиотек, которые бы заставляли коммерческих разработчиков депроприетаризоваться.

Apple делает хороший пример. Они приняли KHTML и внедрили его в WebKit. И они выпустили код обратно в сообщество с открытым исходным кодом. Хотя можно предположить, что это связано с тем, что LGPL заставили их сделать это, это маловероятно. Дарвин и пользователь BSD очень добровольно публикуют код. И с LLVM они даже начали совершенно новый проект FLOSS. И все же очевидно, что Apple остается в основном поставщиком проприетарного программного обеспечения.

Андроид похож. Конечно, поддержка аппаратного обеспечения играет здесь важную роль, но Google мог бы принять кодовую базу BSD и использовать ее как частную. Но они выбрали Linux. Таким образом, они охотно вносят свой вклад не потому, что не было альтернативы без GPL.

Openoffice - более интересная история, потому что она была действительно запатентованной в какой-то момент. Но опять же, LGPL-преобразование было добровольным, не обязательным. Однако лицензия * GPL позволила сделать это в этом случае. Академической лицензии типа BSD было бы недостаточно для Sun, чтобы выпустить Openoffice, потому что тогда кто-то мог проприетаризовать код. И в этом отношении GNU * GPL была успешной.

Взаимное / вирусное предложение не ведет непосредственно к более открытому исходному коду. Но поставщики программного обеспечения используют его в своих интересах, когда хотят, и поэтому вносят свой вклад в пул FLOSS. Тем не менее, большинство поставщиков делают это не по своей воле. Я вижу небольшую разницу между лицензиями BSD-style и GPL-style в отношении поощрения большего вклада кода.
В заключение, GNU GPL была успешной, но она также способствовала распространению лицензий в стиле BSD / MIT там, где они более уместны. Но вы также можете просто измерить успех в «количестве кода», который, я считаю, является фактической метрикой FSF.

марио
источник
5
Забавно, что вы упомянули Android, так как он сознательно нашел лазейку в GPL, которая позволила им выпустить немодифицируемую платформу. (То, что более поздние версии GPL ограничивают). Google абсолютно не разделяет те же идеалы, что и FSF, и тот факт, что android - это ПО FOSS, в значительной степени не имеет значения, потому что никто не имеет ресурсов, чтобы конкурировать с Google на их собственной платформе (если бы у них была конкуренция, о которой они могли бы беспокоиться, они бы ' мы выбрали альтернативное решение). Также Apple не запускала LLVM.
Марк Х
@ Sparkie: Это интересно. Буквально вчера я прочитал статью, в которой разработчик Google критиковал производителей мобильных телефонов за блокировку мобильных телефонов от сторонних прошивок Android. (Хотя я не сомневаюсь, что усилия Googles с открытым исходным кодом в основном носят презентационный характер.)
Марио,
Давайте не будем забывать один из крупнейших проектов под лицензией Linux. Ни один из крупных вендоров, добавивших к нему свой код (IBM, Oracle и т. Д.), Не имел возможности раскошелиться и присвоить «усовершенствованное ядро ​​корпоративного уровня», он должен был сделать его общедоступным. Но, вероятно, такие универсальные компоненты инфраструктуры относятся ко всей области, где GPL более полезен, чем лицензии в стиле BSD.
9000
3

Глядя на Манифест GNU , не ясно, что одной из целей было убедить корпорации выпустить программное обеспечение FOSS. Вот цитата:

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

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

Ларри Коулман
источник
Насколько я понимаю, конечная цель состоит в том, чтобы сделать как можно больше программного обеспечения свободным, и, поскольку большая часть программного обеспечения написана коммерческими организациями, важно также сделать его бесплатным. Если цель состояла в том, чтобы просто написать текст программного обеспечения для использования без необходимости использования несвободного программного обеспечения, почему бы просто не сделать его общедоступным? Очевидно, что вирусная природа GPL имеет некоторые цели, которые не достижимы PD или даже лицензией BSD. Как вы думаете, эти цели?
StasM
GPL предотвращает стратегию «охвата и расширения», так что кто-то не может взять, например, Emacs, добавить расширения, которые становятся настолько популярными, что без них невозможно обойтись, и выпустить все это по закрытой лицензии. Тем не менее, в манифесте GNU четко изложена цель GPL, по крайней мере, изначально.
Ларри Коулман
1

Я думаю, что оба (лицензии GPL и BSD) важны для мира FOSS. Я вижу использование GPL в двух группах. Одним из них является группа очень активных сторонников Open-Source. Они полагают, что возможность снова превратить Open-Source в проприетарную работу повредит миру OSS. Я лично думаю, что это не большая проблема. PC-BSD (собственный вариант BSD) не наносит ущерба сообществу BSD. Вторая группа, которая принимает GPL, - это крупные компании. Они используют лицензию для большего контроля над продуктом (например, для поддержки своей бизнес-модели). У конкурса будут проблемы, чтобы заработать деньги на чужом лицензионном программном продукте. Таким образом, компания может оставаться впереди конкурентов, зарабатывая при этом хорошую карму для открытого продукта.

Mnementh
источник
2
Вы забываете третий лагерь, который я считаю довольно значительным: взаимность. То есть, вы не заботитесь о проприетарном программном обеспечении, но не хотите, чтобы ваш код, выпущенный с открытым исходным кодом, использовался в проприетарном виде. GPL дает вам это, BSD - нет. По крайней мере, я в этом лагере.
Дэвид Курнапо
0

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

GPL используется для коммерческих проектов все время. Проблема заключается в том, что иногда называют его «вирусным» характером, что означает, что если вы используете некоторый код GPL в проекте, вам, вероятно, потребуется GPL весь код для этого проекта. Некоторые утверждают, что исключение для динамического связывания. В GPL FAQ утверждается, что динамическое связывание с плагинами запрещено из-за общих структур данных - http://www.gnu.org/licenses/gpl-faq.html#GPLAndPlugins, Это кажется странным, так как каждое приложение Windows динамически связывается с компонентами Windows и делится структурами данных с Windows (приложение во многих отношениях является плагином операционной системы), однако существуют приложения Windows GPL, включая множество, выпущенных GNU. Возможно, это означает, что маскировка указателей в качестве дескрипторов и выполнение большинства обращений через функции не учитываются как совместное использование структур данных, что может быть лазейкой, которую, вероятно, может использовать любой специально разработанный API-интерфейс плагина или динамически связанная библиотека, но, очевидно, отдельный разработчик должен соблюдать осторожность. по таким вопросам.

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

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

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

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

Steve314
источник
Основные библиотеки Windows не находятся под GPL, поэтому вам не нужно GPL вашего приложения, если вы ссылаетесь на них. Я не уверен, под какой лицензией они находятся, но это не то, что говорит: «Ваше приложение должно быть закрытым исходным кодом, если вы ссылаетесь на это». Проблема только при ссылке на библиотеку GPL. Библиотеки Windows не являются GPL.
Йтернберг
Я хочу сказать, что приложение (фактически плагин операционной системы) находится под лицензией GPL. Если запрещено писать плагин GPL для Photoshop не из GPL (поскольку вы не можете выпустить исходный код Photoshop), почему не запрещено писать «плагин» GPL для Windows без GPL? Например, любое приложение командной строки, работающее в Windows, динамически связывается с библиотеками DLL, такими как user32.dll, и совместно использует структуры данных (как минимум, строки) с API-интерфейсами консольного ввода-вывода. Этот доступ может быть сделан косвенно, через стандартные библиотечные API, но есть и стандартные реализации библиотек, распространяемые также под лицензиями GNU.
Steve314
На самом деле - я думаю, что есть стандартные библиотеки под лицензиями GNU, но я не уверен, что это означает GPL.
Steve314
1
@ Steve314: читайте GPL более внимательно. Вам разрешено ссылаться на стандартные компоненты системы, хотя я не помню точный язык. GPL был тщательно разработан для практичности - практичности в продвижении определенного идеологического взгляда, но, тем не менее, практичности.
Дэвид Торнли
1
@steve: забудьте о ссылках и т. д. GPL никогда не ссылается на это (LGPL делает). GPL говорит, что производное программное обеспечение должно быть выпущено в соответствии с GPL, где производное преднамеренно оставлено неопределенным, хотя идея заключается в том, что если программное обеспечение не может работать без оригинала без значительных изменений, оно является производным. Если вы создаете приложение поверх ОС, ОС не является производной от приложения (отношения не отражают)
Дэвид Курнапо,
-2

Я действительно думаю, что когда люди думают о GPL, они думают в идеалах GNU, в которых программное обеспечение должно быть свободным, чтобы идеи распространялись, и что крупные компании - плохие парни, потому что они этого не допускают. Проблема в том, что образ мышления не покупает многих программистов, потому что они просто хотят кодировать свои вещи, имеют ли они программы, а также имеют ли они собственную жизнь, что не обязательно включает в себя программное обеспечение, с этой точки зрения BSD и другие лицензии гораздо более привлекательны, в том же смысле, что Линус более популярен, чем Ричард Столлман, для разработчиков, потому что первый просто хочет заниматься своим делом (как и многие из нас), а другой хочет попытаться изменить весь мир. Таким образом, в конечном итоге GPL похож на Михаила Горбачева, который начинает эволюцию, но ему не суждено увидеть ее успех.

Coyote21
источник