Open-source: зачем разработчики «дарят» код интернету

26 июня 2024
12 мин. 735
image
image
Елена Андреева редактор-копирайтер
Open-source: зачем разработчики «дарят» код интернету
Открытый исходный код — больше, чем просто программное обеспечение. Это объемный пласт IT-культуры и мощный инструмент, который меняет и влияет на окружающий нас рынок технологий. Так зачем разработчики отдают свои идеи в свободное цифровое пространство?

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

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

«Заходите, у нас открыто»: ликбез по публичным технологиям

Open-source — это тип программного обеспечения, исходный код которого доступен всем желающим.

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

Идея открытого кода уходит корнями в 1950-е годы, но настоящий расцвет этой концепции начался в 80-х благодаря Ричарду Столлману и его проекту GNU. Он заложил основы для Фонда свободного программного обеспечения (Free Software Foundation, FSF) — организации, защищающей права пользователей. Одним из ключевых достижений FSF стала лицензия GNU General Public License (GPL), гарантирующая, что ПО останется в свободном доступе для всех.
Кейсы! Кейсы! Кейсы!
Открытый исходный код лежит в основе многих известных проектов, таких как WordPress, Apache, Mozilla Firefox и даже ядро Android. А одну из самых известных операционных систем, Linux, до сих пор широко используют во всем мире в серверных и встроенных системах, что еще раз подчеркивает ценность открытого обмена знаниями.
Основная идея такого подхода — прозрачность и коллективное развитие. Когда код доступен для всех, то любой может внести свой вклад в его улучшение. Представьте, что с открытым кодом у ВКонтакте можно было бы вернуть стену!

В чем отличие свободного и проприетарного ПО

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

ПО с открытым исходным кодом, напротив, предоставляет доступ к своему исходному коду. Подобные проекты часто разрабатываются коллективно и поддерживаются сообществом, что позволяет просматривать, изменять и распространять программу в соответствии с условиями лицензии.
Важный момент!
Лицензии на open-source ПО могут варьироваться от менее строгих, разрешающих свободное использование и распространение, до более жестких — требующих открывать код при каких-либо изменениях. Из очевидных плюсов — это способствует инновациям и сотрудничеству в разработке, что обеспечивает прозрачность и открытость в процессе создания программных продуктов.
Таким образом, выбор между проприетарным и программным обеспечением с открытым исходным кодом зависит от конкретных потребностей и целей разработчика или пользователя, определяя уровень контроля, которые они предпочитают для своих проектов.

Выгода для разработчиков

Писать общедоступный код — это как участвовать в светских мероприятиях, стремясь соответствовать высшим стандартам IT-индустрии. Однако помимо обсуждения функционала с сообществом, open-source дает еще некоторые преимущества.

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

  • Обучение
Работа с публичным кодом помогает развиваться, изучая чужие проекты, обмениваясь знаниями и улучшая навыки. Что служит идеальной средой для профессионального роста и самообразования.

  • Безопасность
Интересно, что именно формат open-source считается более безопасным, поскольку можно быстрее находить уязвимости, а затем проверять и исправлять код.

  • Стабильность
Долгосрочные проекты — хороший фундамент под открытое ПО, так как их поддержка не зависит от оригинальных авторов. Что позволяет сообществу развивать необходимые инструменты и платформы.

  • Комьюнити
Многие разработчики замечают, что open-source площадки приносят особое удовлетворение от осознания полезности работы. Когда видишь рост числа скачиваний, получаешь отзывы и когда к проекту присоединяются люди из совершенно разных стран и компаний, делая его лучше вместе с тобой — все это превращает обычное программирование в значимый вклад в развитие IT во всем мире.

Оpen-source важен только
для программистов?

Если коротко, то нет. Технологии и философия открытого исходного кода приносят пользу не только программистам, но и всем пользователям.

Большая часть интернета была построена именно на базе открытых технологий: и каждый, кто заходит в пространство всемирной паутины, получает определенную выгоду. Когда вы гуглите, проверяете электронную почту, переписываетесь в соцсетях, смотрите видео или слушаете lo-fi музыку на YouTube — то ваши устройства подключаются к глобальной сети компьютеров. Они же используют программное обеспечение с публичным кодом для маршрутизации и передачи данных на локальные устройства, называемыми удаленными серверами.

