Эта статья была написана Саидом Ахмадом и Амандой Фосетт как часть приверженности Educative доступному программному обеспечению и демократизированному техническому образованию.
Программное обеспечение с открытым исходным кодом — это класс компьютерного программного обеспечения, исходный код которого выпущен по лицензии, которая позволяет пользователям использовать, изменять, распространять и вносить свой вклад бесплатно. Обычно программное обеспечение с открытым исходным кодом разрабатывается совместно, поэтому любой, кто хочет внести свой вклад, может сделать это, отправив заявку или предложив изменения.
Программное обеспечение с открытым исходным кодом является важной частью мира технологий. Если вы новичок в компьютерном программировании или хотите начать работу с открытым исходным кодом, вы попали в нужное место. Сегодня мы проведем вас через вводное руководство по открытому исходному коду и покажем, как принять участие.
Мы обсудим:
- Что такое программное обеспечение с открытым исходным кодом?
- Почему открытый исходный код важен?
- Почему вы должны вносить свой вклад?
- Ключевые термины, которые необходимо знать.
- С чего начать?
- Изучите Git и контроль версий.
- Что такое программное обеспечение с открытым исходным кодом?
- Популярные лицензии на программное обеспечение с открытым исходным кодом и технологии
- Почему так важен открытый исходный код?
- Почему следует вы вносите свой вклад в открытый исходный код?
- Получите реальный опыт
- Заработайте признание
- Повышение квалификации
- Поддержите сообщество
- Продолжайте обучение.
- Ключевые термины с открытым исходным кодом, которые необходимо знать
- С чего начать?
- Шаг 1. Соберите свои идеи и навыки
- Шаг 2. Ознакомьтесь с GitHub и Git
- Шаг 3. Присоединяйтесь к сообществу что вам подходит
- Шаг 4: наставляйте других
- Известные соревнования по открытому исходному коду:
- Подведение итогов
- Продолжайте изучать технологии с открытым исходным кодом
Изучите Git и контроль версий.
Узнайте, как настроить Git для проектов, и охватите сложные темы, такие как коммиты, ветки, слияние и перемещение Git.
Руководство по Git и контролю версий

