Как развивается движение открытого кода

Термин «открытое ПО» часто упоминается в связи с понятием «свободное программное обеспечение». Одни полагают, что эти термины практически синонимы. Другие – что между ними лежит пропасть. Фото: pexels.com (CC0).
Термин «открытое ПО» часто упоминается в связи с понятием «свободное программное обеспечение». Одни полагают, что эти термины практически синонимы. Другие – что между ними лежит пропасть. Фото: pexels.com (CC0).

Без открытого программного обеспечения (ОПО) или программного обеспечения с открытым исходным кодом весь мир был бы иным. На нем создавался, например, Интернет. Работу Всемирной сети и сейчас в основном обеспечивают решения с открытым кодом: серверное приложение Apache Web Server, MySQL для баз данных, язык PHP и жемчужина короны – операционная система Linux. ОПО – это браузер Mozilla Firefox, графический редактор GIMP, OpenOffice, аналог Microsoft Office, операционная система Ubuntu, системы управления контентом Joomla, Magento или Drupal, архиватор 7-Zip, FTP-клиент FileZilla и тысячи других.

Для того чтобы ПО считалось открытым, его лицензия должна отвечать ряду требований. Наиболее общепризнанными считаются 10 критериев организации Open Source Initiative.

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

Кроме того, лицензия должна быть нейтральной: не содержать элементов дискриминации, не быть привязанной к определенному продукту или технологии.

Термин «открытое ПО» часто упоминается в связи с понятием «свободное программное обеспечение». Одни полагают, что эти термины практически синонимы. Другие – что между ними лежит пропасть.

Принципы свободного ПО гласят, что оно должно гарантировать четыре свободы пользователей:

  1. свободу любого использования;
  2. свободу изучения, адаптации и модификации;
  3. свободу копировать и распространять программу;
  4. свободу менять, улучшать и распространять свои изменения.

Любопытно, что, вопреки обывательскому мнению, ни то, ни другое понятие не подразумевают бесплатность. И свободное, и открытое ПО часто распространяются безвозмездно, но иногда его монетизируют, и это не противоречит правилам.

Например, поставщик может предлагать бесплатную базовую и более расширенную платную версию разработки или просить пользователя внести сумму на свое усмотрение. Для бесплатного ПО существует свой ярлык – freeware. Исходный код таких продуктов может быть и закрытым, и открытым.

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

Исходный код этих программ, приложений или систем полностью закрыт, а лицензия крайне ограничивает их распространение и использование. Microsoft Office, Windows, программы Adobe (Photoshop, InDesign) – все это проприетарное ПО.

История

Компьютерная наука зарождалась на основе открытого и беспрепятственного обмена информацией. Ее пионеры, первые компьютерные хакеры в Массачусетском технологическом университете, работали на махинах IBM или самодельных вычислительных машинах в атмосфере свободной циркуляции идей и коллективного производства. Доступ к имеющимся программам можно было получить, открыв, например, научный журнал.

С началом массового распространения компьютерных технологий на первый план стали выдвигаться коммерческие интересы. В 1976 году Билл Гейтс выступил со знаменитым «Открытым письмом любителям», в котором выразил крайнее возмущение тем, как они занимаются «пиратством» и нарушают авторские права поставщиков ПО. Компании начали все чаще прятать исходный код своих продуктов. К середине 1980-х годов большая часть выпускаемого программного обеспечения стала проприетарной.

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

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

Наиболее распространенная из них – GNU General Public License. Проект Столлмана занимался разработкой бесплатных программных аналогов основного проприетарного софта, необходимого для работы компьютера. Его главная разработка – операционная система GNU/Linux. Ее ядро Linux разработал программист Линус Торвальдс.

В 1997 году программист Эрик Реймонд опубликовал статью «Собор и базар». В ней он обсуждал технические и производственные достоинства открытой модели разработки программного продукта, которую назвал «базарной моделью».

Его эссе стало новой отправной точкой во всей этой истории. Компания Netscape под впечатлением от аргументов Реймонда опубликовала код своего продукта Navigator. Сейчас он составляет основу браузеров Mozilla Firefox.

До этого события крупные поставщики ПО мало интересовались идеями открытого исходного кода. Более того, считали его враждебным трендом, подрывающим индустрию. Как полагали многие, причины крылись в двойственности английского понятия free software – «свободное программное обеспечение», поскольку слово «free» часто обозначает «бесплатное». А вариант безвозмездно распространять свой продукт эти компании не интересовал.

В 1998 году термину был устроен ребрендинг. Тогда ряд активистов решили отойти от взглядов Столлмана и других, отстаивавших право юзера делать с ПО все, что душе угодно.

