Комментарии 87
Спасибо за перевод!

По теме — в каждом конкретном случае следует выбирать наиболее подходяющую лицензию. В одном проекте BSD/MIT лучше, в другом — GPL. Смотря какие цели преследуются. Поэтому с автором не согласен, слишком категорично и однобоко.
Да, безусловно выбор лицензии сильно зависит от проекта.
Просто мне всегда было интересно понять мотивацию выбора именно MIT/BSD лицензий, а в данной статье она весьма подробно пояснена, поэтому и перевёл. Ведь действительно, чем меньше ограничений, тем большее желание возникает помочь проекту, и скорее поможешь именно тому проекту, который используется компанией, в которой сам работаешь, т.к. это можно сделать в рабочее время. В общем, некое разумное зерно в этом есть…
Зерно конечно же есть, плохо, что этим можно злоупотреблять. Вон даже GPL софт воруют, включая в свои продукты и не делясь исходниками. Я думаю, что как раз для BSD-лицензированных библиотек нужно гораздо больше «пользователей», чтобы был нормальный фидбек. Большинство просто юзает и не контрибутит ничего.
> Вон даже GPL софт воруют, включая в свои продукты и не делясь исходниками.

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

> Большинство просто юзает и не контрибутит ничего.

Конечно, но если бы большинство контрибутило, то соотношение сигнал/шум заметно изменилось бы в сторону увеличения шума. Я думаю, вполне достаточно, чтобы контрибутило 1-5% пользователей. Ведь для большинства OpenSource проектов даже 50-100 постоянных контрибьютеров уже выше крыши, а если из них 10-20 из них перейдут в статус разработчиков, то совсем уже здорово и можно сказать, что проект удался на славу.
Насчёт России спорно, я думаю GPL всё-таки имеет силу в нашей стране. А что касается российских компаний, так они особой погоды на рынке не делают, и даже если что-то сопрут, то им же и хуже, не смогут продвигать продукт там, где больше денег :-)

Насчёт вклада в проект — очень сложный это вопрос. Тут опять же, от проекта зависит. Скажем, если бага появится в jQuery, её мгновенно пофиксят, потому как это на миллионах сайтах используется. А если бага в какой-нибуль libJustAnotherLib, то её и скачают-то ну пять человек от силы, а фиксить вообще вряд ли кто будет — просто плюнут, да другую либу заюзают. Тут вопрос менеджмента в том числе и критической массы. Всё сложно.

Я вот говорю, что надо привлекать народ, так чуть ли не камнями забрасывают, «зачем нам ламеры?» говорят :-) Все же хотят быть «элитным хакером», никто не хочет кодить какой-нить check_user_preferences :-)
Да, критическая масса, пожалуй, самое важное. Мало кто захочет контрибьютить в проект, которым никто не пользуется, разве что те, кому сама идея проекта и подход к её реализации очень понравятся.
Однако ведь та же jQuery не сразу после первого анонса стал на миллионах сайтов использоваться, остаётся только предполагать какую роль в её популярности сыграла лицензия…

> Я вот говорю, что надо привлекать народ, так чуть ли не камнями забрасывают, «зачем нам ламеры?» говорят :-) Все же хотят быть «элитным хакером», никто не хочет кодить какой-нить check_user_preferences :-)

Да, привлекать народ действительно нужно. В конце концов можно ведь не только «ламеров» привлечь, но и элитных хакеров тоже :-)
> Да, привлекать народ действительно нужно.
В том-то и дело, только это мало кто понимает.
четвёртая поправка имеет только одну положительную сторону — гпл теперь работает. но даже если б оно не было так, софт был бы незаконен в сша. а сша — это самый крупный рынок, на который приходится ориентироваться. и если это не маленькая контора, поставляющая софт разве что в соседнюю школу, а крупная фирма, то придётся всё-таки считаться
Т.е. GPL теперь официально юридически действует в России?
честно говоря, я не юрист, чтобы судить самому, но где-то это было с объяснением механизма. вот только не помню, где
спасибо за ссылку. несколько раз перечитал, чтобы понять все описанные юридические премудрости. кажется, лицензия действует только ограниченно
С тех пор, как GPL софт используется и продвигается правительством, можно сказать что да. Дело в том, что GPL (как и любая лицензия) не только навязывает какие-то ограничения, но и дает право использования. Без такого права по нашему законодательству использовать ПО нельзя.

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

