Что такое Open Source
Open Source переводится с английского как открытый источник. Этот
термин в 1998 году придумали основатели Open Source Initiative (OSI)
Эрик Рэймонд (Eric S. Raymond), Брюс Перенс (Bruce Perens) и Тим О’Рейли
(Tim O’Reilly) – см. врезку «Разработчики Open Source» на стр. 60.
Первый проект Open Source возник на базе популярного в 1990-х годах
браузера Netscape Navigator. В 1997 году компания Netscape опубликовала
исходный код программы – это привело к появлению проекта Mozilla,
породившего в том числе браузер Firefox.
Что такое исходный код
Многие крупные производители программного обеспечения, например
Microsoft, берегут исходные коды своих программ не хуже, чем компания
Coca-Cola охраняет рецептуру одноименного напитка. В таких условиях
дальнейшее развитие какого-либо приложения и исправление найденных
ошибок могут осуществляться только силами разработчиков. Напротив,
исходный код программ, реализованных в соответствии с идеологией Open
Source, открыт для всех. И любой разбирающийся в программировании
человек может изменять, дополнять и улучшать такую программу.
Программы Open Source
Программы с открытым исходным кодом, такие как VLC Player
(см. ниже) или Firefox, доступны для Windows, Mac OS и Linux. Сегодня
существует более 250 тысяч таких программ почти во всех категориях.
Операционные системы. Широко распространены ОС Ubuntu,
Debian, Red Hat или Open Suse, базирующиеся на Linux. Операционная
система Android фирмы Google для смартфонов и планшетных компьютеров
тоже имеет открытый исходный код.
Программы. Сюда относятся пакет офисных приложений Open
Office, мультимедиапроигрыватель VLC Player, браузер Firefox и почтовая
программа Thunderbird.
Игры. Альтернативой популярной, но дорогой игре-стратегии Civilization является бесплатная игра Freeciv.
Драйверы. Некоторые управляющие программы также произошли
из проектов Open Source. Среди них, например, драйверы для
10-гигабайтной сети или интерфейсов USB 3.0.
Системное ПО. Таким устройствам, как DVD-плееры и
мультимедийные жесткие диски, для воспроизведения фильмов тоже
требуется операционная система. В подобных случаях изготовители часто
обращаются к Open Source.
Антивирусная программа. Сообщество открытого ПО создает и
сопровождает даже антивирусные программы, например так называемый
ClamWin. Однако они пока мало распространены.
Мобильные приложения. Программисты разрабатывают открытое
ПО и для смартфонов – правда, усилия сосредоточены лишь на платформе
Android. В настоящее время для этой операционной системы от Google
существует 744 приложения с открытым исходным кодом.
Фильмы. Есть и такие, пусть их всего восемь. Среди них
дорожный боевик Route 66 и мультик Big Buck Bunny. Последний сделан
с использованием свободного ПО и распространяется по лицензии Creative
Commons.
10 самых известных программ Open Source
- Интернет-браузер Firefox от Mozilla Foundation
- Музыкальный и видеопроигрыватель VLC Player от VideoLAN
- Почтовая программа Thunderbird от Mozilla Foundation
- Пакет программ для офиса Open Office от Apache Software Foundation (раньше этим пакетом занималась Oracle).
- Программа-архиватор 7-Zip Игоря Викторовича Павлова
- Операционная система Android от Google для смартфонов и планшетных компьютеров
- Программа обработки изображений Gimp Свена Ноймана (Sven Neumann)
- Система управления базами данных My SQL от Oracle
- Операционная система Linux-Ubuntu от Ubuntu Foundation
- Программа конструирования сайтов Joomla от Joomla Core Team
Преимущества Open Source
Бесплатно. Почти все Open-Source-программы доступны для
бесплатной загрузки; цена платной версии, согласно общепринятому
требованию OSI, не должна превышать расходов на изготовление, упаковку и
пересылку DVD. Впрочем, точных инструкций насчет величины этих
расходов не существует.
Быстро. В зависимости от размера проекта, число
разработчиков ПО может сильно варьироваться. Небольшую программу,
например Calibre, создают всего восемь человек, а в огромном проекте
Open Office принимают участие более 100 тысяч программистов со всего
земного шара. Они общаются по электронной почте или через собственные
интернет-страницы и создают программы подчас даже быстрее коммерческих
изготовителей – ведь далеко не каждая фирма в состоянии из месяца в
месяц оплачивать работу многих тысяч программистов.
Устранение ошибок. Программисты, занятые в Open Source,
как правило, довольно быстро обнаруживают и устраняют недостатки и
«дыры» в безопасности популярного ПО. Поэтому многие программы с
открытым исходным кодом работают стабильнее коммерческих.
Недостатки Open Source
Многообразие версий. В то время как одна группа
разработчиков оснащает следующую версию программы новыми функциями,
другая уделяет больше внимания устранению ошибок. В результате может
получиться несколько отдельных программ. А в сентябре 2010 года
конфликты между программистами и Oracle привели к появлению независимого
ответвления от Open Office – Libre Office.
Устаревшие программы. Если над проектом работают лишь
несколько разработчиков, нередко страдает качество сопровождения
программы: ошибки не устраняются, улучшения отсутствуют. И когда,
например, Microsoft создает новую операционную систему, приходится
довольно долго ждать ее работоспособной версии.
Плохая совместимость с популярным коммерческим ПО. Файлы Word и Excel
можно открывать и редактировать в офисном пакете Open Office. Но если
созданные в Excel таблицы содержат сложные формулы, Open Office иногда
отказывается с ними работать.
Отсутствие специального ПО. Программы с открытым исходным
кодом встречаются в большинстве категорий ПО. Однако, например, все еще
отсутствуют профессиональные программы для ведения отчетности и
бухгалтерии. Это одна из причин того, что фирмы, даже переходя на Open
Source ПО, оснащают им, как правило, не все свои компьютеры.
Аппаратура. При переходе, например, с операционной
системы Windows на Linux может оказаться, что работать будет не все
оборудование вашего ПК, поскольку Linux-драйверы имеются не для всех
принтеров, сканеров и звуковых плат.
Разработчики Open Source
Программисты-фрилансеры. Большинство программистов
занимаются Open Source в виде хобби. При этом увлечение организовано
вполне профессионально: каждый проект имеет руководителя, который вместе
с программистами решает вопросы дальнейшего развития и выдает задания
на разрабатываемые компоненты программы.
Готовый программный модуль загружается автором на сервер. Там, в
зависимости от вида и объема, он подвергается различным тестам и лишь
после этого вставляется в головную программу. Затем из новой головной
программы руководитель проекта создает версию Stable Release. Эту
«стабильную версию» еще раз проверяют на ошибки все участники проекта и
при необходимости устраняют недостатки. В результате появляется
Experimental Release (тестовая версия). Как правило, в ней тоже
находятся ошибки. После их исправления руководитель проекта выпускает
финальную версию.
Бизнес. Хобби – это прекрасно, однако проектами Open
Source всерьез занимается и бизнес. Самый известный пример – Google.
Поисковый гигант разработал для смартфонов ОС Android на базе Linux и
опубликовал ее исходный код. А, например, фирма Open Suse бесплатно
предлагает клиентам одноименную операционную систему, но требует денег
за техническую поддержку. Например, в процессе перевода компьютеров на
другую ОС, специалисты Open Suse настраивают локальную сеть,
устанавливает ОС на рабочих компьютерах, при необходимости адаптирует
программы и затем берет на себя техническое обслуживание ПК. В свою
очередь Intel выделяет специалистов для создания Linux-драйверов к чипам
сетевых устройств. Среди них Алан Кокс (Alan Cox), принадлежащий к
числу самых известных Linux-разработчиков. Еще теснее связана с Open
Source-проектами фирма AMD: один из крупнейших изготовителей процессоров
принимает участие в разработке драйверов, чтобы выпускаемые AMD
чипсеты, сетевые платы и процессоры могли работать и под Linux.
Многие Open-Source-программисты стали очень известными людьми. Среди
наиболее знаменитых – основатели Open Source Initiative (OSI)
и разработчик Linux.
- Эрик Рэймонд, один из основателей OSI, разработал нормативный документ The Cathedral & The Bazaar для Open-Source-сообщества.
- Брюс Перенс также является одним из создателей OSI. Руководил проектом по разработке операционной системы Linux-Debian.
- Издатель Тим О’Релли – третий из команды отцов-основателей OSl. Написал много книг для программистов и создал первый веб-портал.
- Финн Линус Торвальдс в 1991 году разработал операционную систему Linux, базирующуюся на Unix. Он и сегодня руководит этим проектом.
- Ричард Столлман – хакер, программист и борец за свободное ПО. Разработал General Public License
Выгода от Open Source
У изготовителей оборудования расчет простой: чем больше операционных систем поддерживают их изделия, тем выше продажи.
Фирмы, применяющие ПО с открытым исходным кодом, экономят на
регулярных закупках дорогих программных лицензий. В их числе фирмы
Daimler, IKEA, LVMH и Sony. Государство также обращается к Open Source:
с 2008 года в российских школах проводится эксперимент по внедрению
систем на базе Linux и обучению учеников работе в этой ОС.
Согласно исследованию Европейской комиссии, общая стоимость открытого
ПО, используемого бизнесом, – 12 млрд евро. А трудозатраты на
разработку всех существующих программ с открытым исходным кодом
составили уже 131 тыс. рабочих лет.
Использование ПО с открытым исходным кодом
По данным Open Source Barometer, наибольшее распространение Open Source
получил в США – здесь на каждом пятом компьютере установлены программы
с открытым исходным кодом. Вот как выглядит список наиболее
продвинутых в этом отношении стран.
Мотивация программистов
Программисты ищут прежде всего признания у коллег. Успешное завершение
проекта или обнаружение критической ошибки улучшают репутацию и, как
правило, способствуют профессиональной карьере.
Впрочем, есть программисты, которым просто потребовалась некая
программа и пришлось ее создать. Так, известный программист Ричард
Столлман решил улучшить драйвер принтера. А поскольку исходный код
отсутствовал, Столлман, недолго думая, написал новый для всех
доступных управляющих программ.
Правила Open Source
Программы Open Source принципиально имеют открытый исходный код и
руководствуются Универсальной общественной лицензией (General Public
License, GPL), разработанной Ричардом Столлманом (см. врезку на стр.
60). В соответствии с ней пользователи и программисты имеют следующие
права и обязанности.
Исходный код. Пользователи, изменившие исходный код, обязаны бесплатно предоставить Сообществу первоначальный и измененный исходные коды.
Использование. Пользователи имеют право бесплатного применения открытого ПО как в личных, так и в коммерческих целях.
Передача третьим лицам. Пользователи и программисты в любой момент могут копировать и передавать соответствующее ПО третьим лицам.
Обучение. Пользователи имеют право изучать работу открытых программ с помощью их исходного кода.
Изменение. Пользователи имеют право на изменение программы в соответствии со своими потребностями.
Лицензия. Пользователь обязан выдать GPL-лицензию на новую созданную версию программы, если старая версия имела такую лицензию.
Технология разработки открытого ПО
Для разработки программ с открытым исходным кодом необходимо, как ни
странно, уметь программировать. И если требуется внести изменения в
существующую программу, программисту, безусловно, нужен соответствующий
исходный код. Как правило, разработчики выкладывают его для загрузки на
своих веб-страницах. При работе с исходным кодом программисты обязаны
соблюдать GPL-лицензию, под действие которой подпадает большинство
программ с открытым исходным кодом (см. врезку «Правила Open Source»).
Кроме того, программисту требуется ПО для изменения существующих и
разработки новых программ. Это может быть как, например, бесплатная
Eclipse, так и Visual Studio 2010 за 12 тыс. руб. Чтобы завершить
работу, нужен так называемый компилятор, «переводящий» программу для
соответствующей операционной системы. Среды разработки Eclipse и Visual
Studio предлагают собственные компиляторы. Программисты, работающие с
ПО без компилятора, могут использовать бесплатный Cygwin.
Статья опубликована в журнале ComputerBild №15/2011 (стр. 58)