Главная страница CNCF для контрибьюторов
Главная страница CNCF для контрибьюторов

Мы во «Фланте» любим Open Source — причем не только пишем свои открытые инструменты (werf, shell-operator, grafana-statusmap, сommunity-версия Deckhouse), но и активно участвуем в разработке различных проектов — участвуем в KEP’ах Kubernetes, в составе небольшой группы разрабатываем Dex, вносим вклад в Istio, передаем патчи и сведения о найденных багах в Cilium.

Поэтому мы решили написать несколько материалов о том, какие возможности для контрибьюторов предлагают известные в мире Open Source- и Free Software-организации. В этом материале мы рассмотрим Linux Foundation, его дочку — CNCF и европейское отделение Free Software Foundation. Сразу отметим, что участвовать в Open Source-проектах можно, даже не будучи программистом, — есть немало задач, связанных с продвижением, контентом, переводами, менеджментом. 

Linux Foundation

Точка входа для контрибьюторов Linux Foundation — страница Open Source Guides. Participating in Open Source Communities. Тут дана выжимка из огромного опыта участников LF при работе над открытыми проектами.

Зачем вносить вклад в Open Source. Это краткий гайд для компаний о том, какую выгоду они извлекут, работая над Open Source-проектами и выкладывая свои проекты в Open Source.

Как и кем управляются Open Source-проекты. Тут кратко описаны структура и основные роли в Open Source-проектах: лидер, хранители, коммитеры, контрибьюторы, пользователи. 

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

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

Как правильно вести себя в работе над Open Source-проектами. Тут даются советы о том, как не стать в сообществе изгоем, какого этикета стоит придерживаться, не подавляя при этом свою индивидуальность. Советы, кстати, очень практичные. Например, авторы руководства предлагают для начала «затаиться» и посмотреть, как принято общаться в сообществе, начинать с малых дел и разобраться в системе управления конкретного проекта, понять, как в конкретном проекте принимаются решения и какой логикой руководствуется лидер проекта. 

Лучшие практики по работе с Upstream. В этом пункте эксперты LF делятся своим опытом о том, как компаниям — разработчикам Open Source-проектов правильно принимать правки от сообщества, следовать своим же гайдам, почему вносить изменения в Upstream необходимо до того, как они попадут в собственные продукты компании, основанные на Open Source. 

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

На самом деле это максимально практичное вступление — неважно, работаете вы над одним из проектов Linux Foundation, делаете что-то свое или участвуете в стороннем проекте. Написали его Stormy Peters (Senior Manager, Community Leads, Red Hat) и Nithya Ruff (Senior Director, Open Source Practice, Comcast).

Практичность Linux Foundation в действии: никаких картинок — просто структурированный и полезный текст
Практичность Linux Foundation в действии: никаких картинок — просто структурированный и полезный текст

Страница с гайдами по Open Source для Enterprise

На эту страницу сложно попасть с предыдущей страницы — оказалось, что ссылка неправильная (в ней прописан «внутренний» адрес, под которым она разрабатывалась или существовала во время разработки), но мы нагуглили правильный вариант ссылки — вот она.

Здесь собраны подробные руководства для компаний о том, как запускать Open Source-проекты, как сворачивать Open Source-проекты, как повышать эффективность разработки ПО с открытым исходным кодом, проектировать стратегию работы с Open Source и интегрироваться в сообщество, какие инструменты и практики использовать для управления Open Source-проектами. 

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

Раздел Linux Foundation на GitHub с руководствами и кейсами

Это тоже в первую очередь раздел для компаний, которые хотят работать с Open Source или запускать свои Open Source-проекты. Помимо гайдов, которые есть на предыдущей странице, здесь можно найти успешные кейсы по работе с Open Source от мировых техногигантов: Microsoft, Autodesk, Salesforce, RedHat

Что еще есть в Linux Foundation

Страница для контрибьюторов на этом заканчивается. Однако на сайте Linux Foundation есть еще несколько интересных страниц, о которых стоит сказать в контексте вклада в Open Source.

Список всех проектов Linux Foundation. На этой странице можно найти тот проект, который вам понравится больше. Все проекты находятся в Open Source, и к каждому из них можно присоединиться. Особый интерес представляет раздел «Избранные проекты» — в нем как раз собраны крупные инициативы и организации, существующие в рамках Linux Foundation. И ядро Linux, конечно, — титульный проект LF.

Как передать свой проект на поддержку в Linux Foundation. На этой странице перечисляются варианты проектов LF: 

  • Проекты, которые используют только техническую инфраструктуру Фонда (пример — OpenBMC).

  • Проекты, которым, помимо этого, нужна еще и финансовая поддержка (пример — Node.js).

  • Проекты, которые полностью находятся под управлением LF (пример — CNCF).