Но оно не всплывет, потому как никто из нарушителей GPL в суде ни слова не заикнется о её незаконности. По той же самой причине: если GPL незаконна, то по какому праву они вообще использовали, а тем более модифицировали и интегрировали в свои решения, а потом и продавали чужую программу?

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

P.S.: GPL имеет проверку целостности. Или она действует вся до последнего пункта или она не действует вообще и никаких прав не даёт.
а вот про последний пункт я как-то забыл. пожалуй, озабочусь и напишу письмо в кремль
Автор — типичный корпоративный пользователь, который, кажется, адекватно понимает механику работы GPL, но совершенно не догоняет мотивацию.

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

Именно поэтому самые КРУПНЫЕ и ВАЖНЫЕ проекты открытого сообщество прикрыты жесткой GPL.

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

Да, про то, что он не понимает выгоды от использования GPL, автор так и пишет прямым текстом.

> Linux бы растащили на куски, позволяй это лицензия;

Ну тут контр-аргументом стоит та самая BSD-UNIX и её потомки FreeBSD, NetBSD, OpenBSD, MacOS X, etc. Да, корпоративных гигантов в её разработке участвует поменьше, чем для GNU/Linux, но всё-таки не так чтобы «ни одного».
А MacOS X как раз выступает примером когда «упёрли» и закрыли. Но это впрочем не мешает успешному развитию свободных потомков.
Ради справедливости — автор не корпоративный пользователь, а главный разработчик Merb и [один из главных в] Ruby on Rails.
А для фришных шрифтов что подходит лучше всего? Если мне без разницы, что с ними дальше будут делать.
Для шрифтов вроде есть свои лицензии?
А некоторые шрифты и под нешрифтовыми лицензиями распространяют.
Для шрифтов наверно лучше подойдут лицензии Creative Commons.
Аналог MIT — CC-BY.
Про другие типы Creative Commons можно почитать, например, в вики
Веселая лицензия, только не дай бог на какой-нибудь презентации зачитать полностью её название. :)
PL — это расширение скриптов на перле, а также домен первого уровня для польских сайтов.
О! Раз такая тема, как раз спрошу: можно ли использовать GPL-библиотеки в LPGL-проекте?
Вы разрабатываете библиотеку, которая потом будет линковаться с не-GPL кодом? И хотите в нее внести чистый GPL-код?

Нет, нельзя.
Я разрабатываю LGPL-проект, который будет лишь использовать GPL-библиотеку в качестве зависимости, на крайний случай таскать её с собой, но не линковаться с ней… так можно?
не совсем понимаю, как можно использовать в качестве зависимости, но не линковать :)
Если вы про использование GPL-несовместимой питоновской (или, к примеру, javascript-) библиотеки через линкование питоновского интерпретатора, то а) объединённый продукт может считаться «one work» и, соответственно, б) с GPL это не совместимо.
Не, я просто хочу использовать www.bittorrent.com/opensource в качестве импорта в своём LGPL-проекте… это возможно?
Если нет, то есть ли какая-либо лицензия, похожая на LGPL, позволяющая это?
Так тут дело не в лицензии твоего проекта, а в лицензии используемой библиотеки. По идее, если библиотека распространяется под GPL, то все программы, которые её используют также должны распространяться под GPL. В этом и заключается «вирусный» характер GPL.
FreeBSD имеет в своём составе множество GPL-кода. Тем не менее, система распространяется под BSDL.
FreeBSD — это комплект программ. Каждая отдельная программа является либо GPL либо BSD. Как только код BSD включается в GPL — программа становится GPL.

Но это только при использовании кода в единой программе.

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

Если нет, то есть ли какая-либо лицензия, похожая на LGPL (то есть позволяющая коммерческое использование, но сохраняющая авторство), позволяющая это?
Тут возникает тонкий юридический момент: что значит «проект должен работать»? Вот я напишу, к примеру, плейер с использованием GPL — библиотеки. При её отсутствии он будет «работать», воспроизводя только несжатые wav-файлы. Такое прокатит?
«The GNU General Public License does not permit incorporating your program into proprietary programs»
это значит, что гпл запрещает включать в проприетарный софт гпл-продукты (включая динамическое линкование, естественно). про свободные проекты в этом ключе не говорится. поэтому, думаю, гпл-код в свободный проект можно слинковать даже динамически, но только отдельным файлом гпл-код, отдельным — другой свободный
пожалуйста. кстати, если интересно, простейший пример — filesystem in userspace. его ядерная часть лицензируется под гпл, а сама либа, размуеется, использующая эту ядерную часть — под лгпл

