«Программы с открытыми исходниками – идея, время которой наконец-то пришло. Двадцать лет она выстраивала фундамент в среде технических специалистов, построивших Интернет и World Wide Web. Теперь эта идея прорывается в коммерческий мир, изменяя все правила. Готовы ли вы к этому?»
Свободное программное обеспечение продолжает завоёвывать Интернет, зачастую создавая конкуренцию коммерческим проектам. Все больше разработчиков и пользователей отдают предпочтение свободным программам, и причина такого решения кроется не только в бесплатном распространении, но и в свободе выбора, действий и возможностей. Что же, собственно, означает «свободное» ПО?
Под свободным программным обеспечением подразумеваются программы с открытыми исходниками, зачастую они распространяются бесплатно с одним только требованием соблюдать условия лицензии, предоставленной разработчиком. Возможно, на сегодняшний момент свободное ПО менее функционально и не может удовлетворить запросы профессионалов, однако среднестатистический пользователь сможет найти всё необходимое для работы на ПК. Кроме того, свободное ПО развивается намного быстрее и успешнее многих существующих коммерческих проектов, потому как здесь задействованы не столько финансовые интересы, сколько человеческий фактор.
Свободные программы также выступают в качестве опорных столбов для сети Интернет, поддерживая функционирование многих компьютерных узлов. Выходит, что каждый пользователь сети, так или иначе пользуется свободным ПО, возможно, не подозревая об этом. Через эти узлы передается информация, а открытые стандарты, в установлении которых весомую роль сыграло свободное ПО, обеспечивают целостность Сети.
Откуда же оно берется, свободное ПО? Ведь для разработки программ нужны люди, время и средства. Почему же тогда кто-то годами занимается разработкой программного обеспечения, а потом просто раздаёт его? Неужели в мире столько бескорыстных добровольцев, если судить по огромному выбору таких программ?
На самом деле, созданием свободного ПО занимаются целые сообщества профессиональных разработчиков и квалифицированных специалистов. А «кучки» бескорыстных любителей существовали ещё в 80-е годы прошлого столетия, с них то всё и началось. Со временем, к разработчикам присоединились и коммерческие компании (в их рядах и довольно крупные фирмы, например IBM), которые спонсировали создание бесплатных программ. Такое взаимовыгодное сотрудничество преобразовалось в целую отрасль, направленную на противостояние мегакорпорациям, стремящимся захватить мировой рынок ПО. Некоторые компании, такие как Red Hat, создавались с конкретной целью распространения свободных программ. И, несмотря на то, что эти компании – капли в океане, их количество постоянно растёт.
Помимо разработки свободного ПО, компании также делали ранее закрытые проекты общедоступными, преследуя цель – привлечь к разработке инициативных специалистов. Например, известный многим стандартный офисный пакет OpenOffice когда-то был закрытым продуктом StarOffice компании Sun. Благодаря усилиям разработчиков сообщества, сегодня свободная программа OpenOffice (после покупки компании Sun корпорацией Oracle переименован в LibreOffice), ничем не уступает знаменитому офисному пакету Microsoft, и даже в чем-то его превосходит. Естественно, свободная и многофункциональная офисная система, способная работать с ОС Windows, Linux и Mac OS X привлекает всё больше пользователей.
Таким образом, появление свободного ПО – это заслуга, в первую очередь, сообщества добровольцев из разработчиков и пользователей, заручившихся в последствии поддержкой коммерческих корпораций. В результате, мы имеем постоянно растущий и развивающийся рынок свободного программного обеспечения.
Кто же был инициатором столь успешного сообщества? Как и когда зародилась идея, и что выступило в роли ее технической платформы?
Припомним для начала 1980 годы. В это время только начинает зарождаться всемирная сеть Интернет, скорость соединения не превышает 28800 бит/с, и ещё нет привычных нам три W, которые появились лишь в начале 90-х. Распространены FTP-серверы для обмена файлами, электронная почта (вернее, её подобие) и новостные группы наподобие BBS. Несмотря на столь ограниченные возможности, даже в таком варианте Сеть способствовала развитию международного сообщества разработчиков и пользователей. Дело в том, что при создании какой-то программы, они советовались и обсуждали актуальные вопросы, организовывая целые телеконференции. Постепенно это привело к совместной работе над свободными проектами.
Безусловно, техника выступала лишь способом общения, а главную роль выполняли люди, которые стремились работать не только в коммерческих целях, но и на добровольных началах. Именно человеческий энтузиазм послужил основой создания свободного ПО. Хотя и без любителей разбогатеть за счёт совместной работы не обошлось… Линус Торвальдс, в противовес Биллу Гейтсу, оказался одним из первых энтузиастов, предложив один из самых популярных на сегодняшний день свободных продуктов – ОС Linux, а позднее создал Open Source Development Labs.
Пожалуй, самой важной характеристикой свободного ПО до сих пор остается её идейность. Для многих существование свободных программ остаётся символом взаимодействия и сотрудничества. С практической точки зрения, свободное ПО – не просто бесплатные программы, но и свободные, открытые в буквальном смысле слова. Останавливая свой выбор на свободных продуктах, пользователь выбирает именно то, что ему нужно, не руководствуясь рекомендацией, коммерческой рекламой и даже ценой. Всё это и есть свободное программное обеспечение.
Всем, кто более-менее знаком со свободным ПО, известно имя Ричард Столлман. Именно он ввёл понятие «free software» и его трактовку, стремясь перенести многовековые традиции научных сообществ в область программных разработок. Лишь в 1998 году появилась известная всем формулировка «open source» (открытые исходные тексты). По мнению многих, она намного ярче отражала суть свободного ПО, поэтому, наверное, и стала общепринятой. В этой трактовке свободное ПО преподносилось как высокоэффективный способ разработки программ.
Многие приходят к выводу, что Free Software – это непременно бесплатное ПО, а Open Source – не всегда. На самом деле, разница между понятиями действительно есть, но она имеет не коммерческий, а философский характер. Ричард Столлман вложил в своё определение принцип, идею разработки ПО, а в понятии Open Source отражена лишь эффективность такой разработки, результат.
Сегодня свободное ПО воспринимается как альтернатива коммерческого, и лишь немногие знают и поддерживают саму идею свободного ПО, изложенную Столлманом и положенную в основу его Фонда свободного программного обеспечения. Именно идея когда-то объединила разработчиков по всему миру, и сегодня продолжает выступать основным мотивом для создания свободного ПО.
В настоящие дни, открытые проекты зачастую становятся локомотивом проприетарного софта, всё больше разработчиков предпочитают разрабатывать свои проекты (в том числе закрытые) в открытых средах, на открытых языках программирования. Open source проекты современности, благодаря духу коллективной работы, находятся в постоянном развитии. Каждый разработчик привносит частичку себя и своей идеи проекту, делая его более совершенным, чего нет в большинстве компаний с закрытой системой разработки ПО. Большинство крупных Open Source компаний выстраивают свой бизнес на поддержке открытого продукта, каждый крупный клиент желает, чтобы установленное ПО максимально отвечало поставленным задачам и в случае возникновения проблем максимально быстро выпускались патчи с исправлениями. Всех этих условий трудно добиться с проприетарным программным обеспечением, а если клиент захочет полностью контролировать процессы, происходящие в его компьютере, то и вовсе невозможно. Некоторые компании-разработчики выпускают ряд бесплатных программ и утилит, привлекая крупных заказчиков к своему основному платному (и зачастую закрытому) ПО.
К тому же, для особо любознательных, Open Source даёт возможность увидеть то, что скрыто от пользователя в программах с закрытым кодом. Например, можно изменить существующую программу под свои специфические нужды и задачи, создать на основе её своё приложение или просто изучить работу кода и тем самым повысить квалификацию и объём знаний.