Что такое программное обеспечение с открытым исходным кодом?
Термин «открытый исходный код» был введен Инициативой открытого исходного кода в 1990-х годах. Программное обеспечение с открытым исходным кодом относится к общедоступному исходному коду, к которому пользователи могут получить доступ или изменить бесплатно, внося рецензируемые предложения или исправления.
Программное обеспечение с открытым исходным кодом, такое как фреймворки и библиотеки, также можно повторно использовать в других программах , и большинство языков программирования имеют открытый исходный код. Это прямо контрастирует с приватизированным программным обеспечением или программным обеспечением с закрытым исходным кодом, где исходный код принадлежит и управляется исключительно организацией.
Авторы закрытого программного обеспечения решают, является ли программа открытым или нет. В случае с закрытым исходным кодом пользователю должно быть разрешено с правами частной лицензии изменять исходный код. Adobe Photoshop или Google Cloud, например, не предлагают сторонним разработчикам разрешение на использование или изменение этого кода.
Открытый исходный код, с другой стороны, делает исходный код общедоступным, и его можно изменить, как только пользователь примет условия лицензии.
Важно отметить, что существует разница между программным обеспечением с открытым исходным кодом и программным обеспечением с бесплатным исходным кодом. Программное обеспечение с открытым исходным кодом уделяет гораздо больше внимания безопасности и лицензированию.. Программное обеспечение с бесплатным исходным кодом считается открытым, но программное обеспечение с открытым исходным кодом не обязательно является бесплатным. Некоторые программисты взимают деньги за программное обеспечение или поддержку программного обеспечения (например, установку, устранение неполадок).
Совет от профессионалов: Вы не уверены, есть ли что-то с открытым исходным кодом? Вы можете легко проверить его API на api.opensource.org
Популярные лицензии на программное обеспечение с открытым исходным кодом и технологии
-
Стандартная общественная лицензия GNU: любой исходный код, написанный под этой лицензией, должен быть выпущен как открытый исходный код.
-
Лицензия Apache 2.0: если вы выдаете лицензию Apache, вы можете запускать, изменять и обмениваться программным кодом бесплатно, если это соответствует правилам лицензирования Apache.
-
Лицензия MIT: Лицензия MIT не имеет ограничений, и ее можно повторно лицензировать по другим лицензиям.
-
Язык программирования Swift: Apple создала эту замену Objective C и выпустила ее как технологию с открытым исходным кодом.
-
Kubernetes: Эта технология DevOps популяризировала использование оркестровки контейнеров с использованием принципов открытого исходного кода.
-
Flutter: открытый исходный код Google, поэтому Решение для создания собственных пользовательских интерфейсов упростило разработчикам во всем мире создание потрясающих приложений.
-
TensorFlow: Этот сквозной -end платформа с открытым исходным кодом теперь является неотъемлемой частью инструментария машинного обучения. Это была работа сообщества, которая сделала это программное обеспечение полезным.
-
Linux: Эта платформа с открытым исходным кодом — это то, что дало нам глобальный поиск в Интернете и доступ к технологиям ОС.
-
Android: Эта операционная система популярна благодаря своей природе с открытым исходным кодом, открытие доступа к сервисам Google.
Почему так важен открытый исходный код?
Программное обеспечение с открытым исходным кодом очень важно в истории разработки программного обеспечения. Без программного обеспечения с открытым исходным кодом нас не было бы там, где мы находимся сегодня. Фактически, этот термин был придуман специально для разработки программного обеспечения. Открытый исходный код — это набор ценностей, которые прославляют открытый обмен и участие.
Эти лицензии демократизируют мир программирования. Программное обеспечение с открытым исходным кодом создает прецедент, согласно которому прибыль и прибыль не являются основными целями программирования: всемирное сотрудничество и решение проблем.
Некоторые утверждают, что Интернет сегодня выглядел бы совсем иначе без программного обеспечения с открытым исходным кодом. . Первые разработчики Интернета использовали программное обеспечение с открытым исходным кодом (Linux и веб-сервер Apache), поэтому ценности совместно используемой информации были заложены в основу.
Это меняет наше отношение к технологиям, отдавая предпочтение человеческому взаимодействию и сотрудничество. Каждый раз, когда вы проверяете электронную почту, играете в многопользовательскую видеоигру или изучаете новый язык программирования, вы извлекаете выгоду из ценностей открытого исходного кода.
Открытый исходный код играет активную роль в решении человеческих проблем и улучшении мир, полагая, что это может произойти только тогда, когда у всех будет доступ к решению. Основной код нашего мира должен быть в руках каждого, кто хочет его улучшить.
Почему следует вы вносите свой вклад в открытый исходный код?
Итак, мы знаем, что такое открытый исходный код, и знаем, почему это важно. Как разработчик, читающий эту статью, вы, возможно, задаетесь вопросом: «Но почему я должен вносить свой вклад?» Давайте рассмотрим некоторые из важных причин:
Получите реальный опыт
Если вы начинающий программист и хотите получить руки — имея опыт работы с жизненным циклом разработки программного обеспечения, вы можете сделать это, внося свой вклад в проекты с открытым исходным кодом. Эти проекты поддерживаются таким же образом (а иногда даже лучше), чем проекты с закрытым исходным кодом, потому что очень много людей активно вносят свой вклад. Вы узнаете все о потоке Git, отслеживании проблем, проверке кода и жизненном цикле разработки программного обеспечения (SDLC).
Заработайте признание
Работа с открытым исходным кодом помогает вам представить себя экспертом в своей области даже без профессионального опыта. Многие разработчики включают в свои резюме статьи с открытым исходным кодом. Есть даже много организаций, которые будут вам платить. Технологические компании больше заинтересованы в найме людей, которые знакомы с их кодовой базой и рабочим процессом, поэтому вы можете выделиться как кандидат, внося свой вклад в их проекты.
Повышение квалификации
Работа с открытым исходным кодом делает вас более технически грамотным и опытным. Когда вы что-то разрабатываете, вы обычно думаете только об ограниченном круге пользователей, но если вы разрабатываете программное обеспечение с открытым исходным кодом, вы знаете, что его будут использовать тысячи людей. Это означает, что вы больше внимательны к деталям. Кроме того, существует процесс коллегиального обзора, чтобы отсеять плохие практики, что поможет вам стать лучшим программистом.
Поддержите сообщество
Вы получаете выгоду от открытого исходного кода, знаете вы об этом или нет. Внося свой вклад, вы можете вернуть то, чему вы научились, сообществу. Разработчики, которые вносят свой вклад в открытый исходный код, являются причиной того, что у нас есть такие технологии, которые есть у нас сегодня. Обычно у групп с открытым исходным кодом есть местные сообщества, которые организуют мероприятия, поэтому у вас даже есть возможность пообщаться с местными техническими кругами.
Продолжайте обучение.
В этом курсе вы узнаете основы управления версиями, как Git может быть полезен для ваших проектов, а также как GitHub может служить платформой для разработки программного обеспечения. К концу у вас будет отличный новый навык, который вы будете использовать на протяжении всей своей карьеры.
Руководство по Git и контролю версий
Ключевые термины с открытым исходным кодом, которые необходимо знать
Есть некоторые общие термины, используемые в мире с открытым исходным кодом, которые вам нужны для успеха. Давайте посмотрим, как быстро разобраться.
- Сопровождающие: это инженеры, которые создают проекты с открытым исходным кодом и управляют ими.
- Репозиторий: где хранится кодовая база. Здесь вы найдете историю и прогресс данного проекта, хранящиеся в файлах.
- Проблема: усовершенствование или исправленная ошибка в исходном коде. Авторы работают над решением проблем.
- Fork: создает копию репозитория под вашим именем пользователя. Это используется для внесения изменений в код, когда вы работаете над проблемой.
- Commit: сохраненная версия кода, организованная по сообщениям фиксации. Вот как мы отслеживаем изменения, внесенные в код, и узнаем, какая версия самая последняя.
- Запрос на вытягивание (PR): отправка ваших изменений в разветвленный репозиторий к оригиналу. Это предпочтительный способ внести вклад после того, как они будут рассмотрены и объединены.
- Merge: импортирует предлагаемые PR в исходный репозиторий с открытым исходным кодом. Это делает сопровождающий.
- Git: система контроля версий, в которой мы можем сохранять версии кода. Думайте об этом как о хранилище или банке.
- GitHub: самый популярный сайт для размещения репозиториев Git.