и да, в последнем предложении ошибся. последнее «динамически» нужно заменить на «статически». но насчёт этого я не могу говорить точно — примеров не знаю
А вот и нет:

...you can combine code released under the other license with code released under the GNU GPL in one larger program. All GNU GPL versions permit such combinations privately; they also permit distribution of such combinations provided the combination is released under the same GNU GPL version.

То есть если вы свой код (выпущенный под LGPL) скомбинируете с GPL-кодом, то распространять всё вместе можно будет только под GPL.
Как же всё это сложно…
Ненавижу GPL…
Мне просто нужно использовать bittorent в своём проекте, сохранить авторство и разрешить использовать мой код в коммерческих проектах… мне что, свою лицензию писать?
Так напишите письмо авторам bittorent. С моей точки зрения, LGPL и GPL весьма близки по духу, так что я на месте авторов битторента сделал бы для вашего проекта исключение. Также возможно, что они вовсе не видят в вашем проекте никакой проблемы.
Оставлю обращение к разработчикам на крайний случай…
помилуйте, существует туча торрент-клиентов с отличной от гпл лицензией. сам протокол, как я понял, можно использовать без проблем
Сам протокол без проблем…
Дело в том, что я не хочу сам полностью писать с нуля библиотеку для рабооты с протоколом, а хочу взять готовую… и очень желательно, чтобы она была на питоне…
Динамическая линковка GPL-библиотеки возможна к BSDL-проекту. При этом проект будет иметь две лицензии: GPL для библиотеки, распространяемой вместе с продуктом, и BSDL для авторского кода.

BSDL не нарушает требований GPL, но не распространяет её действие за пределы собственного защищаемого ею кода. Она останавливает вирусную активность и является своеобразным «антидотом» от отравления свободой.

Так, например, это даёт возможность писать «фасады» под BSDL, а проприетарные продукты, обменивающиеся через такие «фасады» с GPL-кодом свободных библиотек, распространять под собственнической лицензией. И даже закрывать код проприетарного продукта — исходники под GPL не изменяются и не линкуются непосредственно с конечным продуктом.
вообще, то же самое можно применить и по отношению к лгпл. но не писать же человеку ещё и прослойку для использования библиотеки, если конечный продукт так же свободен
Естественно. Первые два пункта BSDL оговаривают обязательное указание авторских прав на исходники и бинарники продукта, соответственно.
авторского права у вас никто не отнимет, пока вы сами не передадите его. никакая свободная лицензия этого не требует. другое дело — обязывание оглашать авторство
Вот! Точно, именно оглашение я и имел ввиду…
BSDL это предусматривает?
Объявление об авторстве в BSDL описано как простое указание авторов на исходники и/или бинарники, распространяемые в составе конечного продукта. Например, это может быть файл README или ABOUT.

Пункт о буквальном перечислении имён авторов из современной лицензии BSDL при каждом случае демонстрации продукта исключён как слишком громоздкий.
этого пункта там не было. исключён пункт об оглашении првообладателей кода в рекламе

что же касается авторского права, то там сказано об обязательном оглашении в _бинарных_ редистрибьюциях. как это должно выглядеть в конечном итоге, я не совсем понял
это касается только статического линкования. и да, я с ним, похоже, ошибся
Динамическое линкование обычно разрешается, но строго говоря и с ним не всё ясно… Мне кажется, лучше уточнить понимание этого аспекта с разработчиками bittorent. Скорее всего, у них и в мыслях не было намерения ограничивать использование динамических библиотек.
Вообще взгляд автора немного не учитывает одной вещи: никто не обязан предоставлять никому никакой код если он использует GPL приложения для внутренних нужд, а не занимается их продажей. Проще говоря — любая корпорация может написать для себя всё, что угодно на основе GPL, пока она это не продаёт — никаких к ней претензий нет. Всё очень просто. GPL защищает использование чужих наработок для зарабатывания денег. Всякие BSD — нет. Вот и вся разница. Если вы хотите, чтобы написанное вами приносило прибыль не вам, а дяденьке — вы используете BSD, в противном случае — GPL. GPL не даёт прибыли, но хотя бы никто в наглую не сможет зажилить ваших трудов, и с другой стороны все, кому нужны ваши наработки для работы, а не для продажи, смогут их свободно использовать.
об, к сожалению, этом забывают с завидной регулярностью. насчёт прибыли и гпл — не соглашусь. можно использовать двойное лицензирование. гпл-версию разрабатывать для свободного сообщества и для того, чтобы получить известность, и продавать право на использование в закрытых разаботках проприетарщикам. это не говоря о иных методах заработка. ну и снизить стоимость разработки можно
Не, ну двойное лицензирование — оно конечно, собственно, это, ИМХО, более разумный подход в большинстве случаев, нежели BSD и подобные. Хотя тоже. Если люди согласны писать под BSD — пускай пишут! Уж от чего точно не будет никаких проблем, так это от BSD софта. Но просто не надо необоснованно обвинять GPL в неприменимости вне открытых проектов и просто в том, что она хуже BSD с точки зрения открытого ПО.
>но хотя бы никто в наглую не сможет зажилить ваших трудов