На этой же странице можно скачать подробный гайд в pdf о том, как захостить свой проект в Linux Foundation, а также протестировать инфраструктуру Linux Foundation для управления открытым проектом — LXF. В конце страницы можно заполнить заявление на передачу своего проекта в Linux Foundation.

Интерфейс LXF Platform
Интерфейс LXF Platform

LXF Community Forums. Поддомен LXF, на котором можно найти обсуждение открытых проектов Фонда и присоединиться к ним. 

Карьера в Linux Foundation. Для тех, кто хочет работать с Open Source на фултайм. Здесь есть ссылки на открытые вакансии Фонда и его проектов и перечисляются основные принципы работы в LF. Вакансии описаны достаточно подробно и конкретно — кстати, конкретика и практичность, похоже, принципы контента Linux Foundation.

Резюме

Конкретных инструкций для контрибьюторов Фонд не дает — только практические рекомендации, относящиеся ко всем проектам сразу. Это объяснимо, потому что в рамках Linux Foundation существует множество проектов, у каждого из которых может быть своя собственная политика в отношении контрибьюторов, и даже отдельные крупные организации вроде CNCF. 

А уже на уровне отдельных инициатив и проектов Фонда есть программы амбассадоров, конкретные инструкции по работе с проектами, списки рассылок или группы общения.

Cloud Native Computing Foundation

Несколько лет назад CNCF запустил лендинг — единую точка входа для всех, кто хотел бы участвовать в работе над проектами и технологиями организации (например, над теми же Kubernetes, Prometheus или Istio). Лендинг будет полезен как частным лицам, так и компаниям. 

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

Страница для контрибьюторов

Контрибьютор в терминах CNCF — это любой, кто вносит вклад в проект: кодом, координацией, выполнением непрограммистских задач, написанием issues и т. п.

Руководство по быстрому старту в Open Source. В этом руководстве авторы CNCF дают базовые советы о том, как начать контрибьютить в Open Source-проекты cloud native-экосистемы: руководства по Git и как делать PR’ы, как присоединиться к сообществу, почему стоит начать с маленьких задачек, как работать с SSH, где найти рабочие группы с  менторами, какие задачи могут выполнять контрибьюторы-программисты и контрибьюторы-непрограммисты, как выбрать себе проект. 

Словарь cloud native-терминов. В нем даются определения основным терминам, которые связаны с облачными технологиями. Кстати, прямо сейчас мы переводим его на русский язык и уже подготовили первые PR’ы с локализацией. 

Различные программы с менторингом, в рамках которых можно начать вносить свой вклад в проекты CNCF: 

Программы для менти с GitHub CNCF
Программы для менти с GitHub CNCF

Секция для тех, кто хочет найти себе проект, со ссылками на CNCF Landscape — карту всех проектов CNCF, упорядоченных по зрелости и категориям; CLOTributor — инструмент для поиска «новичковых» задач в проектах CNCF; список всех проектов CNCF с краткой информацией о них и основным языком разработки. 

Определение Technical Advisory Groups (TAGs). Это что-то вроде гильдий, которые занимаются обсуждением и составлением рекомендаций по разным направлениям, но не привязаны к конкретному проекту. Например, есть TAG, который занимается вопросами безопасности (TAG Security), или TAG, который занимается хранилищами (TAG Storage). Такие гильдии могут создавать общие рекомендации для всех проектов CNCF и даже выпускать свои White Paper, которые аккумулируют опыт всех участников и дают хороший, глубокий обзор проблем по тематике конкретного TAG, например Cloud Native Security Whitepaper. У каждого TAG есть свои открытые встречи и каналы в Slack-пространстве CNCF (список всех TAGs). Кстати, сам лендинг, который мы рассматриваем, — это результат работы TAG Contributor Strategy :)

Локальные сообщества CNCF. Это что-то вроде небольших групп энтузиастов на местах, которые занимаются продвижением cloud native-технологий и проектов CNCF, проводят митапы и т. п.

Раздел, посвященный программе амбассадоров CNCF. Эта программа похожа на Google Developer Experts — в ее рамках специалисты получают почетный статус CNCF Ambassador в качестве признания своего опыта, знаний, а также вклада в развитие и продвижение технологий и проектов CNCF. Подробности о программе можно почитать на отдельной странице.

Список проектов CNCF. Они делятся на разные категории по степени зрелости, а напротив каждого проекта указываются основной язык разработки и назначение.

Страница для мейнтейнеров

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

Советы по управлению сообществом проекта. В них включаются краткое руководство о том, как сделать проект вендоро нейтральным, гайд по Customer Relationship Management в контексте Open Source-сообществ, методика измерения здоровья проекта и сообщества вокруг него, а также фреймворк по увеличению количества активных разработчиков проекта. 

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

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

