Понимание вкладов с открытым исходным кодом
11 мая 2022 г.Открытый исходный код — это код, который находится в свободном доступе для всех и обычно разрабатывается и поддерживается широкой публикой.
«Доступно для всех» означает, что зрителю нужно всего лишь создать учетную запись пользователя в VCS (система контроля версий) например, GitHub. Как только они это сделают, они смогут просматривать доступные проекты с открытым исходным кодом.
Противоположностью открытого исходного кода является частный код. Для доступа к приватному коду вам нужна не только учетная запись VCS, но и приглашение в этот приватный репозиторий (код хранится в репозиториях , один или несколько репозиториев составляют приложение).
Зрители могут не только просматривать код, но и вносить предлагаемые изменения, такие как функции или исправления ошибок, а также просматривать чужой код.
Сопровождающие проекта с открытым исходным кодом — администраторы одного или нескольких репозиториев — излагают рекомендации для участников кода о том, как писать, предлагать и проверять код. Сопровождающих почти всегда меньше, чем участников.
Опять же, приватный код полагается на частную группу для поддержки кода. Обычно эти частные группы состоят из сотрудников компаний, государственных учреждений или некоммерческих организаций.
Что делают специалисты по поддержке открытого исходного кода?
Специалисты по сопровождению открытого исходного кода несут ответственность за управление проектами с открытым исходным кодом.
Сюда входит организация работы участников, в том числе процессы рекомендации улучшений, добавления предлагаемого кода и утверждения изменений кода. Сопровождающие могут одобрять код (в GitHub, просматривая [запросы на включение] (https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with -pull-requests/about-pull-requests)), и участники тоже могут, в зависимости от правил проекта.
Но сопровождающие делают гораздо больше. Чтобы процитировать некоторых сопровождающих, которые говорили:
Быть мейнтейнером — это не только кодить, но и находить действительно хорошие проблемы, особенно для тех, кто впервые вносит вклад в репозиторий. Я стараюсь сесть и просмотреть код и посмотреть, смогу ли я найти хорошие первые проблемы на довольно регулярной основе, чтобы я мог помочь новым людям вовлечься в наш код.
Работа сопровождающего часто включает в себя обучение людей тому, как начать работу, или сопоставление их с проблемой.
Я много проверяю код как сопровождающий. Мне это очень нравится, потому что это помогает мне научиться лучше программировать и помогает мне лучше общаться.
Важно отметить, что быть мейнтейнером может больше касаться работы непосредственно с кодом:
Итак, для меня быть мейнтейнером с открытым исходным кодом очень мало связано с кодом и очень много с сообществом — созданием пространства, в котором люди чувствуют поощрение вносить свой вклад, особенно новые участники. Для меня очень важно снизить входной барьер и создать пространство, где сообщество может поддерживать друг друга, понимаете, как сопровождающий.
Какие есть примеры проектов с открытым исходным кодом?
Яркий пример открытого исходного кода взят из NASA.
Вот ссылка на открытый исходный код НАСА: https://github.com/nasa
НАСА опубликовало 413 проектов с открытым исходным кодом, некоторые из которых объединены для создания приложений.
Одним из приложений является Cumulus, которое используется для сбора информации об атмосфере Земли.
Совет для профессионалов: Невероятно, какой код доступен для изучения через Open Source. Иди посмотри!
Вы можете видеть, что Cumulus находится в активной разработке — изменения вносятся в течение нескольких минут после этого снимка экрана.
Оттуда вы можете покопаться и увидеть, что Cumulus имеет более 2800 завершенных или отклоненных изменений (закрытые запросы на слияние) и более 10 изменений, которые еще не были приняты (open Pull Requests).
Отсюда вы можете сразу приступить к проверке кода или решению проблем… но не стоит этого делать.
Всегда полезно сначала полностью ознакомиться с проектом и проявить уважение к тяжелой работе сопровождающих и участников, которые работали до вас.
Например, вы всегда должны читать рекомендации репозитория, такие как этот:
Насколько велик открытый исходный код?
Он огромен, и он растет с каждым днем.
По одной из оценок, существует 180 000 проектов с открытым исходным кодом.
Открытый исходный код включен во многие другие проекты. Одна недавняя оценка обнаружили, что 96% всех приложений содержат некоторый код с открытым исходным кодом.
оценка GitHub что 19 % добавленного кода было направлено на проекты с открытым исходным кодом:
Участники и сопровождающие с открытым исходным кодом могут быть представителями всех слоев общества и со всего мира. 80% участников с открытым исходным кодом в 2019 году поступили из-за пределов США.
Сотрудники RedHat/IBM, Google и Microsoft входят в число основных участников из частных компаний.
А как насчет фактического количества участников с открытым исходным кодом? Ответы разные, это не так просто сказать, как вы думаете. Исследование 2019 года приблизительно 7 миллионов разработчиков, которым не платят за их работу – не все из них работают над проектами с открытым исходным кодом, и многие разработчики которые получают компенсацию за кодирование, также работают над открытым исходным кодом. Так что давайте согласимся, что это очень большое число.
Может ли кто-нибудь использовать открытый исходный код после его создания?
Вроде.
Технически возможно взять любой проект с открытым исходным кодом и сделать его копию – это часть того, что значит быть открытым исходным кодом.
Если вы хотите учиться и исследовать, имеет смысл сделать копию репозитория и ознакомиться с ним.
Также технически возможно ссылаться или использовать открытый исходный код в другом проекте, независимо от того, является ли он открытым или частным.
Это технические ответы.
Однако есть и важные и юридические или, на мой взгляд, этические соображения.
Во-первых, юридические. Весь открытый исходный код поставляется с лицензией, в которой указано, как вам разрешено использовать этот код. Приватный код тоже имеет лицензии.
Эти лицензии существенно различаются. Некоторые лицензии довольно разрешительны — вы можете делать с кодом все, что хотите. Другие лицензии являются коммерческими — вы можете использовать проект с открытым исходным кодом, только если заплатите за него.
Наконец, у некоторых лицензий есть очень специфические требования: если вы используете код и делитесь им, вы также обязаны раздавать любой код, который вы создаете, бесплатно. Это называется [лицензией с авторским левом] (https://www.whitesourcesoftware.com/resources/blog/open-source-copyleft-licenses/). Нарушения авторского лева могут иметь большое значение для компаний, например, судебные иски.
Что это значит для вас?
Во-первых, знайте, что невозможно определить, что это за лицензия, просто основываясь на доступе к ней — вы должны прочитать лицензию.
Хорошая новость заключается в том, что если вы изучаете код, чтобы извлечь из него уроки, вам не о чем беспокоиться.
Если вы используете код лично — не просто изучаете его, а заставляете код работать — вам необходимо прочитать файл лицензии. Если это коммерческая лицензия, поступайте правильно и платите за нее.
Совет для профессионалов: если вы работаете в компании или организации, использующей открытый исходный код, проконсультируйтесь со своими коллегами по поводу настройки надлежащего подхода к организации и проверке использования. Отправьте своим коллегам или юристу вашей компании эту статью, чтобы узнать, как открытый исходный код может поставить под угрозу ваш бизнес.
Это были юридические вопросы. Теперь поговорим об этических проблемах.
Открытый исходный код основан только на сообществе миллионов программистов, которые делают его возможным.
Даже если тип лицензии разрешающий, я считаю, что все пользователи с открытым исходным кодом, будь то отдельные лица или группы, обязаны вернуть код сообществам, создавшим код.
Из моих скаутских дней есть выражение:
Оставь костер лучше, чем ты его нашел.
Это может применяться к кодовым базам в целом, но также применимо к открытому исходному коду: если вы использовать открытый исходный код, вы должны помочь сделать этот открытый исходный код или другие проекты с открытым исходным кодом лучше.
К счастью, есть много способов отдать должное сообществу с открытым исходным кодом, помимо написания кода:
- Как физическое лицо, стать участником или сопровождающим кода
- Как физическое лицо, стать участником или сопровождающим для сообщества
- Как организация, жертвуйте на проекты с открытым исходным кодом, которые использует ваша компания.
- Как организация жертвуйте товары или услуги (например, программное обеспечение вашей компании) проектам с открытым исходным кодом.
Вывод
Таким образом, мы рассмотрели основы открытого исходного кода и узнали, что такое открытый исходный код, как и зачем его использовать.
Также опубликовано здесь
Оригинал