Открытое ПО: экономика требует свободы

 
Знаете ли Вы, что один из самых успешных бизнесов в мире – Google может претендовать на своего рода рекорд — самое крупномасштабное внедрение ОС Linux в мире. Входящие в ее состав 4000 серверов на базе ПК являются одной из крупнейших на сегодняшний день инсталляций Linux. Почему же владельцы компании Google организуют свой бизнес, опираясь на открытое ПО?

Подобный вопрос может возникнуть при прочтении результатов исследования компании MITRE, проведенного по заказу Министерства Обороны США. Согласно этому документу безопасность сетей последнего напрямую зависит от использования таких открытых продуктов как как OpenBSD, SNORT и многих других.

Следует отметить, что Интернет, таким как мы его знаем, возможен только благодаря открытому ПО - Ведь конвертированием удобочитаемых

имен типа google.com в трудно запоминающиеся IP-адреса «занимаются» серверы Bind, являющиеся открытым продуктом. Кроме того семь из десяти веб-серверов - это Apache (бессменный лидер рынка), около половины всех почтовых SMTP-серверов – свободные Sendmail и Postfix

К чему мы это?

Даже после того как 25 % европейцев и более 10% пользователей по всему миру начали использовать открытый браузер Firefox, а сам бренд занял 7-е место в рейтинге глобальных технических брендов, опередив eBay и Sony (опрос BrandChannel), и после того как HP и IBM начали зарабатывать десятки миллионов долларов на открытых решениях – споры вокруг открытого ПО и экономической жизнеспособности этой модели разработки не угасают. В Украине, к сожалению, дискуссии на эту тему пока ведутся достаточно слабо.

Настоящая статья является первой в цикле материалов, призванных ознакомить украинского читателя с миром открытого ПО. Наша цель – посмотреть на открытое ПО с новой точки зрения. Мы будем не только приводить обзоры свободных продуктов, но и поднимать вопросы внедрения свободного ПО, приводить экономическое обоснование внедрения свободного ПО, рассказывать о рынке свободного ПО в Украине. Мы не только представляем собственные аргументы в пользу свободного ПО, но дадим слово практикам, экспертам, сторонникам и оппонентам Свободной модели программирования.
Итак, начнем.

 
История возникновения

 
В 70-е годы индустрия ПО только набирала обороты и исходный код был открыт – все желающие могли использовать программы, вносить изменения и делиться с другими. Но с течением времени софтверные компании стали продавать свою продукцию без исходного кода. Цель ограничения доступа к исходным кодам была проста – монополизировать рынок и зажать клиента в тиски технологической зависимости.

27-летний Ричард Столлмен (Richard Matthew Stallman), сотрудник компьютерной лаборатории одного из наиболее известноых американскоих техническоих ВУЗов – Массачусетского Технологического Института

(MIT) однажды столкнулся с проблемой. Он не смог использовать код, созданный им ранее в рамках одного из исследовательских проектов. Алгоритмы, над которым Столлмен и его команда работали несколько лет – оказались… недоступными им самим.

Такое положение вещей возмутило Столлмена, и он решил создать организацию, которая бы позволила программистам свободно обмениваться своими наработками. В 1984 году он основал проект GNU, в 1985 году - Фонд Свободного ПО (Free Software Foundation – FSF). GNU - проект более технический, сконцентрированный на создании свободного набора програм практически для все сфер жизни, в то время как FSF больше нацелена на пропаганду идей открытого ПО.

Лицензии

Свободу открытого кода нужно было зафиксировать юридически. Для этого сторонники открытого кода решили использовать тот же инструмент, которым свободу ПО традиционно пытались ограничить – лицензии. Так появилась GNU GPL (Универсальная Публичная Лицензия – General Public License). Ее автором стал Все тот же Ричард Столлмен, однако масса народа приняла открытое участие в обсуждении и дополнении текста лицензии.

По сути GPL является полной противоположностью "закрытым"

лицензиям. Если последние запрещают модифицировать ПО или просматривать исходный код программы, то GPL не только поощряет доступ к коду и модификации оригинальной программы, выпущенной под этой лицензией, но и запрещает выпускать такую программу под другими лицензиями. Кроме того, GPL требует, чтобы все изменения к программе были доступны под этой же лицензией. Многие критики называют эту лицензию "вирусной", но именно требование возвращать сообществу все полезные наработки привело к достаточно быстрому росту количества и качества открытого ПО, выпускаемого на условиях GNU GPL. На сегодняшний день GPL – наиболее распространенная открытая лицензия, на условиях которой выпускают свое ПО не только непосредственные участники проекта GNU, но и десятки тысяч независимых открытых проектов.