Шаблоны. В этом разделе собрано все, что необходимо для старта проекта, — примеры readme-файлов, файлов с информацией о лицензии, все, что касается организационных файлов (списки контрибьюторов, руководства для участников, шаблоны с принципами управления проектами и т. п.). 

Фрагмент рекомендуемого шаблона для файла README
Фрагмент рекомендуемого шаблона для файла README

Главное меню лендинга 

Оно располагается на самом верху страницы, и в нем, помимо ссылок на странички для контрибьюторов и мейнтейнеров, есть справка о TAG Contributor Strategy (раздел About) и страничка с полезными материалами. Самое интересное в нем — раздел TAG Contributor Strategy Videos. В этом разделе собраны доклады и выступления членов TAG Contributor Strategy. Координаторы Open Source-проектов точно найдут тут много полезной и интересной информации. 

Резюме

У TAG Contributor Strategy получился довольно простой с точки зрения структуры и логичный сайт о том, как внести вклад в развитие и распространение технологий и проектов CNCF. Новички в Open Source с его помощью довольно быстро разберутся в принципах и основных определениях CNCF, найдут себе задачу по интересам и способностям, а также смогут начать общение с более опытными участниками сообщества, чтобы максимально комфортно и быстро влиться в ряды контрибьюторов. 

Мы и сами активно участвуем в разработке ряда проектов CNCF (например, Kubernetes и Dex), переводим документацию Kubernetes на русский язык, а также отправляем многочисленные issues и патчи в проекты cloud native-экосистемы. Кроме того, в начала 2023 года мы передали в CNCF разработанную во «Фланте» утилиту werf. Так что будем рады, если кто-то из читателей этой статьи тоже вольется в ряды контрибьюторов CNCF и внесет даже небольшой вклад в облачные технологии.  

Free Software Foundation Europe

Инструкции и сайт FSFE сильно отличаются от Linux Foundation и CNCF — европейское отделение FSF нацелено скорее на распространение идей и маркетинг, а не на разработку конкретных проектов. Но и такой вклад во Free Software тоже является полноценным контрибьюшеном, важной частью создания и развития свободного ПО. 

Погружение в сообщество FSF Europe начинается со страницы с лаконичным названием Contribute. Страница построена по степени вовлеченности в проекты Фонда — есть четыре степени вовлеченности: 

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

  • Готовы пойти глубже: анонсы событий FSF, международное сообщество и местные группы FSF.

  • Безудержное желание стать волонтером.

  • Присоединиться к фонду на фултайм.

По сути, FSFE в первую очередь ищет именно энтузиастов свободного ПО, которые готовы помочь в распространении и «упаковке» идей Фонда, а не разработчиков. Хотя в команде сайта всегда нужны толковые программисты. Но — все по порядку. 

На расстоянии пары кликов от FSF

В разделе «Будьте в курсе последних новостей» все достаточно стандартно: есть контакты пресс-центра FSF и возможность подписаться на новостную рассылку. Но есть и кое-что более любопытное — два небольших ролика, объясняющих, что такое FSF и чем отличаются Free Software и Open Source:

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

Следующий раздел — Spread the word. Здесь размещены форма заказа промоматериалов FSF для разных языков (можно выбрать даже русский язык) и примеры этих самых материалов с техническими подробностями: форматы, размер, лицензия, тип и превью материала. Промоматериалы в основном «пропагандистские» — с лозунгами и философскими заявлениями.

Вот несколько примеров
Плакат «Свободное ПО — свободное общество» на немецком и английском языках
Плакат «Свободное ПО — свободное общество» на немецком и английском языках
Стикер Hacking for Freedom
Стикер Hacking for Freedom
Стикер «Нет никаких облаков — только компьютеры, принадлежащие другим людям»
Стикер «Нет никаких облаков — только компьютеры, принадлежащие другим людям»
Буклет «Освободи свой Android» с рекламой бесплатного магазина свободного ПО для мобильной ОС от Google под названием F-Droid
Буклет «Освободи свой Android» с рекламой бесплатного магазина свободного ПО для мобильной ОС от Google под названием F-Droid

Среди промоматериалов есть еще много всего интересного — рекомендуем заглянуть и посмотреть весь ассортимент. 

Магазин мерча

Тут все довольно стандартно: футболки, шоперы, значки, стикеры, магнитики на холодильник. Но есть одна интересная позиция — забавный детский нагрудник «Я — форк».

Страница для спонсоров

На этой странице можно оформить постоянные или разовые пожертвования — как от частных лиц, так и от компаний.

Готовы пойти дальше