Можно подумать, что BSDL это позволяет.

GPL определяет политику использования не только изначального продукта, но и продуктов на основе исходного. То есть предопределяет судьбу прав чужого кода в рамках защищаемого ею прав на исходный продукт. BSDL не занимается регулированием прав производного продукта.
Дык то, что GPL ограничивает политику распространения продуктов на основе исходного — это и есть основной плюс её перед BSD подобными. С одной стороны GPL никак не ограничивает использование и модификацию для собственных нужд и потребностей, но с другой контролирует распространение модификаций.
Наверно из-за того, что GPL контролирует форки, мы имеет тысячи почти одинаковых дистрибутивов Linux и гораздо меньшее число совершенно различимых BSD-«форков». ;))
Одно НО! Мы имеем одну генеральную линию развития ядра, один единый компилятор и одну более менее единую glibc. И в противовес мы имеем FreeBSD, OpenBSD, NetBSD, DragonflyBSD, у каждой свое ядро, драйвера между ними или несовместимы вовсе или требуют напильника, мы имеем почти на каждой из систем попытки использовать свой компилятор. Кто-то вот pcc воскрешает, кто-то с llvm играется. И под каждую платформу приходится дополнительно смотреть, как всё работать будет. И шансов, что важная программа, собранная под NetBSD заведётся на FreeBSD всё же поменьше, чем шансов, что пакет от Федоры пойдет в Убунте. Итого у каждой из BSD систем своя узкая ниша.
Жаль, что сваливаемся в оффтоп. Ну да ладно.

В случае Linux мы НЕ имеем никакой генеральной линии, а имеем пучок почти совместимых сторонних решений, которые летят к чертям собачьим при очередном обновлении одной из «базовых» систем (поэтому используется термин «почти»). Искать виноватого — себе дороже — в конечном итоге сам окажешься в дураках. Ведь стабильный ABI для Linux не задекларирован.

Никто, абсолютно никто не может гарантировать стабильность Linux и используемых программных решений, кроме разработчиков дистрибутивов, которые тестируются и растпространяются СОВМЕСТНО с каким-либо коммерческим решением — будь то Oracle, Lenovo или Red Hat, обеспечивающей поддержку дистрибутиву по сути двух-трёх годичной давности.

Почитайте LOR, что ли, для вкушения правды жизни — основные конструктивные разговоры идут вокруг очередной поломки Intel-драйвера в новой версии ядра. И так случается почти всегда при смене версии того или иного продукта.

Лично я не представляю такого, как это может быть, что драйвер NVIDIA, например, не завёлся в обновлённой из исходников FreeBSD (при переходе с версии на версию мне лично не пришлось пересобирать порт драйвера — всё и так работало). О продолжении работы старых приложений в новой версии FreeBSD — без вопросов заведутся, если не заброшены окончательно. Даже без пересборки портов — вероятность близка к 99%.

FreeBSD, OpenBSD, NetBSD, DragonflyBSD — это по большей части исследовательские проекты, каждый преследующие определённые цели.
Linux же по большей части — потребительские дистрибутивы, для практического использования на серверах, десктопах (и в дешёвых роутерах).
смотря что понимать под «зажиливанием». использование свободного труда в закрытых проектах — это и есть зажиливание, на мой взгляд. с пацанами, хе-хе, надо делиться
Сотрудники многих коммерческих компаний используют Apache, Mozilla и PostgreSQL внутри собственных компаний для зарабатывания денег прямо или косвенно проприетарных продуктах.

