Михаил Рамендик
«Программы с открытыми исходниками — идея, время которой наконец-то пришло. Двадцать лет она выстраивала фундамент в среде технических специалистов, построивших интернет и World Wide Web . Теперь эта идея прорывается в коммерческий мир, изменяя все правила. Готовы ли вы к этому?» (OpenSource.Org)
Идея, время которой пришло?
Open Source Software — это выражение, которое можно перевести на русский как «программное обеспечение с открытыми исходными текстами», в последние несколько лет стало широко известным в компьютерном бизнесе. Полнофункциональные программы, от операционных систем и серверных решений до офисных приложений, графических редакторов и т.п., не требуют оплаты за законное использование; любой специалист может создавать модифицированные и улучшенные версии таких программ.
Роль такого ПО — также называемого (возможно, точнее) free software , свободное (не «бесплатное»!) программное обеспечение — на корпоративном рынке довольно значительна и продолжает расти. Относительно недавно из всех компьютеров в бизнесе разве что на интернет-серверах широко использовались свободные операционные системы — Linux и различные версии BSD. Теперь же Open Source Software «штурмует» и рынок иных серверов, и даже — хотя еще не столь уверенно — настольных компьютеров и рабочих станций.
В России свободные программы могут стать, и отчасти уже являются, серьёзной альтернативой компьютерному «пиратству» или немалым, по российским меркам, затратам на лицензионный «софт». Однако, к сожалению, российские пользователи и менеджеры (в отличие от многих технических специалистов) достаточно мало информированы о существовании целого мира open source software .
В данном обзоре мы предлагаем взгляд на феномен свободных программ, историю его развития, предполагаемые перспективы и возможное влияние на компьютерный бизнес (особенно в России) в ближайшем будущем. Кроме того — возможно, впервые на русском языке — мы не только представляем аргументы в пользу свободных программ, но одновременно даём слово основному оппоненту этой идеи. Российское отделение фирмы Microsoft отвечает на вопросы CNews.ru и предлагает свои комментарии по этой теме.
Мы надеемся, что наши читатели, ознакомившись с разными мнениями, смогут составить своё представление о свободных программах, положительных и отрицательных сторонах их использования. Мы также предлагаем сторонникам различных мнений участвовать в дальнейшей цивилизованной дискуссии о применении свободных программ в России; сотрудники Microsoft также изъявили желание продолжать обмен аргументацией.
История развития свободного программного обеспечения
История «свободных программ» начинается с одного человека — Ричарда Столлмана ( Richard Stallman ). Именно он впервые употребил термин « free software » и чётко объяснил его значение. Однако он не считал, что создаёт некую принципиально новую концепцию. До конца 70-х годов значительная часть программного обеспечения разрабатывалась в научных учреждениях — университетах. Университетские традиции редко поощряют сокрытие информации друг от друга. Поэтому программы передавались и модифицировались свободно.
Так было и в лаборатории искусственного интеллекта Массачусетского технологического института (MIT AI Lab ), где работал молодой талантливый программист Ричард Столлман . Однажды, в 1980 году, произошло событие, перевернувшее не только жизнь Столлмана , но, возможно, и будущее развитие рынка программного обеспечения.
Фирма Xerox подарила лаборатории лазерный принтер новой модели. У этого принтера обнаружился небольшой дефект, который можно было легко обойти, изменив программный драйвер. Ричард уже не раз решал подобные проблемы, но на этот раз исходные тексты драйвера оказались недоступны. Более того — когда Ричард связался с работником другого университета, у которого эти тексты были, тот отказался ими поделиться, сославшись на соглашение о нераспространении информации ( Non-Disclosure Agreement ) с фирмой Xerox .
По нынешним временам это было бы обычное коммерческое решение. Понять такой ход со стороны фирмы Xerox вполне можно — принтер был, скорее всего, достаточно простым, его программный интерфейс многое говорил о его способе работы, и потому изучение драйвера могло бы в чём-то помочь конкурентам при разработке их принтеров. Но для Столлмана это был отказ от многолетней традиции свободного обмена информацией, при котором каждый программист мог вносить в чужие программы улучшения для общего блага.
Тенденция к закрытости программ, их недоступности для просмотра и изменения другими программистами, сразу показалась Столлману чрезвычайно опасной. И за следующие несколько лет опасность подтвердилась. Всё больше бывших коллег Столлмана теперь работали в коммерческих компаниях, и многие из них закрывали свои программы, делали их, по выражению Столлмана , «собственническими», несвободными. В любой программе используется много наработок других программистов — но теперь использование прошлых работ коллег стало невозможным из-за «авторских прав».
Столлман решил попробовать бороться за изменение ситуации. В 1983 году он начал проект GNU — создание полноценной свободной операционной системы. Операционной системы, которая будет полностью доступна для копирования, изучения и модификации. Система GNU должна была стать свободным аналогом распространённой и достаточно развитой на тот момент системы Unix .
Первые годы, трудные годы
На протяжении 80-х годов Столлман и некоторые его единомышленники работали над системой GNU. Было создано несколько важных и качественных программ, в частности, качественный компилятор языка C — GCC (GNU C Compiler ).
Не менее важной разработкой, чем программы, стала лицензия GNU General Public License (GPL). Она была призвана использовать механизм авторских прав на программы, чтобы защитить их от превращения в «собственнические». GPL допускает любое использование и распространение программы и любых её модификаций — включая и коммерческое; однако она требует сохранять свободными все модификации программы, предоставляя их на условиях той же лицензии GPL и делая доступными исходные тексты.
Однако работа над центральной частью операционной системы — ядром — практически не велась. И хотя продукты GNU приобрели широкую известность, конечная цель — операционная система — оставалась далёкой.
Не без влияния Столлмана программисты из университета Беркли ( Berkeley university ), которые длительное время разрабатывали операционную систему Unix вместе с фирмой AT&T, в 1989 году сделали свободным системное программное обеспечение для работы с сетью. Они не использовали лицензию GPL, и опубликованные ими исходные тексты можно было включать в закрытые программы. Именно на исходных текстах Беркли основана работа с интернетом (протокол TCP/IP) во всех современных операционных системах. Если бы не выпуск свободной версии сетевых программ от Беркли, история интернета могла бы быть иной.
В 1991 году программисты из Беркли решили выпустить на таких же условиях полноценную операционную систему. Они убрали из этой системы практически все разработки фирмы AT&T, а для их замены обратились к добровольцам среди сообщества программистов. Благодаря развивавшемуся интернету добровольцев оказалось немало и их работу было легко координировать.
Вскоре была выпущена система 386/BSD, работавшая на относительно недавно появившемся процессоре Intel 386 и потому пригодная для массовых PC-совместимых компьютеров. В начале 1992 года на её основе была создана коммерческая версия. И тут фирма AT&T подала в суд, не желая допускать конкуренции со своей закрытой (и весьма дорогостоящей) версией Unix …
Если бы не этот судебный процесс, уже в 1992 году оказалась бы доступной полноценная свободная операционная система. К сожалению, «выяснения отношений» продлились до 1994 года.
Большой базар
В 1991 году началась разработка ещё одного ядра операционной системы. Линус Торвальдс , студент университета Хельсинки (Финляндия), решил получше разобраться в работе процессора 386 и для этого создать ядро Unix-подобной операционной системы, которое работало бы на этом процессоре. Он использовал инструментарий, созданный командой GNU; таким образом, проект GNU стал основой для работы Линуса . Ядро, созданное Линусом , стало называться Linux (хотя первоначально он не планировал столь «эгоистичное» название).
Через небольшое время Линус Торвальдс , по предложению Столлмана , стал использовать для распространения Linux лицензию GPL. Эта лицензия и отличное умение Линуса общаться по интернету стали причинами того, что очень скоро над Linux работало немало любителей-программистов из многих стран. Уже в 1992 году появились вполне работоспособные версии. Инструменты GNU и ядро Linux вместе составили полную свободную операционную систему, работающую на компьютерах с процессорами 386.
Работа над Linux стала примером нового способа создания программного обеспечения — совместной работы многочисленных программистов, взаимодействующих через интернет, без какой-либо мощной центральной власти.
В последующие несколько лет работа над различными свободными программами шла весьма активно. Развивались полностью свободные системы — Linux , а с 1994 года — после завершения судебного процесса — и различные версии свободной системы, изначально выпущенной университетом Беркли, наиболее распространённая из которых называется FreeBSD . Создавались различные прикладные программы, в частности — для интернет-серверов . Начиная, как минимум с 1995 года (до этого подсчёты не велись) и по настоящее время наиболее распространённые программы для WWW-серверов являются свободными.
Довольно быстро выявилась сильная сторона свободных программ — их надёжность и безопасность. Специалисты, которые используют эти программы, быстро обнаруживают проблемы, сообщают о них через интернет, и обычно достаточно быстро находится профессионал, желающий и умеющий исправить программу — прежде всего для того, чтобы дальше успешно использовать её. Не приходится ждать реакции какой-нибудь большой и неповоротливой фирмы — мир свободных программ основывается на взаимопомощи программистов.