29-05-2008 16:37
Трудность: 1 (даже мартышка поймет)
Содержит:
| Free software: | http://www.gnu.org/philosophy/free-sw.html |
| GPL: | http://www.gnu.org/copyleft/gpl.html |
| LGPL: | http://www.gnu.org/copyleft/lesser.html |
Наиболее примечательный факт, относительно "Free Software" (Бесплатного Программного Обеспечения) состоит в том, что в понятие "свобода" вкладывается ценовой смысл. Вы не платите никому за то, что получаете Linux и/или программное обеспечение, о котором рассказывается в этой книге. Свобода (Free) в данном контексте несомненно означает "бесплатность".
Другой более тонкий и зачастую недооцениваемый факт, относительно "Free Software", состоит в том, что это "свобода" в его освобождающем/раскрепощающем (liberated) смысле. Можно использовать код из какой-либо программы в разрабатываемой вами программе. Свобода (Free) в данном контексте несомненно означает "освобождение".
Эти отличия означают различие в понятии свободы (free), представленной в форме лицензий, под которыми распространяется Free Software. Только программное обеспечение, объявленное для общественной собственности (public domain), то есть незащищенное авторским правом, может быть "захвачено" ("up for grabs"). Все остальное программное обеспечение распространяется под той или иной свободной лицензией (free license).
Зачем лицензировать бесплатное программное обеспечение (free software)? Единственно только потому, что если вас не волнует оплата труда за использование программного обеспечения, написанного вами, то это не значит, что вас не волнует каким образом оно в конце концов будет использоваться. По этой причине вы используете право собственности, неявно данное вам законом на основании акта о авторстве, чтобы указать ограничения (или указать отсутствие ограничений), по которым пользователь результатов вашего труда может ими воспользоваться.
IANAL означает "Я не юрист" ("I am not a lawyer"). Никто из авторов этой книги не юрист (прим. переводчика: следовательно авторы не родственники Жириновскому). Некоторые из нас смотрят телепрограмму "Закон и порядок" (Law & Order), однако это максимум чего мы можем понять в такой темной науке, как юриспруденция. Не принимайте следующие краткие выжимки из различных лицензий как юридическое руководство. Не воспринимайте их даже и как точное представление намерения лицензий. Читайте каждую лицензию сами. Если желаете использовать код и вы не уверены, что имеет в виду лицензия, то я думаю, что вам необходима юридическая консультация.
Исходя из сказанного выше, не будьте таким уж параноиком, если все, что вы хотите это личное использование программы или распространение копий. Каждая из лицензий, которые мы рассматриваем в этой книге, предоставит вам такие права. Если вы планируете использовать исходный код в программе, которой собираетесь владеть, будьте более бдительным. Именно в этом эти лицензии значительно рознятся.
Сокращение GPL происходит от GNU Public License (Публичная/Общественная Лицензия GNU). Сокращение GNU происходит от "GNU's not Unix." (GNU не Unix). GNU -- это проект, начатый основателем Free Software Foundation (FSF) (Фонд Свободного Программного Обеспечения) Richard M. Stallman (Ричардом Столлманом), или как его еще часто называют RMS. Он считает, что программное обеспечение должно быть свободным. Он не считает, что все программное обеспечение должно быть бесплатным, скорее оно должно быть "свободным/освобожденным". Фраза Stallman-а звучит примерно так: "Think free speech, not free beer" (Понимайте это как свободу голоса, а не как бесплатное пиво).
Stallman-а часто обвиняют, в лучем случае в наивности, а в хужем -- в коммунизме. Все это проистекает от недопонимания философии Stallman-а. По Stallman-у, ситуация "владения" алгоритмом столь же бессмыслена, как и попытка "овладения" теоремой Пифагора. По Stallman-у, вы покупаете программное обеспечение. Вы должны владеть "частью".
Кроме того, вы должны иметь полную способность выполнять свою работу, основываясь на работе других. Вы должны быть способны взять такой код и улучшить/расширить его. По Stallman-овской философии это не воровство. Единственный способ, которым вы можете украсть у автора, -- это взять его открытую работу, добавить ее в свой проект, а затем распространять полученный результат без исходного авторского текста или ваших дополнений. Вот это и будет кража.
GPL отражает эту философию. Она гарантирует получатель все права на использование исходного кода любым способом, исключая:
Это главная причина, по которой некоторые люди обвиняют GPL в "вирусности" ("viral" license). Многие критики GPL обеспокоены тем фактом, что использование GPL-кода требует, чтобы вы выпускали Ваш код под GPL.
Однако есть очень простой способ исправить эту проблему -- не использовать GPL-код. GPL очень враждебна к закрытому или проприетарному программному обеспечению. Если вы считаете, что вы разработаете что то новое и оно будет настолько особенным, что никто кроме вас не сможет сделать такое, и что удержание этой разработки в секрете наилучший способ, который сделает вас таким же богатым как, например, Bill Gates или Larry Ellison, то поступайте как знаете и попутного ветра. Несомненно Stallman вправе (или те, которые взяли за основу использование GPL) запретить, чтобы вы использовали любую часть их кода, для того, чтобы обаготиться.
GPL защищает не просто непосредственный авторский интерес, заключающийся в том, что код должен быть открытым, -- он также защищает авторский интерес в более широком смысле, а именно, расширяет область свободного программного обеспечения, которое можно использовать и которому можно обучиться.
Конечно же это не обязательно должно быть вашей философией. Вы вправе решать это сами. Однако если вы не поддерживаете GPL, то люди, которые используют GPL, решили не позволять вам пользоваться плодами их трудов для того, чтобы сделать вас богаче. В этом смысле GPL наиболее консервативная лицензия из любых, какие бы вы ни искали.
Примечание: Отметим, что эти условия GPL вступают в силу только когда вы хотите распространять программное обеспечение. Если вы разрабатываете код для личных целей или если для кого-либо, кто будет использовать этот код лично, то эти ограничения не действуют. Нет ничего предосудительного в отказе от предоставления в совместный доступ исходного кода, если Вы также отказываетесь предоставлять даже бинарный код!
Конечно же в идеале это все хорошо и замечательно. Однако мир, в котором люди будут пользоваться вашим программным обеспечением, включая людей, которые могут желать писать закрытое и проприетарное программное обеспечение, может не соответствовать вашим убеждениям, и описанная выше лицензия будет мешать развитию вашего программного обеспечения. Так, компилятор GNU C (gcc) столкнулся с таким барьером. Во многих случаях gcc считается лучшим, чем любой из предлагаемых компиляторов для проприетарных *nix операционных систем. Однако, многие из пользователей не желают его использовать потому, что не хотят открывать их приложения, только на одном том условии, что их приложения слинкованы с библиотекой gcc C.
Stallman и FSF пошли на уступки под давлением некоторых из требований и создали LGPL (иногда называемой Lesser GPL (уменьшенная GPL) или Library GPL (Библиотечная GPL)). Эта лицензия позволяет линковать ваш код с LGPL-библиотеками, без необходимости публикации вашего собственного исходного кода. Логика лицензии состояла в том, что библиотека сама по себе не полностью завершенное программное обеспечение. Простое действие по линковке библиотеки к приложению не является расширением кода библиотеки.
На самом деле Stallman выступает против использования LGPL. Однако многие продукты все таки были выпущены под лицензией LGPL.
Лицензия BSD (Berkeley Software Distribution) -- другой большой класс "open source"-лицензий. Я, на глазок, оцениваю распределение лицензий следующим образом -- 80% всех "open source"-лицензий выпущены либо под GPL, либо под BSD-лицензиями.
Лицензии BSD отличаются от GPL в основном в том, что позволяют модифицировать код и затем не публиковать такие модификации в виде открытого кода. Другими словами, вы не можете отбросить права на оригинальный код, однако можете его модифицировать и не поделиться с другими результатами модификации. Для критиков GPL, это превосходное решение всех проблем.
Для фанатов GPL (и на данный момент, чтобы была ясна моя позиция, лично я являюсь таким фанатом), такой подход к лицензированию отрицает самое фундаментальное право автора, а именно право распоряжаться тем, как код будет использоваться. Тем не менее, многое серьезное свободное программное обеспечение было выпущено под BSD-лицензией. И хоть это и привело к тому, что исходный код лег в основу закрытых коммерческих вариантов других программных продуктов, но, тем не менее, это не привело к смерти свободного программного обеспечения. Обе лицензии дают вам все права на выпущенную версию программного обеспечения.
Основным пакетом выпущенным под Artistic-лицензией является Perl. Эта лицензия является практически лицензией Public Domain, за исключением того, что она пытается предотвратить попытки назвать вашу производную, закрытую версию той же самой вещью, что и исходная открытая версия.
Эта лицензия позволяет каждому делать все, что он, или она, желает с исходным кодом.
В сети Internet имеется хост, содержащий лицензии. Смотрите http://www.gnu.org/philosophy/license-list.html, -- там располагается длинный перечень лицензий и их критик (как правило основателей GPL).
Как в случае и с любой другой сферой деятельности, лидеры тяготят к тому, чтобы стать бунтарями. Некоторые из них прямо таки рождаются бунтарями. Из некоторых это прямо таки фонтанирует. На данный момент можно сказать о одном расколе в философии свободного программного обеспечения (Примечание: Заметьте, слова написаны с прописных букв: когда мы используем прописные буквы, мы имеем в виду, что программное обеспечение свободно и для него Вы можете получить исходный код.) Этот раскол произошел меж Richard Stallman, с его философией "Free Software", и Eric Raymond - Bruce Perens с их философией "Open Source".
Мы уже говорили о RMS, -- отце GPL и первой, записанной на бумаге, философии "освобожденного" программного обеспечения. Люди предоставляли в общий доступ исходный код и в прошлом, -- он не открыл ничего нового. А вот то, что он действительно отчетливо высказал, так это то, что программное обеспечение должно быть "Свободным" ("Free"). Две составные части сплавились в том, что было названо GPL. Прежде всего, вы имеете право получить весь исходный код на любое программное обеспечение, не важно "бесплатное" оно или нет. Предоставление кому бы то ни было бинарного кода, похоже, всего лишь, на предоставление зашифрованной книги или автомобиля с заваренным наглухо капотом. Другим составным компонентом сплава было то, что если вы используете код, предоставленный таким способом, то не имеете права скрывать свои добавления в исходный код. Это та цена, которую вы платите за усилия того программиста, который написал исходный код, чтобы всякий кто пожелает, тоже мог бы получить пользу от вашего кода. Если вы не желаете идти на такие жертвы, -- прекрасно. Но тогда вы не должны использовать исходный код автора.
Bruce Perens создал оригинальное Определение Открытого Исходного текста (Open Source Definition (OSD)) в виде Debian Руководства по Свободному Программному обеспечению (Debian Free Software Guidelines (DFSG)). Debian -- это дистрибутив Linux, который состоит из программного обеспечения, целиком и полностью удовлетворящего этому руководству. Некоторые из Linux-дистрибутивов включают в себя закрытые, коммерческие или частично открытое программное обеспечение. Debian никогда не позволял и никогда не будет позволять себе такие фортели.
Eric S. Raymond написал целую серию статей о феномене того, что он и Bruce назвали open source development (разработка на основе философии открытых исходных текстов), что, лично я считаю, может быть в общем названо Internet-distributed software development (разработкой программного обеспечения, распределенного по сети Internet). Eric стремится прийти к четким, далеко идущим заключениям, исходя из ограниченного числа данных, но тем не менее я не могу не отметить тот факт, что The Cathedral and the Bazaar (Собор и Базар), стал, может быть, единственным, наиболее влиятельным и опытом и этюдом, в том, что ныне называют феноменом свободного программного обеспечения.
Bruce и Eric поддерживают web-сайт, opensource.org, где они пропагандируют идею Open Source и принижают значимость Free Software.
Кроме этого, они создали программу "Open Source Certification and Mark", которая гарантирует потребителю то, что тот или иной программный продукт отвечает их определению Open Source (Open Source Definition).
Они утверждают, что понятие Free Software отпугивает бизнесменов и приводит к тому, что программное обеспечение становится труднопродаваемым.
Истина состоит в том, что по большей части, это буря в стакане. DFSG используется для того, чтобы решить может ли программное обеспечение быть включено в Debian, тем самым делая его одним из самых надежных Linux-дистрибутивов. Stallman продолжает придерживаться понятия "Free Software", а ESR (как еще иногда называют Eric Raymond-а) продолжает толковать о "Open Source".
GPL сорвенуется в первенстве с DFSG и OSD. Обратное не вполне верно. Точка зрения Eric-а и Bruc-а состоит в том, что рынок идей/нововведений уже по большей части захвачен, и Eric и Bruce без сомнения явились тем самым орудием, которое протолкнуло многие из этих идей на общую арену, причем намного быстрее, чем сами осознали эти идеи.
В этой книге мы будем называть продукты "free software", и мы будем озаглавливать эти слова, когда речь будет идти о программном обеспечении GPL. Это не призыв присоединиться в ряды бунтарей, скорее просто дань уважения RMS, который действительно сделал все это возможным. ESR и Bruce Perens являются преуспевающими и непоколебимыми приверженцами своих взглядов, но что бы они защищали без Stallman-а и FSF?
<< Linux как инструментарий | Multi Tool Linux | Достижение комфорта с исходным кодом >>