Почему важно программное обеспечение с открытым исходным кодом: от Linux до Apache

5

Большинство программ, которые вы устанавливаете, не поставляются с исходным кодом. Они поставляются в виде скомпилированных, готовых к запуску бинарных файлов. Вы нажимаете кнопку, и программа работает. Но вы не можете заглянуть внутрь, чтобы увидеть, как разработчик её создал. Коммерческим производителям такое положение дел нравится. Оно мешает конкурентам красть их код и гарантирует, что они контролируют качество.

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

Определение открытого исходного кода: правила игры

Чтобы считаться программным обеспечением с открытым исходным кодом в индустрии, проект должен пройти определенные проверки. Недостаточно просто заявить, что вы «открыты». Критерии строгие.

Во-первых, программа должна быть свободно распространяемой. Это не означает, что она должна стоить ноль долларов. Вы можете включить её в платный пакет. Red Hat делает это с Linux. Ключевой момент заключается в том, что само программное обеспечение не заблокировано за платным доступом к коду.

Во-вторых, исходный код должен быть включен. Без него вы просто смотрите в «черный ящик».

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

В-четвертых, измененные версии должны быть перераспределяемыми. Если вы исправили ошибку, вы должны иметь возможность поделиться своим исправлением.

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

Реальный пример: рождение Linux

В 1991 году Линус Торвальдс, студент Хельсинкского университета, начал создавать новую операционную систему. Он основал её на Minix, который, в свою очередь, был производной от Unix. Он назвал её Linux.

Торвальдс выпустил версию 0.02 под лицензией GNU General Public License (GPL). Эта лицензия обеспечила правовую основу для движения программного обеспечения с открытым исходным кодом. Люди по всему миру скачали её. Многие из них сами были программистами. Они не просто использовали код; они его изменяли.

В течение трех лет Торвальдс собирал эти модификации от других разработчиков. Он включал лучшие изменения в базовую версию. В 1994 году он выпустил Linux версии 1.0.

Эта модель сотрудничества доказала, что разработка, движимая сообществом, может работать. Это был не просто проект любителей. Это стала надежная, масштабируемая операционная система.

Парадокс поддержки: бесплатное программное обеспечение, платная помощь

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

Именно здесь на сцену вышла Red Hat Software. Основанная в 1994 году, Red Hat создала «Официальный Red Hat Linux». Они взяли бесплатное программное обеспечение и добавили ему ценности. Их основным продуктом был не сам код. Это была гарантия и техническая поддержка.

Для бизнеса эта поддержка стала решающим фактором. Они предпочли купить Red Hat Linux, а не скачать его бесплатно. Уверенность в том, что есть к кому обратиться, когда что-то пойдет не так, оправдывала затраты.

Несколько других компаний последовали этой модели. Они упаковывали Linux с дополнительным программным обеспечением для перепродажи. Основная идея оставалась той же самой: обеспечивать стабильность и поддержку для программного обеспечения с открытым исходным кодом.

Помимо Linux: популярные инструменты с открытым исходным кодом

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

Mozilla обеспечивает основу для браузера Netscape. Его открытая природа позволила получить огромный вклад от сообщества.

Apache обеспечивает работу значительной части веб-серверов. Его гибкость и надежность сделали его стандартом для веб-хостинга.

PERL — популярный язык веб-скриптования. Он помог сформировать раннюю веб-разработку.

PNG — формат графических файлов. Благодаря открытым стандартам он предлагает лучшее сжатие и качество по сравнению со старыми форматами.

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

«Разработчики программного обеспечения, поддерживающие концепцию открытого исходного кода, считают, что предоставление возможности любому заинтересованному лицу изменять исходный код делает приложение более полезным и менее подверженным ошибкам в долгосрочной перспективе».

Вклад и понимание лицензий

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

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

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

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