Они предложили альтернативный и более прагматичный подход. Было «выковано» новое понятие – «открытое программное обеспечение» без идеологической составляющей. Его автором является Брюс Перенс.

Для продвижения новой концепции была основана организация Open Source Initiative. Она должна была стать инструментом маркетинга для бывшего свободного, а ныне открытого программного обеспечения и подавать его исключительно с точки зрения практической пользы.

Столлман и ряд его единомышленников новый термин так и не приняли, посчитав, что он предает принципы свободы технологий. В новом определении упор был сделан на технические достоинства и экономическую выгоду, которую несла открытая и децентрализованная модель разработки.

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

Движение открытого программного обеспечения сегодня

Боб Янг, глава компании Red Hat, одного из крупнейших производителей открытого ПО, еще в 1999 году заявил: «Революция закончилась, революционеры победили». Об окончательном торжестве ОПО вновь заговорили в прошлом году, когда компания Microsoft, в 2001 году называвшая движение открытого кода «раковым заболеванием», получила платиновое членство в Linux Foundation. Кстати, в 2017 году компания стала официальным спонсором Open Source Initiative.

За 20 лет ОПО превратилось из экзотического фрукта в мейнстрим и стандарт. Если в 1998 году ОПО использовало лишь около 10 процентов IT-компаний, то, согласно опросу Future of Open Source в 2015 году, 78 процентов респондентов использовали его в работе, а две трети – создавали решения для своих клиентов на базе ОПО. Более того, число компаний, участвующих в разработке опенсорсных проектов, достигло 64 процентов.

К достоинствам ОПО относят, в частности, его более низкую, чем проприетарные аналоги, стоимость. По оценкам, ОПО позволяет бизнесам экономить около 60 миллиардов долларов в год.

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

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

Огромное количество проектов с открытым исходным кодом начинает и продолжает жизнь на веб-сервисе GitHub, бесплатно обслуживающем подобные инициативы. Там размещают свои репозитории буквально все, кто так или иначе поддерживает ПО с открытым кодом, от Facebook и Google до правительственных ведомств США.

В 2016 году специально для последних Белый дом разработал правила перехода на открытый метод разработки. Согласно им весь код, написанный для одного федерального агентства, должен быть доступен другим федеральным агентствам. Более того, 20 процентов этого кода должно помещаться во всеобщий доступ. Правда, пока эта часть проекта работает в пилотном режиме.

В последнее время наиболее горячая тема в сфере открытого исходного кода – комплекс программ OpenStack для облачных хранилищ и сервисов. Сейчас его поддерживают около 500 компаний. Согласно опросу SUSE 81 процент разработчиков используют или планируют начать использовать OpenStack.

Открытый исходный код как философия

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

Так, к наработкам движения открытого кода можно отнести, например, Википедию или лицензии Creative Commons, на создание которых авторов вдохновили идеи GNU Project. Проект «Гутенберг» или Open Textbook Library, публикующий учебники с открытой лицензией, – примеры открытого кода в образовании.

OpenTripPlanner позволяет планировать маршруты. Решения на его основе сейчас тестируются в Хельсинки, Валенсии, Нью-Йорке, Познани. Arduino выпускает электронику, в том числе танцующий робот-чайник с открытым исходным кодом. Openmoko – проект для опенсорсных мобильных телефонов.

В 2017 году IKEA объявила о выпуске дивана с открытым исходным кодом. Третьи стороны получат возможность улучшать и дорабатывать его. Есть даже опенсорсная кола и свободное пиво, чьи рецепты опубликованы под лицензией GNU.

Решения с открытым исходным кодом можно найти повсюду: в медицине, например, OpenEMR для управления медицинскими историями и каталогами, робототехнике и другом проектировании физических объектов. В индустрии это направление называется открытым проектированием.

Автор Guardian и социальный предприниматель Джефф Кокс считает, что идеи ОПО способны вдохновить на новый стиль ведения бизнеса и продвинуть социальное предпринимательство. Он выделяет три универсальные характеристики движения открытого кода:

  1. открытый обмен идеями и знаниями. Такой подход, как считает Кокс, способен ускорить инновации в любой сфере;
  2. удовлетворение от сотрудничества. Открытый исходный код мотивирует тысячи талантливых людей вместе заниматься усовершенствованием. Таким образом, ОПО «возрождает силу коллектива и взаимопомощи»;
  3. ОПО – живое доказательство существования успешных бизнес-моделей, которые приводят к созданию бесплатного или доступного продукта или услуги. Как пишет Кокс, в них стандартные «основанные на поиске выгоды и эксплуатации» пары «производитель – потребитель» заменяются на «сотрудничающие сообщества».

Идеи открытого исходного кода отлично суммирует OpenSource.com, называя их системой взглядов на жизнь:

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