С чего начать?
Шаг 1. Соберите свои идеи и навыки
Прежде чем начать, спросите себя, над каким проектом вы хотите работать. Начните с хорошо знакомых вам языков программирования. Какие фреймворки вам больше всего нравятся? С какими проблемами вы столкнулись при их использовании?
После того, как вы укажете язык, над которым хотите работать, вы должны сузить проект. GitHub организует проекты в витрины, где вы можете просматривать темы. Оттуда проанализируйте объем этого проекта. Если вы новичок, не стоит бросаться в крупные программные проекты.. Некоторые проекты даже помечены как «только для новичков» или «простые».
Шаг 2. Ознакомьтесь с GitHub и Git
GitHub — самая популярная и широко используемая хостинговая платформа для проектов с открытым исходным кодом. Если у вас его еще нет, вам нужно будет создать учетную запись. Прочтите их руководство, чтобы познакомиться с платформой. Вам также необходимо познакомиться с Git. Основные навыки, которые вам необходимо освоить:
- Клонирование репозитория
- Отправка запросов на вытягивание (PR)
- Просмотр изменений
- Обсуждение изменений
- Назначение коммитов
Шаг 3. Присоединяйтесь к сообществу что вам подходит
Проекты с открытым исходным кодом приветствуются пришельцами. Как только вы найдете проект, который вам нравится, и изучите основы GitHub/Git, присоединитесь к сообществу, которое вам подходит, и начните вносить свой вклад. Самый простой способ присоединиться — подписаться на список рассылки проекта. Обычно они перечислены на страницах GitHub. После этого вы будете приняты в команду и сможете начать общаться с участниками.
Шаг 4: наставляйте других
Как только вы станете участником и опытный участник, пора отдать должное другим. Ключом к открытому исходному коду является сотрудничество, поэтому быть полезным и приветливым к новичкам — это часть вашей ответственности как участника. Отвечайте на вопросы, направляйте людей по проектам и свободно делитесь своими знаниями.
Примечание. Вы также можете создавать свои собственные проекты с нуля, если вы чувствуете, что существующие проекты не предлагают тех решений, которые вам нужны. Вам нужно будет создать первоначальный черновик проекта, который ответит на ряд основных вопросов.
Другой распространенный способ, которым люди начинают свои собственные проекты, — это разработка альтернатив коммерческому ПО с открытым исходным кодом. Вам не нужно изобретать велосипед, чтобы внести ценный вклад.

