Объяснение программного обеспечения с открытым исходным кодом: почему исходный код важнее, чем кажется

11

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

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

Разница между скомпилированным кодом и исходным кодом

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

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

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

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

Что на самом деле определяет программное обеспечение с открытым исходным кодом?

Не каждая бесплатная программа является программным обеспечением с открытым исходным кодом. В отрасли существуют строгие критерии. Чтобы получить этот статус, программное обеспечение должно соответствовать конкретным юридическим и техническим стандартам.

  • Свободное распространение: Программное обеспечение можно свободно распространять. Оно даже может быть частью продаваемой упаковки.
  • Наличие исходного кода: Исходный код должен быть доступен.
  • Право на модификацию: Любой может изменять код.
  • Перераспределение измененных версий: Вы можете делиться своими доработками с другими.
  • Недискриминационная лицензия: Лицензия не может ограничивать использование с другим программным обеспечением или мешать работе других программ.

Эти правила гарантируют, что открытость — это не просто маркетинговый buzzword (модное словечко). Это enforceable (принудительно исполняемый) стандарт.

Linux: История успеха открытого исходного кода

Нагляднейшим примером этой модели в действии является Linux.

В 1991 году Линус Торвальдс, студент Хельсинкского университета, начал работу над новой операционной системой. Он основывал ее на Minix, производной от Unix. Он выпустил версию 0.02 под лицензией GNU General Public License. Эта лицензия предоставляет юридическую основу для программного обеспечения с открытым исходным кодом.

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

Это не было одиночным усилием. Это была модель распределенной разработки. Код улучшался, потому что тысячи глаз следили за ним.

Разрыв в поддержке и бизнес-модель

Здесь все становится сложнее для обычных пользователей.

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

Так кто же это чинит?

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

Они добавили гарантию. Они предоставили техническую поддержку.

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

За пределами Linux: Другие важные инструменты с открытым исходным кодом

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

  • Mozilla: Основной движок браузера Netscape.
  • Apache: Веб-сервер, обеспечивающий работу огромной части интернета.
  • PERL: Язык сценариев для веб-разработки.
  • PNG: Формат графических файлов, разработанный для сжатия без потерь.

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

Почему это важно для вас?

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

Когда вы используете устройство на базе Linux. Когда вы посещаете сайт, размещенный на Apache. Когда вы используете браузер, построенный на движке Gecko. Вы используете программное обеспечение, которое теоретически можете проверить. Вы используете программное обеспечение, которое не может быть заблокировано одной корпорацией.

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

Интернет работает на этих протоколах. Будущее программного обеспечения зависит от того, будем ли мы держать двери открытыми.