В этом разделе — информация для тех, кто пока не готов вносить существенный вклад в продвижение идей Free Software или в кодовую базу многочисленных свободных проектов, но хотел бы больше общаться с энтузиастами мира свободного ПО. Тут три подраздела: события FSF (в основном анонсы FSFCon в разных странах и городах), контакты сообщества (в отличие от странички с новостными рассылками, здесь вы найдете контакты XMPP-сообществ, списки рассылок, а также аккаунты FSF в специфических свободных соцсетях и мессенджерах — аналогах Twitter и Discord), контакты и сайты местных сообществ и двух особенных объединений — Translators и Women. 

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

В руководстве для местных сообществ предлагается ставить стенды не только на ИТ-событиях, но и на «гражданских» фестивалях, где можно встретить и познакомить с идеями FSF много людей не из технической тусовки. Кроме того, кураторы FSF рекомендуют ставить баннеры на улицах, организовывать совместные просмотры фильмов и проводить криптовечеринки — причем они никак не связаны с криптовалютами, на них рассказывается о безопасности в интернете. 

Стать полноценным волонтером

В этом разделе FSFE разместили следующие возможности:

Стать сотрудником FSFE

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

А вот тем, кто хочет работать в FSFE, предлагают следить за новостной лентой сайта — в нее попадают и новые вакансии фонда. Хотя, пожалуй, лучший способ присоединиться к команде — начать контрибьютить в проекты FSFE, общаться с сотрудниками Фонда в мессенджерах, быть у них на виду, проявлять энтузиазм. Вовлеченные люди, которых уже все знают, всегда являются первыми кандидатами на открывшиеся вакансии.

Итоги

Как мы увидели, непосредственное участие в написании кода — лишь одна из многих опций, а свой вклад в Open Source и Free Software можно вносить, даже не будучи разработчиком. Работа над открытыми проектами — хороший способ отблагодарить мир за появление тех же Kubernetes или Linux, получить опыт взаимодействия с международной командой, прокачать свои навыки, найти новых друзей по всему миру или даже получить новую специальность и найти постоянную работу.

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

Все три представленных в статье организации на своих страницах предлагают довольно разные по концепции материалы. Это отражает их статус и задачи. Гигант Linux Foundation не может уходить в конкретику по каждому проекту — слишком их много в рамках Фонда, но берет очень практичными и максимально применимыми в жизни рекомендациями. CNCF, который управляет относительно небольшим, по сравнению с родительским Linux Foundation, пулом проектов, дает максимально подробные инструкции для конечных контрибьюторов — как вносить вклад в проекты, как лидировать проект, как стать амбассадором, где необходима помощь. А известные сильной философской составляющей представители FSF основной упор делают на распространении идей.

В следующих статьях цикла об Open Source мы посмотрим, как работают с контрибьтюторами Apache Foundation и Mozilla, как устроено и для чего создано сообщество TODO Group, рассмотрим принципы контрибьюшена в несколько конкретных Open Source-проектов и поделимся своим опытом работы с Open Source. 

P.S.

Читайте также в нашем блоге:

Комментарии (7)


  1. RSM
    10.11.2023 20:53
    +2

    Но fork() вернет pid ребёнка родителю и 0 потомку, так что у ребенка всё же скорее "I'm not fork()" ;)


    1. TimurTukaev Автор
      10.11.2023 20:53

      )))


  1. PereslavlFoto
    10.11.2023 20:53

    Будет ли эта ваша статья передана в open source?


    1. TimurTukaev Автор
      10.11.2023 20:53

      Open Source все же про код, для произведений искусства (это сейчас не оценочный термин относительно статьи, а просто категоризация:)) или документации существуют отдельные свободные лицензии (те же GNU FDL или Creative Commons). Хотя лично мне как автору не жалко, чтобы кто-то брал это, менял и что-то с этим делал. Я бы скорее был рад:) Тем более, сама статья скорее форк — форк тех страниц и разделов, о которых в ней идёт речь:)

      Но мы как-то не задумывались об этом никогда. Хотя цитировать или даже перепечатывать с указанием авторов изначального материала не запрещали.


      1. PereslavlFoto
        10.11.2023 20:53

        Запрещает закон. От вас зависит разрешение. Вот поэтому я и спросил, когда будет разрешение на использование вашей статьи в open source программах.


        1. TimurTukaev Автор
          10.11.2023 20:53
          +1

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


          1. PereslavlFoto
            10.11.2023 20:53

            Где используют open source? Разные люди используют свободные ресурсы в самых разных проектах. Поэтому я не могу предсказать вам, кто будет обращаться к вашему тексту и с какими другими ресурсами будет его компилировать. Да и никто не может этого предсказать.

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