Известные соревнования по открытому исходному коду:
Многие разработчики начинают с открытого исходного кода через онлайн-соревнования по программированию. Эти соревнования по программированию обычно организуют известные технологические компании, так что вы получаете опыт и признание. Вот некоторые из примечательных конкурсов:
-
Hacktoberfest: Hacktoberfest — это онлайн-мероприятие, организованное Digital Ocean в октябре каждый год. Вам необходимо внести свой вклад в проекты с открытым исходным кодом как минимум с 4 объединенными PR. Если вы не знаете, как внести свой вклад в реальную кодовую базу, вы также можете внести свой вклад в улучшение их документации..
-
Google Summer of Code: Google Summer of Code (GSoC) — это международная ежегодная программа, в рамках которой Google присуждает стипендии студентам, успешно завершившим летом проект кодирования бесплатного программного обеспечения с открытым исходным кодом.
-
Призыв IBM к разработке кода: Call for Code Global Challenge — это шанс поработать над решением проблем с помощью кода и программных решений. Он также поддерживается благотворительным партнером Организации Объединенных Наций по правам человека. Вместе с Linux Foundation доступны и развертываются лучшие решения.
-
Microsoft Imagine Cup: Imagine Cup — это ежегодный конкурс, спонсируемый и проводимый Microsoft. Он объединяет студентов-разработчиков со всего мира, чтобы помочь решить некоторые из самых сложных мировых проблем.
-
Facebook Hacker Cup: Facebook Hacker Cup это ежегодный международный конкурс, который начался с того, чтобы выявить лучших инженерных талантов для работы в Facebook.
Подведение итогов
Открытый исходный код предлагает множество возможностей. Независимо от того, являетесь ли вы начинающим программистом или опытным инженером-программистом, участие в разработке программного обеспечения с открытым исходным кодом поможет вам в дальнейшей карьере и личном развитии.
Если вы не знаете, с чего начать, и хотите получить формальное обучение работе с Git и GitHub , ознакомьтесь с учебным курсом Руководство по Git и контролю версий . Вы узнаете основы управления версиями, как Git может быть полезен для ваших проектов, а также как GitHub может служить платформой для разработки программного обеспечения.
К концу у вас будет отличный новый навык, который вы будете использовать на протяжении всей карьеры. Не бойтесь приступить к работе — открытый исходный код доступен всем, даже вам!
Удачного обучения!
Продолжайте изучать технологии с открытым исходным кодом
- Git и GitHub в двух словах: подробное руководство для начинающих
- Конкурентное программирование на C ++: онлайн-курс
- Сравнение самых популярных интерфейсов JavaScript-фреймворков