Например, вы можете использовать онлайн-программы для обработки текста, управления почтой и редактирования изображений, которые запускаются на удаленных серверах и доступны через веб-браузеры или в мобильных приложениях.
Про связь космоса и open-source
Программа для обработки изображений GIMP (GNU Image Manipulation Program) является популярной альтернативой Adobe Photoshop. Проект был начат в 1995 году двумя студентами Калифорнийского университета в Беркли, Спенсером Кимбаллом и Питером Маттисом. GIMP используют не только любители и профессиональные дизайнеры, но и NASA — для обработки изображений, полученных с телескопов и космических аппаратов. Что в некоторой степени подчеркивает влияние и универсальность open-source.

Какие бывают open-source программы

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

  1. LibreOffice
Благодаря поддержке документов, электронных таблиц, баз данных, презентаций, диаграмм и математических формул это фактически бесплатная замена самого популярного в мире офисного пакета — Microsoft 365.
2. VLC Media Player
Приложение, разработанное группой энтузиастов в рамках проекта VideoLAN. Этот медиаплеер уже много лет пользуется огромной популярностью как минимум потому, что с его помощью можно воспроизводить аудио- и видеофайлы практически любых форматов.
3. Audacity
Бесплатный аудиоредактор, который работает в системах Windows, Mac и Linux и позволяет делать буквально все: от добавления звуковых эффектов до автоматической настройки треков.
4. Thunderbird
Почтовый клиент, разработанный Mozilla, помогающий более эффективно работать с электронной почтой.
И это лишь малая часть публичных ПО. Список можно дополнить:

  • KeePass — генератор паролей;
  • Shotcut — редактор видео;
  • Blender — программа для 3D-моделирования, рендеринга и анимации;
  • Brave — веб-браузер;
  • FileZilla — FTP-менеджер;
  • Internxt — облачное хранилище;
  • OpenBazaar — платформа для электронной коммерции.

«Свободное» не значит «Бесплатное»

Вернемся к Ричарду Столлману и Free Software Foundation. Философия его фонда строилась на четырех базисах:

  • Свобода 0 — Запускать программу для любых целей.

  • Свобода 1 — Изучать работу программы и адаптировать её под свои нужды, для чего необходим доступ к исходному коду.

  • Свобода 2 — Распространять копии программы, чтобы помочь другим.

  • Свобода 3 — Улучшать программу и публиковать свои улучшения, чтобы общество в целом извлекало из этого выгоду.

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

Ключевой момент тут: свободная программа не равно некоммерческая. И говоря о бесплатных технологиях, не зря в английском языке используется именно термины «open» и «source», а не «free».

Программисты могут взимать плату за разработку или вклад в программное обеспечение с открытым исходным кодом. Некоторые предпочитают оставлять само ПО бесплатным, но при этом зарабатывать на услугах поддержки: помогать пользователям устанавливать, использовать и решать возникающие с ним проблемы.
Любопытно!
Зачастую в компаниях ищут в штат или на проекты тех, кто умеет работать с open-source технологиями. Для разработчиков при найме это может стать еще одним преимуществом.

Коротко о правовых нюансах

Использование публичного кода требует от пользователей соблюдения условий, прописанных в специальных лицензиях. Этот подход способствует открытости проектов для всех участников IT-сообщества.

Лицензии бывают нескольких видов.

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

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

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

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

Как можно заметить, коммерческое использование open-source ПО допускается многими лицензиями, однако часто требуется открытие исходного кода при распространении в подобных целях. Это способствует справедливому использованию ресурсов сообщества и уважению к открытым стандартам.

Какой мы можем сделать вывод

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

Саммари

  • Открытый исходный код означает, что программное обеспечение распространяется вместе с исходниками.

  • «Свободное» ПО позволяет модифицировать и делиться программами, в то время как проприетарное — ограничивает эти возможности и контролируется владельцем.

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

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

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

  • Лицензии бывают: пермиссивными, копилефтовыми, свободными, проприетарными.

Расскажите
о вашем проекте