Эта лицензия, хоть и является наиболее популярной, не единственная "открытая" лицензия. В мире открытого ПО достаточно распространенными являются и BSD (Berkeley Software Distribution) лицензии. От GPL они отличаются отсутствием требования публиковать код всех изменений. Кроме того, достаточно популярными открытыми лицензиями являются лицензия Массачусетсского технологического института (известная также как лицензия X–консорциума), лицензия Apache, открытые лицензии Netscape и Mozilla. Несмотря на различия между открытыми лицензиями, программы выпущенные под ними работают вместе безо всяких проблем. Пример тому – практически любой дистрибутив Linux, в котором присутствуют компоненты, лицензированные под GPL, BSD, Apache, Mozilla.

Возможностями создавать закрытые решения на основе открытого кода, или создавать программы, работающие на открытых операционных системах, воспользовались уже многие компании. На открытом ПО построила свою уже легендарную MacOS X компания Apple Computers. Корпорация Microsoft использовала реализацию протокола TCP/IP под лицензией BSD для своей операционной системы Windows после многочисленных и малоуспешных попыток создать собственную реализацию.

"Неомарксистская" риторика Столлмена и термин «Free Software» серьезно пугали бизнес, вызывая опасения, что свободное ПО «построено на коммунистических принципах» и «не позволяет зарабатывать деньги». Для того, чтобы развеять эти мифы, в 1997 году была создана организация под названием «Инициатива открытых исходных кодов» (Open Source Initiative – OSI www.opensource.org), целью которой стало показать, что открытое ПО не только совместимо с принципами рыночной экономики, но и позволяет ей (экономике) выйти на принципиально новый уровень. Так наряду с термином «Свободное ПО» появился термин «Открытый код» и «Открытое ПО», на которые гораздо благоприятнее реагировал бизнес. В данной публикации мы используем все три термина, поскольку они обозначают один и тот же принцип. Важным вкладом OSI в развитие свободного ПО стало создание документа «Определение открытого кода». Он определяет ряд принципов, которым должна отвечать лицензия, для того, чтобы ее можна было считать открытой. Сам документ, а так же список лицензий, которые отвечают его требованиям опубликованы на сайте OSI (http://www.opensource.org/)

Свободное ПО и процесс его разработки – это не просто сборище программистов, обменивающихся кодами своих программ. Необходимость не только тесного, но и отчетливо-проектного, подчиняющегося жестким технологическим стандартам сотрудничества при создании открытых проектов для программистов из разных стран привело к созданию целого ряда моделей управления проектами, которые были совсем не характерны для традиционного рынка ПО. Сейчас эти наработки активно изучаются компаниями-разработчиками ПО, которые хотят наладить эффективное сотрудничество между своими рабочими в разных странах.

Среди наиболее известных проектов, который позволяет создать такое тесное взаимодействие – Bugzilla – открытая система контроля ошибок в программе. Bugzilla — это хорошо продуманная и оттестированная система: с одной стороны она довольно проста, а с другой там есть все, что нужно для отслеживания ошибок (bug-tracking) в программном проекте любого уровня сложности. Сейчас Bugzilla используют более трёхсот компаний и организаций по всему миру, и среди них такие, как NASA, IBM, Id Software, и AMD, другие; широк список и программных проектов: Mozilla, Linux Kernel, Apache Project, Open Office.org…

Сегодня Bugzilla является де-факто стандартной системой доводки ПО до бизнес-уровня во многих софтверных компаниях. Такими же распространенными являются проекты Concurrent Version System и Subversion: позволяют контролировать дополнения, котрые вносят в проекты программисты из распределенных рабочих групп.

Еще одним примером успешного открытого проекта, хотя и социального, является Wikipedia - сетевая энциклопедия, которую может редактировать любой зарегистрированный в системе пользователь. Пользователи все чаще обращаются сюда за актуальной информацией, что особенно явно проявилось во время последних терактов в Лондоне, азиатского цунами и американского урагана. Тематические статьи в Wikipedia были созданы буквально через несколько часов после события, а затем информация дополнялась ежеминутно. Многотысячная армия редакторов-добровольцев (их уже более 350 тыс.) не пропустили ни одного важного факта, и по полноте освещения событий с ними не мог сравниться ни из традиционных электронных или печатных медиа.

Некоторые эксперты, которые отслеживают и анализируют данный феномен, говорят что Wikipedia к настоящему времени превратилась в нечто большее чем просто энциклопедию. Она стала универсальной моделью коллективной публикации в интернете. Сегодня Wiki-технологии (особенно TWiki) многие компании используют для того, чтобы обеспечить возможность эффективного сотрудничества разных частей своих комманд. Наверное, наиболее известная среди них - «Yahoo».

Как видим, модели работы, характерные ранее для открытых проектов, находят успешное применение в бизнес-среде.

 

Экономика свободного ПО

В 1998 году Эрик Реймонд опубликовал свою статью «Собор и базар», в которой процесс разработки, внедрения и использования свободного ПО описан в терминах, традиционно используемых для анализа экономики ПО вообще. Экономика ПО рассмотрена им как имеющая ярко выраженный сервисный характер. Рэймонду удалось показать, что при использовании открытого ПО клиент платит не за программу как такую, а за обслуживание этой программы или за приспособление данного ПО к его специфическим задачам. !

Немногим позже начала давать плоды работа Open Source Initiative с бизнес-сообществом, и некотрое компании начали работать над моделями предоставления услуг «вокруг» открытого ПО и создания открытых продуктов, нацеленных на корпоративного пользователя. Среди «пионеров» - RedHat, Penguin Computing, IBM, Sun Microsystems. Приведем несколько примеров наиболее известных компаний, использующих открытое ПО как часть бизнес-стратегии.

Ключевые компоненты коммерческой Mac OS X являются свободными, они даже выделены в самостоятельную операционную систему под названием Darwin и доступны [en.wikipedia.org/wiki/Apple_Darwin] под одной из свободных лицензий. Участие в разработке Darwin принимают энтузиасты со всего мира - и Apple использует плоды их труда. Для своего броузера Safari компания Apple взяла код открытого браузера Konqueror. Такое сотрудничество отнюдь не является односторонним - Apple поделилась своими наработками и улучшениями с сообществом разработчиков Konqueror после того, как был выпущен Safari.

 В 2000 году фирма Sun предложила open-source сообществу принадлежащей ей исходный код программного обеспечения StarOffice и и формат файлов XML, с целью привнести стандартизацию в рынок офисных приложений. Так появился OpenOffice.org.

Теперь OpenOffice.org версии

2 использует по умолчанию OASIS OpenDocument XML format – международный открытый формат. OpenOffice.org – лишь один из десятков открытых проектов в которых берет участие Sun Microsystems.

IBM

 «Голубой Гигант» собирается потратить на продвижение Linux на протяжении следующих нескольких лет 100 миллионов долларов. Такая щедрость со стороны компании вполне объяснима – на продаже своих серверов, работающих на Linux, IBM уже заработала сумму гораздо большую. Кроме того, компания вложила достаточно много средств в проект поддержки многопотоковых вычислений в Linux, проект поддержки кластеров Beowulf на операционной системе Linux, а так же выпустила много своих наработок под открытыми лицензиями (ibm.com/open). Среди других важных открытых продуктов IBM – интегрированная среда разработки Eclipse, СУБД Cloudscape.

 
Google

Как уже говорилось, одна из наиболее успешных IT-компаний последних нескольких лет по сути построила свой успех на открытом ПО. В компании широко используется не только Linux, но так же язык программирования Python – один из наиболее популярных на сегодня открытых компьютерных языков для разработки програм .

Кроме того, в прошлом году Google организовала акцию Google Summer of Code, во время которой были отобраны сотни открытых проектов, которые получили солидную спонсорскую поддержку.

Сергей Брин, один из основателей Google, подчеркивает, что используемые Google системы — это типовые однопроцессорные ПК с 256-Мбайт ОЗУ и 80-Гбайт объемом внешних запоминающих устройств. Компания выбрала однопроцессорные системы потому, что многопроцессорные серверы менее стабильны в работе и более трудны в управлении. Что же касается ОС Linux, то, с его точки зрения, она является наилучшим выбором из всех предназначенных для ПК операционных систем.

Одно из важных достоинств – прекрасное соотношение цена-качество. Стоимость дистрибутива ОС Linux не превышает стоимости его загрузки из интернета, в то время как закрытые решения могут стоить сотни долларов. При выборе ОС Linux в качестве серверной платформы Google другим решающим фактором стала ее поддержка. Как отмечает Брин, компания располагает собственными специалистами, что позволяет решать все возникающие проблемы самостоятельно, благо свободный исходный код это позволяет. В тех случаях, когда собственных знаний оказывается недостаточно, Google привлекает к работе нужных специалистов из Linux-сообщества.

Открытое ПО выгодно потому, что оно более отвечает современным экономическим моделям, направленным на предоставление услуг. Кроме того, сложность современных IT – решений требует тесного взаимодействия большого количества специалистов из разных стран мира. Да и пользователям все больше нужно приспосабливать IT-продукты под свои конкретные нужды.

Такие взаимодействия распределенных команд лучше всего реализовано в сообществах open source: ведь над некоторыми открытыми проектами работают десятки тысяч программистов, тестеров, переводчиков – количество, которое не под силу собрать даже самым мощным IT-компаниям.

Кроме управленческих преимуществ открытое ПО имеет ряд экономических преимуществ. Важнейшим из них является невозможность «технологической зависимости» клиента от поставщика ПО при использовании открытых решений, а так же невозможность монополизации рынка ПО (Всегда найдутся конкуренты).

Еще одним важным преимуществом открытого ПО является его надежность. Как показывает опыт, открытое ПО практически не подвержено вирусам, а наиболее безопасные сетевые узлы в мире построены именно на открытых технологиях. Это – результат просмотра кодов програм тысячами программистов и тестирования открытых продуктов в самых разных условиях при самых разных настройках.

 

На сегодня рынок свободного ПО в Украине развивается достаточно динамично. Хотя Украина и отстает от Германии, Франции, Китая, Бразилии, Перу, которые внедряют поддержку открытого ПО на государственном уровне – сообщество и бизнес сами проявляют интерес к открытому ПО.

В Украине уже не один год действуют фирмы, занимающиеся открытым ПО. Среди них – LaFox.net – компания, распространяющая диски с открытым ПО, ЕМТ – компания предоставляющая услуги миграции на открытое ПО, USTAR - поставщики кластеров на основе открытых технологий, а так же многие другие.

В Украине есть специалисты с опытом разработки и эксплуатации решений на основе свободного ПО. В основном они работают в высокотехнологическом секторе: ISP, мобильной связи, банковской сфере (кстати, именно в Национальном Банке Украина автор десять лет тому познакомился с Linux). Следует заметить, у многих специалистов опыт участия в международных проектах – к примеру, ALT Linux или OpenOffice.org.

 Существуют сформировавшиеся сообщества разработчиков и пользователей свободного ПО — например, Украинская сеть разработчиков свободного ПО (OSDN.Org.UA), которая занимается разработкой и популяризацией свободного ПО в стране, существуют группы пользователей Linux в регионах (lug.org.ua).

Результатом работы этих участников рынка является большое количество локализованных продуктов: офисный пакет OpenOffice.org, для работы в Интерне Mozilla, словарь Mova и самообучающаяся программа автоматического перевода «Перекладачка».

Среди важных событий последнего времени следует отметить создание организации, которая ставит целью объединить усилия разных сообществ Open Source в Украине – Украинской Ассоциации Пользователей и Разработчиков Открытого и Свободного ПО. Среди ее целей – не только поддержка открытого ПО, пропаганда его принципов, но и предоставление консультативной помощи компаниям, желающим использовать открытое ПО. Кроме того, Ассоциация планирует работать с правительственными органами над С информацией об организации, ее статутом можна ознакомится на ее сайте www.uafoss.org . Там же можна подать заявку на вступление в организацию.

 Вместо вывода следует отметить, что открытое ПО в Украине имеет хорошие перспективы. Причины тому – в основном экономические. И дело не только в том, что экономика страны не готова платить миллиарды долларов лицензионных отчислений. Использование открытого ПО позволит собственные деньги и собственные рабочие руки – в собственной стране. И это все-таки важно.

 Чем отличается свободное ПО от несвободного? Означают ли одно и то же термины «некоммерческое», «бесплатное» и «свободное», «открытое»? Всегда ли ПО с открытым исходным кодом является свободным?

Открытый исходный код (ОК) – это техническое понятие, которое означает лишь доступность исходного кода полученного (приобретенного) ПО, но не определяет прав пользователя. Важно, что некоторые производители ПО могут предоставлять пользователю доступ к исходным текстам, но при этом пользователь не имеет права модифицировать его либо распространять.

Несвободное (проприетарное) ПО распространяется по лицензиям, общий смыл которых можно свести к следующему: пользоваться можно, но свободно копировать и передавать третьим лицам нельзя (и, в основном, никакого доступа к исходным текстам). Проприетарные лицензии в некоторых случаях ограничивают даже количество процессоров компьютера, на котором будет запускаться ПО.

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

Именно на этом настаивают приверженцы открытого ПО, говоря о том, что словосочетание «Free Software» следует понимать не как «халявный софт», а как «свободное ПО», то есть «Free as a Freedom, not as a free beer».

 В Украине открытое ПО рассматривалось лишь сквозь идеологическую призму «интеллектуальной собственности», а примера успешного ведения бизнеса (к примеру, Red Hat) просто не попадали в поле зрения исследователей. Сторонники свободной модели подчеркивали, в основном, на этические и социальные аспекты этих моделей, а не на экономический.