«Люди думают, что если разработка идёт на базе открытой модели, это приведёт к лучшим результатам автоматически. Это не так. Чтобы достичь успеха, разработку необходимо вести в нужном направлении. Открытые исходные тексты не решают проблему мирового голода»
Линус Торвальдс.
Свободное, бесплатное и открытое ПО — понятия и отличия.
Прежде всего, стоит отметить, что такое свободное ПО, и чем оно отличается от открытого ПО. Согласно определению, свободное программное обеспечение — это программное обеспечение с открытым исходным кодом, который пользователь может легально запускать, модифицировать и распространять любым образом. При этом различают четыре степени свободы ПО: Свобода запускать программу в любых целях (свобода 0).
Свобода изучения работы программы и адаптация её к своим нуждам (свобода 1). Доступ к исходным кодам — необходимое для этого условие.
Свобода распространять копии (свобода 2).
Свобода улучшать программу и публиковать улучшения (свобода 3).
По нынешнему законодательству практически всех стран, программный продукт и его исходный код, по умолчанию является так называемой интеллектуальной собственностью его автора, которому даётся полная власть над распространением и изменением программы, даже в случае, когда исходные коды открыты для обозрения. Чтобы программное обеспечение считалось «свободным», его автор должен дать пользователю все четыре вышеперечисленные свободы. Это достигается выпуском исходных кодов программного обеспечения под одной из особого рода лицензий, называемых свободными.
В то время как под открытым ПО, подразумевают способ разработки ПО, при котором создаваемый исходный код программ открыт, то есть, общедоступен для просмотра и изменения. Это позволяет всем желающим использовать уже созданный код для своих нужд и, возможно, помочь в разработке открытой программы.
Бесплатность ПО есть право пользователя, но не обязанность производителя — открытая лицензия не требует, чтобы ПО всегда предоставлялось бесплатно. Многие из наиболее успешных проектов открытого ПО, тем не менее, бесплатны.
Подавляющее большинство открытых программ является одновременно свободными и наоборот, ибо определения открытого и свободного ПО близки, а большинство лицензий соответствуют обоим.
Отличие между движениями открытого ПО и свободного ПО заключается в основном в приоритетах. Сторонники открытого ПО делают упор на эффективность открытых исходных кодов как метода разработки. Сторонники свободного ПО исходят из идеологических соображений, и считают, что именно права на распространение, модификацию и изучение программ являются главным достоинством свободного ПО.
Таким образом, стоит отличать свободное ПО от бесплатного, ибо бесплатность ПО вовсе не гарантирует наличие четырех вышеперечисленных свобод, и наоборот. В английском языке, проблема усложнена тем, что «свободное» и «бесплатное» обозначаются одним и тем же словом «free». Основатель движения свободного ПО Ричард Мэттью Столлман советует для понимания различий между свободным и бесплатным ПО руководствоваться понятиями «свобода слова» и «бесплатное пиво».
Проект GNU и Free Software Foundation.
GNU (рекурсивный акроним от англ. «GNU is Not Unix») — проект по созданию полностью интегрируемой программной среды (свободной операционной системы), начатый Ричардом Столлманом в 1983 году. В рамках проекта было разработано множество популярных свободно распространяемых программ.
Фонд свободного программного обеспечения (англ. Free Software Foundation) — благотворительный фонд, образованный Ричардом Столлманом в октябре 1985 г. для поддержки движения свободного программного обеспечения и, в особенности, проекта GNU. Со времён его основания и до середины 1990-х средства Фонда использовались в первую очередь для найма разработчиков для написания свободных программ. Начиная с середины-конца 90-х свободное программное обеспечение создаётся многими компаниями и частными лицами, поэтому сотрудники и добровольцы Фонда работают в основном над юридическими и организационными вопросами в области свободного ПО. FSF принимает пожертвования, но большая часть поступлений приходит от продаж копий свободного ПО и смежных услуг. Сегодня Фонд продает компакт-диски с исходными текстами, с бинарными файлами, красиво оформленные руководства (все это с разрешением свободного распространения и модификации), и «Deluxe Distributions» (которая представляет собой всю нашу коллекцию программ, откомпилированную под любую платформу на ваш выбор).
В 1988 г. была написана первая версия лицензии GPL (англ. «GNU General Public License»). GPL была написана в рамках проекта GNU и являет собой часть этого проекта. Цель GNU GPL — предоставить пользователю права копировать, модифицировать и распространять программы (что по умолчанию запрещено законом об авторских правах), а также гарантировать, что и пользователи всех производных программ получат вышеперечисленные права. Нужно заметить, что лицензия сконструирована таким образом, чтобы разрешить все «честные» способы заработка денег на свободных программах. Это очень существенный момент, на который необходимо обратить особое внимание. При первом знакомстве с GPL может сложиться ошибочное представление о том, что эта лицензия вообще запрещает какие-либо способы заработать на программном обеспечении или его разработке. На самом деле GPL в частности и FSF вообще прямо поощряют бизнес, связанный с оказанием сопутствующих услуг, — обучение, консультации, и коммерческое тиражирование ПО. Это позволяет привлечь к сотрудничеству и корпорации и людей, для которых материальный интерес важнее моральных стимулов. Вторая версия лицензии была выпущена в июне 1991 года, после того, как стало очевидно, что первая версия не годится для некоторых библиотек ПО. Сегодня ведется работа над третьей версией GPL.
К 1990 году в рамках проекта GNU было создано большинство компонент, необходимых для функционирования свободной операционной системы. Помимо текстового редактора Emacs, Столлман создал компилятор gcc (GNU C Compiler) и отладчик gdb. Будучи выдающимся программистом, Ричард Столлман в одиночку сумел создать эффективный и надежный компилятор, который превосходит по своим качествам продукты коммерческих поставщиков, создаваемые целыми группами программистов. Поскольку изначально при его создании ставилась задача обеспечения переносимости, сегодня существуют версии этого компилятора практически для всех операционных систем. Позже были созданы компиляторы для других языков программирования, включая C++, Pascal и Fortran. Поэтому сейчас аббревиатура GCC расшифровывается как GNU Compiler Collection.
Сотрудники Free Software Foundation разработали множество других программных пакетов. Из них стоит особо отметить два: библиотеку Си и оболочку shell. Библиотека функций языка Си была разработана сотрудником FSF Роландом Макграсом. Оболочка BASH (Bourne Again Shell), обеспечивающая взаимодействие пользователя с операционной системой, создана еще одним сотрудником FSF Брайаном Фоксом.
Как пишет Столлман: «К 1990 году система GNU была практически закончена; не хватало только одного из базовых компонентов — ядра». Ожидалось, что ядро (оно получило название HURD) будет реализовано как набор серверных процессов, работающих на Mach — микроядре, создаваемом в университете Карнеги-Меллона, а затем в университете штата Юта. Начало разработки откладывалось в ожидании выпуска Mach, которое, как было обещано, будет выпущено в виде свободно распространяемого программного обеспечения. Но его появление все откладывалось. И тут появилось ядро, разработанное финским студентом Линусом Торвальдсом, и получившее название Linux.
Революция.
В 1991 году финский студент Линус Торвальдс, будучи недовольным существовавшими на тот момент операционными системами, начинает разработку свободного ядра операционной системы, названного Linux, которое впоследствии даст революционный толчок к развитию и популярности свободного ПО и открытого метода разработки. Как признается сам Линус в своей книге «Just For Fun», делал он это ради собственного удовольствия, которое получал в процессе программирования. Первая версия Linux была доступна с исходными кодами в интернете, что, во многом, и повлияло на её дальнейшую судьбу « хотя в 1991 году интернет ещё не был столь популярен, как в наши дни, зато пользовались им в основном люди, имеющие достаточную техническую подготовку. И уже с самого начала Торвальдс получил несколько заинтересованных откликов. В начале к разработке присоединились сотни, потом тысячи, потом сотни тысяч добровольных помощников. Система уже не была просто игрушкой для хакеров. Дополненная массой программ, разработанных в рамках проекта GNU, Linux был уже пригоден для практического использования. А то, что ядро системы распространялось под лицензией GNU General Public License, гарантировало, что исходные коды системы были и останутся свободными, то есть могут копироваться, изучаться и модифицироваться без опасения нарваться на какое-либо преследование со стороны разработчика или какой-то коммерческой фирмы. И это привлекало в ряды пользователей и сторонников Linux все новых последователей, в первую очередь из числа студентов и программистов.
Успех был ошеломляющим. Linux последовательно завоевывала плацдарм на компьютерах каждого крупного производителя серверов, операционные системы с хорошей технической репутацией, такие как BeOS, Amiga и OS/2 потерпели крах, а Apple Mac OS и различные версии Unix потеряли свое значение. Программисты, разочаровавшиеся в Windows и искавшие ей замену, увидели в Linux возможность пойти другим путем. «Она становится явлениям диссидентской культуры», — говорит аналитик Giga Information Group Роб Эндерл (Rob Enderle) — «Apple утратила эту роль, и вакуум нужно было чем-то заполнить. Альтернативной Linux делает отчасти ее open-source природа. Этим она отличается от Windows настолько, что дальше некуда». Со временем в веру Linux стали обращаться не только отдельные энтузиасты, но и компании. Первыми к лагерю пристали такие Linux-компании, как Red Hat (сегодняшний лидер), Caldera International, SuSE и Turbolinux. Затем пришла поддержка от таких фирм, как Oracle, поставщика СУБД. За ними последовали производители серверов и начали предлагать какие-то свои усовершенствования, и, наконец, IBM решила ассигновать на собственные Linux-программы 1 млрд. долларов. «Linux развивается быстрее любой операционной системы за всю историю», — говорит директор Центра Linux-технологий IBM Дэн Фрай (Dan Frye), который ровно три года назад начал оценивать Linux для IBM и впоследствии поддержал эту ОС. Одно из достоинств Linux — и качеств, которые нравятся IBM, — это способность работать на компьютерах множества разных конструкций. В их числе четыре основных семейства серверов IBM, а также ряд специальных систем, используемых для «встроенных» устройств, таких как карманные компьютеры и сетевые маршрутизаторы.
Широкое развитие Linux началось со времени выхода стабильной версии ядра версии 2.2 в январе 1999 года. На нее обратили внимание производители серверных приложений, баз данных, Web-, а также приложений для всякого рода защиты ПК. Многие корпорации в области высоких информационных технологий (IT) мигрировали на Linux-серверы различных типов, обеспечивающие поддержку Domain Name System, файловых и print-серверов, Internet-доступ, электронную почту и т.д. Первой областью применения, где Linux сумел занять лидирующие позиции, была сфера веб-серверов. Произошло это благодаря широкому распространению веб-сервера Apache.
Получив признание в качестве основы для Интернет-сервера, Linux начал набирать популярность в качестве серверной ОС. Об этом можно судить по увеличению продаж серверов Linux, имеющему место в течение нескольких последних лет. По данным IDC, в третьем квартале 2003 года, например, было продано Linux-серверов на 743 млн. долл., что на 50% больше, чем за аналогичный период 2002 года. «С первого по третий квартал мы наблюдаем ускорение темпов роста продаж Linux-серверов», — говорит аналитик IDC Джин Бозман. В первом квартале на долю Linux-серверов пришлось 5,6% всех продаж серверов в денежном выражении и 14,1% в натуральном. В третьем квартале эти показатели выросли соответственно до 6,8% и 16,2%.
В четвертом квартале 2004 года продажи серверов на базе ОС Linux принесли 1,3 млрд. долл., что составляет 9% от общего дохода серверной индустрии. Доход сектора Linux-серверов вырос в четвертом квартале на 35,6% по сравнению с аналогичным периодом 2003 года, а объем поставок — на 29,1%. HP лидирует в этом сегменте рынка с долей в 26%, далее следуют IBM и Dell с долями в 23,5% и 15,8% соответственно. В целом по некоторым оценкам доля серверов, работающих под управлением Linux, к концу 2004 года составила более 20%.
Особенно впечатляюще выглядят успехи Linux на суперкомпьютерах. По меньшей мере, половина суперкомпьютеров, вошедших в список 500 самых высокопроизводительных ЭВМ в мире (этот список обновляется 2 раза в год), работает под управлением Linux. Собственно говоря, такие суперкомпьютеры представляют собой не отдельные машины, а целые сети из множества отдельных компьютеров. Отдельный компьютер в этой сети может быть достаточно дешевым компьютером на основе процессоров от Intel или PowerPC. По подсчетам профессора Ганса Мейера (Hans Werner Meuer) из университета Манхейма в Германии, 301 из 500 компьютеров, вошедших в список Top500, работают под управлением Linux, 189 — на Unix, 2 — на FreeBSD и только один — под управлением Microsoft Windows (7 машин работают под управлением других ОС).
Позже, благодаря программному обеспечению, написанного в рамках проекта GNU и поддержке крупных коммерческих компаний, Linux стала использоваться и на персональных компьютерах. Появилось множество программ (в том числе, и игр), по своим качествам не уступающим (а то и превосходящим) их аналогам в Windows. Примерами такого ПО могут служить офисный пакет OpenOffice.org, веб-браузер Mozilla Firefox, почтовый клиент Mozilla Thunderbird. Теперь у рядового пользователя есть все инструменты для выполнения своих повседневных задач. Не смотря на это, Linux не столь популярен на персональных компьютерах. Во многом, это обуславливается привычками пользователей и нежеланием многих производителей аппаратного обеспечения писать драйвера под Linux.
Кроме того, правительства многих — в том числе, и развитых европейских — стран разрабатывают проекты по использованию Linux и свободного ПО в своих государственных и образовательных учреждениях. Примерами таких государств могут служить Германия, Франция, Китай, Корея, Бразилия, Норвегия и несколько других. Что касается России, в 2004 году Министерством Российской Федерации по связи и информатизации и IBM в Москве открыт Центр компетенции Linux. Основными направлениями работы центра являются: разработка решений на основе Linux совместно с бизнес-партнерами IBM и разработчиками программного обеспечения; консалтинг и обучение специалистов; поддержка производителей ПО для Linux и поставщиков решений на основе Linux.
Одна из главных причин успеха Linux заключается в том, что открытая природа ОС означает возможность для увлеченных программистов влиять на нее — в альтернативных системах это исключено. «Разработчики ненавидят некачественное ПО», — говорит главный технолог Red Hat Майкл Тиманн (Michael Tiemann) — «Любая модель разработки, позволяющая им вносить изменения в исходный код, привлекает программистов и ведет к совершенствованию программ».
«Собор и Базар».
Наиболее популярная работа по изучению открытой модели разработки принадлежит Эрику Рэймонду, изобретателю термина «open source», и носит название «Собор и Базар». В данной работе Рэймонд производит подробный анализ и формулирует основные принципы и сильные стороны открытой модели разработки ПО.
Надёжность.
По мнению Рэймонда, проблема надёжности остаётся одной из главных проблем ПО.
Исходные тексты доступны всем; оно более надёжно, чем закрытое, собственническое ПО. Доработанный открытый исходный код надёжен настолько, насколько это возможно.
Здесь необходимо небольшое пояснение, взятое из «Собора и Базара». С появлением Linux, с открытым ПО стала связываться идея «базарной» модели разработки ПО, которая противопоставляется традиционной централизованной «соборной» модели. «При достаточном количестве глаз, ошибки выплывают на поверхность» - показательное в этом смысле высказывание Линуса Торвальдса, раскрывающее один из важнейших принципов такой разработки. Линус начал активно привлекать к бета-тестированию и исправлению ошибок в программах рядовых пользователей. Пользователь закрытого ПО может только сообщить об ошибке, допустим, в службу поддержки, а потом он может ждать исправления ошибки в самой программе минимум через несколько месяцев. Пользователь же открытого ПО может, найдя ошибку, указать на неё разработчику, и ошибка сразу же будет исправлена в следующем релизе, а релизы для открытого ПО могут появляться по нескольку раз в день. Если даже компания, разрабатывающая ПО, тестирует своё ПО внутри своей структуры, количество бета-тестеров не сравнимо с количеством бета-тестеров открытого ПО, при том, что последние не только ищут, но и исправляют ошибки. Кроме того, в мире открытого ПО намного выше стандарты надёжности, так как разработчики действуют по другим мотивам: личный престиж, удовлетворение от собственной работы и другими мотивами нематериального характера. Теперь понятно, откуда берётся надёжность открытого ПО.
Результаты от применения в бизнесе технических преимуществ открытого ПО очевидно для Эрика Рэймонда. В конечном счёте, просмотр исходных текстов заинтересованными сторонами (которыми, напомним, в «базарной» модели являются и пользователи) станет необходимым условием высокого качества программного продукта. Во многих рыночных нишах ПО, исходные тексты которого не могут быть доступны любому, перестанет считаться конкурентоспособным.
Безопасность.
Защищает ли закрытый исходный текст от попыток взлома? — по мнению Эрика Реймонда, в действительности всё как раз наоборот, что может подтвердить любой криптограф. Безопасность не может осуществляться во мраке. Это происходит потому, что у взломщиков намного больше стимулов и они более настойчивые, чем разработчики и тестеры (которым, кроме безопасности, приходится заботиться о многом другом). Взломщики найдут «дыры» в ПО, вне зависимости от того, является ПО закрытым или открытым.
Закрытые исходные тексты приводят к нескольким пагубным последствиям: во-первых, они создают иллюзию защищённости (характерно, что тогда как в мире открытого ПО конфиденциальные данные либо шифруются с помощью серьёзного криптоалгоритма, либо программа при каждом запуске будет напоминать, что ваши данные хранятся в виде простого текста и не шифруются, разработчики закрытого ПО часто полагаются на «авось» и, например, делают хранитель паролей без криптозащиты). Во-вторых, людям, желающим устранить ошибки и незащищённость в программе, сделать это будет невозможно. В-третьих, для закрытого ПО труднее распространять надёжные исправления, когда «дыра» в защите обнаружена. Фактически открытые ОС и приложения намного безопаснее, чем их закрытые аналоги. Когда в 1997 году был обнаружен эксплоит «Ping o'Death», разработчики Linux сделали защиту от него в течение нескольких часов, тогда как закрытое ПО не закрывала эту «дыру» месяцами.
Точку зрения Эрика Реймонда подтверждает уход Филиппа Зиммермана, создателя программы шифрования сообщений с открытым ключом Pretty Good Privacy (PGP), из компании Network Assotiates Inc. в конце февраля 2001 года. Это было связано с тем, что руководство компании решило сократить объём раскрываемого исходного кода в PGP, традиционно распространявшейся как открытое ПО, по решению Зиммермана. Зиммерман заявил, что будет заниматься развитием открытого стандарта OpenPGP.
Преимущества для производителей ПО.
Скорость разработки.
Предполагается, что коммерческие разработчики, использующие «базарную» модель смогут получить и удерживать значительное начальное преимущество над теми, кто её не использует. Если рассмотреть рыночную нишу, то первый коммерческий разработчик, который примет эту модель в данной нише, получит преимущество. Дело в том, что общее количество свободных талантливых разработчиков, согласных разрабатывать открытое ПО, ограничено. Первый «базарный» проект на конкретной рыночной нише, скорее всего, привлечёт лучших. А если они бескорыстно вкладывают своё время в разработку, то, скорее всего, они продолжат разработку этого проекта.
Меньшие расходы.
Переход на открытую модель разработки поможет также значительно снизить издержки в общих расходах на проект. Открытая модель позволяет компании-разработчику передать часть своей работы на внешнее управление (аутсорсинг), платя за это ценностями, менее материальными, чем деньги. (Хотя, возможно, экономически не менее значимыми; увеличение скорости, с которой внешний со-разработчик может исправить ошибку, часто может превратиться в реально возможную прибыль для фирмы-разработчика).То есть меньшие фирмы смогут заниматься разработкой больших проектов.
Преимущества для вендоров.
Тесный контакт с покупателем.
Один из наиболее часто повторяемых советов менеджеру — «Старайтесь быть ближе к покупателю». В сегодняшнем бизнес-климате, быстро меняющемся и располагающим к короткому производственному циклу, это становится всё важнее — нужно понять, что нужно покупателю, как только он сам это поймёт, чтобы быть готовым сразу же предложить то, что нужно. В этом плане мало что может быть лучше, чем разработка продукта совместно с потребителем продукта. «Базарный» метод разработки напоминает то, как многие успешные японские компании занимались потребительской разработкой продукта: можно выйти на рынок с продуктом, который не до конца доработан, а потом, основываясь на отзывах потребителей, быстро достичь той комбинации качеств продукта, которая будет наиболее востребована потребителями. Эта модель особенно ценна для высокотехнологичных товаров (лэптопы, PDA, сотовые телефоны и т.д.), потребность в которых потребитель может не осознавать, или он может не знать точно, какие качества продукта ему нужны.
Широкий рынок.
Важным эффектом от использования открытой модели разработки будет больший круг платформ, на которых будет работать продукт. Разработчикам открытого ПО часто приходят бесплатно версии их ПО для ОС и сред, о которых сами разработчики только слышали, и для которых разработчики не могут себе позволить поддержку версий своего продукта. Безусловно, каждое такое портирование расширяет базу пользователей и увеличивает рыночную привлекательность продукта.
Преимущества для предпринимателей.
Для предпринимателя или производителя ПО в начинающем проекте использование открытой модели разработки — способ получить дополнительные интеллектуальные ресурсы. Лучшая в мире новая идея не будет приносить дохода, пока ей не заинтересуется достаточное количество людей.
Имеет ли это смысл в качестве стратегии зависит от того, в за счёт чего фирма получает основной доход: собственно за счёт продажи ПО или за счёт услуг и знаний, связанных с данным программным продуктом. Всё чаще большую ценность приобретают именно услуги и интеграция. В качестве недавнего примера можно привести компанию Digital Creations, которая открыла исходные коды своего основного продукта Zope по совету своих венчурных инвесторов. Последние планируют увеличение стоимости компании за счёт открытия исходных кодов.
«Четыре пути к победе».
Теперь рассмотрим открытые исходные тексты с точки зрения инвестора. Существует, по крайней мере, четыре бизнес-модели для получения дохода от деятельности, связанной с открытым ПО:
1. Поддержка продавцов (также известная как «Выкидывайте рецепт и открывайте ресторан»). В этой модели компания не занимается самим программным продуктом, но продаёт дистрибутив, получает доход за счёт торговой марки и послепродажного обслуживания. По такой схеме действуют Red Hat и Cygnus.
2. Потеря лидера. В этой модели компания, проигрывающая позицию на рынке, открывает исходные тексты, чтобы составить конкуренцию закрытому ПО. Именно так поступила компания Netscape.
3. Удержание рынка аппаратного обеспечения. В этой модели производитель аппаратного обеспечения (для которого ПО является комплементарным товаром, но не приносит большого дохода) открывает исходные тексты, чтобы получить лучшие драйверы и более дешёвые средства разработки интерфейса. Так, SGI поддерживает разработку Samba.
4. Аксессуары. Продажа аксессуаров — книг, совместимого аппаратного обеспечения, целых систем с предустановленным открытым ПО. Это легко опошлить (футболки с открытыми исходными текстами, кофейные кружки, игрушки в виде пингвина — символа Linux), но, по крайней мере, издание книг и производство аппаратного обеспечения принесло успех компаниям, которые этим занимаются: O'Reilly Associates, SSC, VA Research, в том числе.
Несомненный коммерческий успех среди сторонников открытого ПО имели компании, действующие по схемам поддержки продавцов и потери лидера. Тем не менее, есть основания полагать, что в наибольшего коммерческого успеха добьются компании, действующий по третьей модели.
Недостатки открытой модели разработки ПО, или повторный взгляд на «Собор и Базар».
Наиболее интересная критика некоторых утверждений «Собора и Базара» Рэймонда была представлена в статье Николая Безрукова «Повторный взгляд на Собор и Базар». Николай Безруков — ведущий аналитик корпорации BASF, профессор университета Fairleigh Dickinson, — принципиально поддерживает open source, но против пропаганды последнего как идеи, которая спасет мир.
По мнению Безрукова, «базарной» модели разработки присущи следующие недостатки:
Перегрузка и перегорание ведущих разработчиков.
Это происходит, в основном, из-за излишних амбиций разработчиков, которые стремятся достичь уважения в среде хакеров, программируя днями и ночами, соревнуясь с коммерческими разработчиками ПО. Перегорание разработчиков может быть серьёзной проблемой, однако при разумном подходе её можно решить. Пока ни один из крупных и ответственных (так как по этим проектам судят о перспективах открытого ПО в целом) не пострадал из-за этого. Типичный пример — Linux, которым бессменно руководит Линус Торвальдс. Чтобы не допустить перегорания, он снижает свою нагрузку, так как в его распоряжении достаточно людей, готовых заняться «рутинной» работой.
Консервативный подход к архитектуре.
По мнению Николая Безрукова, в ОС Linux, например, нет абсолютно никаких новых решений с точки зрения дизайна ОС, а особенности «базарной» модели разработки не позволяют вносить решительные изменения в архитектуру проекта. Тем не менее, Linux задумывался как принципиальная альтернатива MS Windows и коммерческим приложениям, и именно этой идеей увлеклись люди, а не архитектурными изысками ОС. Следствием «базарной» модели разработки может быть большое количество кода, написанного непрофессионалами. В ядре 2.4 ОС Linux многие части ядра пришлось из-за этого переписать. Консерватизм в дизайне может проявиться не сразу, а в достаточно поздней версии программы: со временем ошибки исправляются, а краеугольные камни архитектуры проявляются чётче. Это правило действует для всех: и для разработчиков открытого ПО, и для коммерческих разработчиков, не заложивших в своё время в проект достаточную масштабируемость.
Письменные коммуникации по электронной почте в некоторой степени имеют тенденцию искажать смысл и провоцируют столкновения и споры (flame wars).
От этого психологического недостатка анонимного общения страдает качество коммуникации в Интернете вообще, но вопрос, как использовать возможности компьютера и Интернета (как и любой мощной технологии), - для созидания или разрушения — чисто философский. Техника же помогает устранить эту проблему: в установках большинства почтовых программ есть функция фильтрации сообщений, чтобы оградить пользователя от нежелательных адресатов. Даже если вся разработка зависит от почтовой переписки, от споров обычно удаётся избавляться.
Скорость разработки.
Тогда как Эрик Рэймонд считает преимуществом открытого ПО увеличенную скорость разработки, Николай Безруков считает, что для немодульных, нераспараллеленных проектов разработка по «базарной» модели может существенно снизить темпы разработки; другими словами, «базарная» модель разработки ограничена в применении (у стандартной, централизованной модели таких проблем нет). В качестве примера Безруков приводит TEX, который был разработан Дональдом Кнутом единолично. Имени Дональда Кнута Безруков не упоминает, как будто TEX — всего лишь одна из программ, разработанных без участия Интернета, и имеющая повсеместную распространённость. Неудачным этот пример можно считать хотя бы потому, что почти всё, связанное с Дональдом Кнутом можно считать исключением: и TEX, и «Искусство программирования».
«Скорость убивает» и ее первой жертвой становится демократия (впервые отмечено Фредериком Бруксом в его анализе разработки OS/360).
Это социальный вопрос, решая который главному разработчику (или ядру разработчиков) приходится быть дипломатом, чтобы руководить тоталитарно и при этом удерживать людей, коммерчески незаинтересованных. Так, тоталитарными решениями Линуса Торвальдса недовольны многие, и, кажется, появление другого Linux назревает, но пока этого не произошло. Обычно в мире открытого ПО такие проблемы решаются отделением недовольных разработчиков: либо просто уход, либо начало разработки конкурирующей программы (так называемый «fork», - опять-таки специфика открытого ПО, так как у проприетарного ПО может быть только один собственник, и «раздвоение» невозможно). С одной стороны, это плохо, но с другой стороны, конкуренция всегда повышает качество продукта, так что конечного пользователя распри между разработчиками не должны волновать. Кроме того, если проект работает, успехи заметны, разработчики согласны продолжать — в конце концов, какая у него модель разработки — тоталитарная или демократичная — вопрос формализма. Другой вопрос — ясное понимание цели проекта, и тут скорость и качество могут столкнуться. Единственный на него ответ — в осознании и провозглашении главной цели проекта ведущим разработчиком (разработчиками). «Акцентирование качества как центральной цели проекта реально увеличивает шансы выживания проекта в открытых исходниках» — считает Николай Безруков. В общем, это и проявилось, когда Линус Торвальдс многократно откладывал выпуск ядра 2.4, или когда откладывался выпуск Netscape 6.
Эффект «городского совета» или же эффект «Комитета по администрированию структурного планирования ядра Linux».
Да, разработчик открытого ПО намного ближе к пользователю, чем коммерческий разработчик, но прямой контакт с большим числом пользователей может занимать слишком много времени разработчика. Отчасти это возврат к дискуссии о структуре разработчиков — с этой точки зрения ограничение контактов ядра разработчиков (или формирование «клики») — защитная реакция на поток некомпетентных писем. В итоге, с одной стороны — уставшие обсуждать и давать разъяснения разработчики, с другой — отсутствие демократии для пользователей. Пользователю остаётся лишь надеяться, что разработчик знает, как лучше, или самому стать разработчиком, чтобы иметь возможность повлиять на развитие проекта.
Проблема «Самого низко висящего яблока».
Программисты, заинтересованные не материально, а творчески, стремятся разрабатывать программы, которые им интересны. Наличие большого числа слабо поддающихся подсчёту текстовых редакторов — тому подтверждение. Видимо, из-за этого долгое время не было ядра свободной ОС. В мире открытого ПО одна из функций FSF — направление разработчиков для создания завершённой свободной среды (ОС + все необходимые приложения). Поэтому, пока FSF существует и обладает авторитетом (во многом это авторитет Ричарда Столлмана), эта проблема решается.
Вывод.
Как показывает практика, открытая модель разработки ПО показала себя успешной. В частности, об этом говорит выбор крупных корпораций этой модели, — так, например, недавние решения компании Sun об открытии исходного кода своей операционной системы Solaris в рамках проекта OpenSolaris и лицензирование Java под лицензией GPL. Конечно же, во многом это обусловлено появлением операционной системы Linux и стараниями участников проекта GNU. Уже сегодня любой пользователь компьютера в полной мере может наслаждаться результатами революции конца прошлого столетия, выполняя необходимые ему задачи посредством свободного программного обеспечения.