Вы полагаете, они должны делиться доходами и/или предоставлять исходный код Web-проектов разработчикам указанных продуктов, чтобы компенсировать «зажиливание»? :))
нет, не полагаю. во-первых, по сути оно не напрямую, а во-вторых, я не оспариваю право разаботчика на определение лицензии своего продукта, если он не нарушает чужих лицензий
Я так и остаюсь полным нубом по части лицензий )8 В каждом таком топике спрашиваю. Вот я делаю библиотечку и хочу отдать ее людям, при этом только не хочу чтобы кто-то другой взял ее и сказал, что это он написал. Какую лицензию писать? (8
Любую. Все лицензии, кроме public domain, подразумевают обязательное сохранение информации об авторе. Но для библиотек предпочтительней всего LGPL. Она с одной стороны позволяет свободно использовать библиотеку в проприетарных программах в случае неизменения кода библиотеки, и с другой требует опубликования исходников в случае внесения изменений.
gpl, lgpl. они защищают ваше авторское право. только вы сами тоже не забудьте его защитить — в каждый файл с кодом нужно вставить в начало несколько строчек комментариев — именно так и применяется лицензия. если вы хотите, чтобы вашу библиотеку могли использовать и в проприетарных продуктах, то лучше выбрать лгпл
Вообще-то public domain тоже гарантирует защиту правa авторства, то есть даже если вы выложите библиотеку вообще без лицензии, никто не сможет «взять и сказать, что это он написал».

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

В Европе, США и России точно запрещено выдавать произведения, скажем, Моцарта, за свои. Даже если Вы сделаете собственную аранжировку.
Хм, да, и правда. Как-то я просто привык понимать под Public Domain отсутствие вообще всяких упоминаний о лицензии и авторе, мол — делайте что хотите)))
Все расписано красиво, но получается, что из всех свободных операционок сейчас наибольший вес имеет именно GPLный Linux, корпорации в него больше сил вкладывают, чем в *BSD, и именно он вытесняет с рынка коммерческие Юниксы. Тут ведь еще такая штука: даже если тваш конкурент будет инвестировать деньги в развитие GPL продукта, то и вы сможете воспользоваться этими же наработками.
А вот для библиотек именно LGPL предпочтительна, они имеют куда большее распространение и влияние, чем конечный продукт, поэтому это неправильно — стремится ограничить возможности их использования со стороны проприетарных разработчиков
Для драйверов же, на мой взгляд, хороша двойная лицензия GPLv3/BSD, первая, чтобы защитить пользователей и дать им возможность пользоваться всеми возможностями устройства, а вторая, чтобы не обижать разработчиков других систем.
Ну и немаловажно, что GPL создавалась, как некая альтернатива безобразию с софтварными патентами.
Помоему, автор что-то напутал в отношении GPL/LGPL.
Основное отличие GPL от LGPL — это то, что LGPL позволяет линкование с любыми другими лицензиями. Т.е., LGPL можно спокойно использовать с любых коммерческих проектах вместе с любыми другими лицензиями. Единственное требование LGPL которое при этом надо выполнить — это хранение текста лицензии LGPL рядом с используемым LGPL-кодом и обязательное упоминание авторов сего кода. Т.е., как-бы LGPL не заражает весь проект CopyLeftом.
Есть еще один момент, нельзя статически линковать, нужно оставлять возможность пользователю самостоятельно обновлять эту либу. Мало ли там, какие проблемы с безопасностью возникнут или багфиксы появятся.
Да, всё верно. В оригинале, как раз имелось в виду, что если кто-то распространяет модифицированную версию LGPL-проекта, то исходники этой модифицированной версии должны быть открыты. А при простом использовании LGPL-проекта в составе своего проекта, свой проект может иметь закрытые исходники. Т.е. под «простым использованием» подразумевается именно использование в своём проекте без модификации самого используемого LGPL-проекта.
Извиняюсь, если этот тезис получился не совсем однозначным в переводе.
В комментариях не заметил ни одного упоминания Apache License.
Для небольших проектов — самое то, особенно для веба.
А зачем плодить разные лицензии? Уже перечисленных достаточно по горло, не так ли?!
Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.