https://altruism.ru/sengine.cgi/5п©б╘п╠Б∙≤п©Б∙═п▒Б┬≥Б┴╓п©б╘п▒Б┬ Б√⌠п©Б√▓п▒Б√═Б∙⌡п▒Б■╢Б∙■п©Б√▓п▒Б■╛Б┴╔п▒Б┬ Б√▓+-=2/8/12
20 лет GNU27 сентября 1983 года Ричард Столлмен поместил в группу Usenet net.usoft сообщение, озаглавленное "новая реализация Unix". Он писал: "После Дня Благодарения я начинаю писать полную Unix-совместимую систему, называемую GNU (сокращение от Gnu's Not Unix), и предоставлять ее свободно любому, кто способен ее использовать. Я нуждаюсь в поддержке работой, деньгами, программами и оборудованием. ... Почему я должен создать GNU Я считаю, что золотое правило требует, что если мне нравится программа, то я должен поделиться ею с другими людьми, которым она тоже нравится. Я не могу с чистой совестью подписать соглашение о неразглашении информации или лицензию на программное обеспечение. Чтобы я мог продолжать пользоваться вычислительными машинами, не нарушая моих убеждений, я решил собрать набор свободных программ, достаточный для того,чтобы я мог обойтись без любой программы, которая не является свободной". Это было началом движения за свободные программы в том виде, в котором мы его знаем сейчас. Оно приобрело огромный размах; число активных его участников исчисляется сотнями тысяч, и вокруг свободного программного обеспечения существует развитый бизнес, стоимость которого исчисляется миллиардами долларов. Наиболее известный публике продукт сообщества - Linux - является одной из самых распространенных операционных систем. Вопрос об переходе с частного программного обеспечения (далее - ПО), в первую очередь - ПО Microsoft, на свободное обсуждается на уровне правительств. Сообщество свободного ПО продолжает быстро развиваться. В отличие от большинства идеалистических начинаний подобного рода, оно имеет успех, причем настолько большой, что его не могут игнорировать даже противники идеи. Время от времени возникают споры о том, что было бы, если бы Столлмен не выдвинул свою инициативу. Скорее всего, что те, кто утверждает, что в том или ином виде свободное ПО все равно бы развивалось, правы. Но на мой взгляд, бесспорно, что именно деятельность Столлмена сформировала сообщество открытого кода в его нынешнем виде. Вместо того, чтобы пытаться "объять необъятное", я хочу остановиться на одной стороне этой истории: на методе, использованном Столлменом для достижения поставленной им цели. Насколько я могу судить, способ этот не имеет аналогов. А именно: вскоре Столлмен создал некоммерческую организацию - Free Software Foundation (Фонд свободного программного обеспечения), целью которой являлась реализация его программы. Во-вторых, он изложил свою позицию в "Манифесте GNU" (русский перевод здесь). В-третьих (и в-главных) - Free Software Foundation опубликовал GNU General Public License ("Универсальную общественную лицензию GNU"). Разумеется, Столлмен и его единомышленники занимались написанием свободных программ и пропагандой своих воззрений "традиционными" способами. Все это было необходимо для успеха дела, однако, на мой взгляд, именно GPL явилась на начальном этапе становления сообщества определяющим и жизненно важным инструментом. Цель Cтоллмена является идеалистической - "Моя работа над свободными программами преследует идеалистическую цель: способствовать распространению свободы и сотрудничества. Я хочу поощрить распространение свободных программ вместо частного программного обеспечения, основанного на запрете кооперации, и тем самым сделать наше общество лучше" (см. "Copyleft: прагматический идеализм", я должен заметить, что этой цели Столлмен безусловно достиг). Использованная для этого тактика, однако, весьма продумана и прагматична. GPL не является чем-то вроде устава или программы партии. Это именно лицензия на программное обеспечение. Будучи присоединена к программе, она приобретает юридическую силу, обязательную для любого пользователя программы (более точно - требования GPL вступают в силу, как только пользователь захочет передать программу кому-либо еще). GPL предназначена для того, чтобы стимулировать создание новых свободных программ и усовершенствование уже существующих и, одновременно, воспрепятствовать изъятию свободного кода в "частный" домен. Важной особенностью GPL является то, что использование GPL не требует согласия с идеологией Столлмена (она довольно радикальна - по-видимому, Столлмен не приемлет любой софтверный бизнес, основанный на эксплуатации ограничений, предоставляемых авторским правом). На практике ее находят удобным инструментом для достижения своих целей и большинство программистов, не разделяющих достаточно радикальную позицию FSF, и даже многие коммерческие предприятия. C другой стороны, GPL обычно считают приемлемым инструментом и те, кто не хотел бы, чтобы на их вкладе "делали деньги". Это не случайная особенность. GPL намеренно составлена так, чтобы быть приемлемой для максимально широкого круга людей. Каким образом работает GPL? Как уже было сказано выше, GPL преследует несколько целей; одна из них - защитить свободное программное обеспечение от "приватизации" и растаскивания по закрытым коммерческим продуктам 1. Помимо решения тактической задачи, это оказывает и мотивирующее воздействие - люди обычно с большей охотой вкладывают свои силы в более или менее альтруистическое начинание, если они имеют гарантии того, что это действительно принесет пользу обществу, а не пополнит карманы наиболее ушлых дельцов. Во-вторых, GPL сконструирована таким образом, чтобы разрешить все те способы заработка денег на свободных программах, которые идут на пользу сообществу открытого кода или, по крайней мере, не наносят ему вреда.2 На мой взгляд, это весьма необычный момент, и мне хотелось бы обратить на него внимание. Как правило, смешения благотворительности с бизнесом боятся как черт ладана, и те, кто так делают, обычно правы. Желание заработать деньги способно очень быстро извратить цели альтруистической деятельности и привести ее к печальному концу (в качестве побочного эффекта в очередной раз дискредитировав и саму идею). Тем интереснее случай, когда материальный интерес удалось использовать в качестве стимула, позволяющего привлечь к сотрудничеству и тех, для кого моральный стимул оказывается недостаточным - людей и корпорации вовсе равнодушных к самой идее, и при этом избежать связанных с этим опасностей. Технические детали можно найти в самой GPL, "Прагматическом идеализме" и "Манифесте GNU", но вкратце GPL можно свести всего к двум пунктам: Вы имеете право использовать как угодно (в том числе - модифицировать и распространять) код, находящийся под GPL, при соблюдении следующих условий:
Кроме этого, свободное ПО оказывается часто полезно, когда компаниям или научно-исследовательским организациям требуется модифицировать программу в тех или иных целях. Например, добавить поддержку новой архитектуры в компилятор GNU C (мне самому приходилось делать это пару раз) или в исследовательских целях опробовать какие-то новые алгоритмы. Свободное ПО тут почти невозможно заменить ничем другим, потому что коммерческое ПО с лицензией, позволяющей вмешательство такого рода, встречается достаточно редко, а цена подобной лицензии обычно такова, что выходит за рамки приемлемого для большинства проектов. Я хочу отметить, что чтобы этот мотив начал работать, было необходимо проделать большую работу по созданию такого массива свободного ПО, который имел бы достаточно большую ценность (ради права переделывать в своих целях несколько небольших программ корпорации не стали бы менять привычную политику). Значительная часть этой работы была проделана именно в рамках FSF. Сами по себе, подобные работы по модификации свободного ПО выполняются из меркантильных соображений и финансируются из бюджета соответствующих проектов или грантов. После того как основная задача решена, возникает вопрос, что делать с этими доработками помимо их использования по прямому назначению. GPL не требует их публикации, но поскольку она ликвидирует основной мотив для того, чтобы их "придержать", то часто они публикуются (обычный мотив большинства администраторов - "авось кому-нибудь удастся продать" - продать почти никогда не удается, но желание придержать оказывается велико). Большая часть их оказывается невостребованной и в этом случае, но некоторое количество изменений, которые представляются ценными для сообщества, включаются в продукт на "постоянной" основе. Коммерческие выгоды от сотрудничества с сообществом открытого кода не исчерпываются перечисленными мотивами, но я не хочу углубляться в подробности. Приятно отметить, что за последнее десятилетие в морали софтверной индустрии под влиянием развития свободного ПО произошли значительные изменения, и сейчас подобные вклады оцениваются намного более положительно, что само по себе стимулирует компании раскрывать свои тексты в тех случаях, когда у них нет веских причин этого не делать. Рефлекс "собаки на сене" хоть и не исчез вовсе, но заметно ослаб. Интересно отметить два момента: во-первых - компьютерные гиганты вроде IBM довольно быстро освоились с свободным ПО, военные ведомства и правительства различных стран тоже быстро оценили предоставляемые им возможности. С другой стороны, традиции хакерского сообщества зародились в 60-е годы в академический среде, которая финансировалась крупными корпорациями и военными, и непосредственно в крупных корпорациях, таких как AT&T. Мне это представляется закономерным - крупный капитал и государственные структуры являются подходящей средой для развития внутри них "коммунистических" взаимоотношений. Они достаточно велики, чтобы получить отдачу от снижения внутрисистемных издержек в результате снятия искусственных барьеров для обмена информацией. Потерянные доходы от "торговли информацией" с лихвой компенсируются за счет повышения общей эффективности их деятельности. Средний же и малый компьютерный бизнес оказывается гораздо более привязан к "собственнической" модели ведения дел. Во-вторых - несмотря на неплохую внутреннюю координацию и даже определенное политическое влияние (лоббистская деятельность сообщества достаточно эффективна), сообщество свободного софта не является организацией в обычном смысле слова - в нем отсутствуют какие бы то ни было формальные организационные структуры. Все вопросы решаются как бы "сами собой". Вдаваться в подробности было бы в рамках этой заметки неуместно, и я просто отсылаю интересующихся к статьям Эрика Рэймонда (см. список ссылок по теме). В заключение я хочу отметить, что, на мой взгляд, значение свободного программного обеспечения выходит за пределы компьютерной индустрии: мы имеем дело с динамично развивающимся неформальным сообществом, масштабы которого значимы для одной из важнейших отраслей современной экономики. Сообщество это существует уже 20 лет и до сих пор не обнаруживает в своем развитии негативных тенденций. Оно самим своим существованием опровергает популярный тезис о том, что единственно возможная эффективная экономическая система - это система рыночная. Будучи основано на ограничении права собственности (фактически - на упразднении в рамках сообщества модного нынче понятия "интеллектуальной собственности"), оно делает небесспорным утверждение о том, что частная собственность есть институция, которая всегда наилучшим образом способствует росту благосостояния общества. На мой взгляд, именно это, а не десятки миллионов строк программного кода является главным результатом деятельности программистов, занимающихся разработкой свободных программ - им удалось в нашем меркантильном мире реабилитировать ценности сотрудничества и совместной деятельности ради общего блага и действительно "сделать наше общество лучше". Ссылки по теме: A Brief History of Hackerdom (русский перевод) - обзор истории хакеров (под хакерами здесь понимаются люди, которые пишут программы, потому что им нравится этим заниматься, что и является первоначальным значением этого слова). Тексты Free Software Foundation (страница с русскими переводами некоторых текстов, другая страница с переводами). Некоторые тексты оттуда:
Steven Levy. "Hackers" - история хакерского сообщества до 1984 года (год издания книги). Увлекательнейшая книга - читается на одном дыхании - и без малейших признаков "клюквы". К сожалению, до сих пор не издана на русском языке. ПРИМЕЧАНИЯ 1) Просто провозглашение кода программы "общественным достоянием" этой проблемы не решает. В отличие от книг, программы нуждаются в постоянных модификациях, причем любая из таких модификаций превращает результирующую программу в частную собственность автора изменения. То, что автор не будет требовать денег или препятствовать распространению кода (и, вероятно, даже не задумывается о такой возможности), ситуацию не меняет - принципиальным тут является то, что он автоматически имеет такое право и может в любой момент захотеть его реализовать. Если такая программа начинает вытеснять свободные версии (а для этого вовсе не надо значительного вклада в разработку, достаточно, например, просто того, что программа будет поддерживать новые версии оборудования), то соблазн реализовать это право может оказаться слишком сильным. Другой случай - когда свободная программа пересекается с каким-либо патентом. Тогда патентодержатель может попробовать воспользоваться патентом для того, чтобы запретить другим использовать эту программу как свободную, и тем самым фактически получить ее в собственность. Даже если патент будет успешно оспорен в суде, это будет дорогостоящим и долгим делом, и одной угрозы судебного разбирательства с неопределенным результатом может оказаться вполне достаточно, чтобы заставить других отказаться от продолжения работы над этой программой (что, опять же, ведет к приватизации всего кода). При наличии намерения захвата той или иной свободной программы возможны и более изощренные и действенные стратегии. GPL запрещает эту практику - любая программа, содержащая код, помещенный под GPL, также должна быть помещена под GPL. Любое использование, нарушающее это условие, является незаконным. Как легко видеть, это ликвидирует первое из злоупотреблений, и хоть и оставляет возможным предъявление претензий по поводу нарушения патентов, но исключает возможность извлечения из этого сколько-нибудь существенной выгоды. С помощью патента можно уничтожить свободную программу (реально - вынудить сообщество модифицировать ее таким образом, чтобы обойти патент), но GPL не дает возможности получить за это деньги. К сожалению, все это не является абстрактными "страшилками" (было достаточно много прецедентов подобного рода). Как раз сейчас компания SCO (ранее называвшаяся Caldera) пытается присвоить права на Linux (и не только на него) на весьма сомнительных основаниях. По иронии судьбы, Caldera в свое время возникла именно как Open Source компания, зарабатывающая деньги на свободном ПО, а ее основным оппонентом в нынешнем конфликте является фирма IBM, которая до недавнего времени вызывала в компьютерном мире примерно те же ассоциации, что сейчас - Microsoft, и печально известна тем, что активно прибегает при случае к патентному шантажу. В данном же случае IBM выступает как один из значительных спонсоров и контрибуторов Linux и выступила с встречным иском против SCO, обвинив SCO в нарушении GPL (и, для пущей надежности, нескольких своих патентов). Цена вопроса тут весьма велика - претензии SCO и вызванная ими неопределенность уже нанесли значительный ущерб связанному с Linux бизнесу (против SCO выдвинуто несколько исков по этому поводу), капитализация самой SCO превышает 100 миллионов долларов, и если SCO проиграет дело против IBM, все иски против нее будут почти автоматически решены в пользу истцов. А SCO в этом случае скорее всего перестанет существовать. Если же SCO выиграет дело (что маловероятно), она получит в свои руки активы стоимостью в миллиарды долларов. 2) Разумеется, как и в любом другом случае формального законодательства, возможны случаи, когда буква GPL вступает в противоречие с ее духом. Это, к сожалению, является неизбежными издержками этого метода. 3) Это важный момент, который очень часто понимается неверно: Вы вовсе не обязаны распространять свои изменения в GPL-ном коде - условия GPL вступают в силу только если у вас есть такое намерение. Пока вы не распространяете код, GPL не накладывает на вас никаких ограничений. 4) Тем, кого удивляет возможность делать деньги на продаже того, что можно получить бесплатно, я могу напомнить, что торговцы пиратскими CD успешно делают деньги на тиражировании того, что любой человек, приложив некоторые усилия, может скопировать сам, а издатели неплохо зарабатывают на издании книг, давно перешедших в public domain. В тех случаях, когда подобным образом распространяется свободное ПО, эта деятельность является совершенно легальной - просто продается не право использования программы, а услуга по ее копированию. Свободное ПО вообще не обязано быть бесплатным - например, вам никто не обязан бесплатно предоставить дистрибутив Linux (и продавец имеет право запросить с вас любую цену). Однако то, что он не может запретить вам получить его у любого другого человека, который согласен его вам предоставить, равно как не может запретить вам распространять его дальше, делает цену либо очень невысокой, либо вообще нулевой (большая часть свободного ПО доступна в Интернете, и единственной тратой при его получении является оплата доступа в Интернет). Более подробно точка зрения Free Software Foundation по этому вопросу изложена в статье "Продажа свободного ПО".
|