# Как внести свой вклад

> For AI agents: the complete glossary index is at [llms.txt](https://glossary.cncf.io/ru/llms.txt).
> Markdown versions of every glossary page are available by appending `index.md` to the page URL.

## Добро пожаловать 

Добро пожаловать в руководство по работе над Глоссарием Cloud Native. Благодарим за проявленный интерес! 
Поучаствовать в развитии проекта можно разными способами: 

1) [Поработать над существующим Issue](#work-on-an-existing-issue)
2) [Предложить новое определение](#propose-new-terms)
3) [Дополнить существующее определение](#update-an-existing-term)
4) [Локализовать глоссарий](#help-localize-the-glossary)

## Общие сведения о глоссарии CNCF 

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

Материалы Глоссария Cloud Native хранятся в [репозитории на GitHub](https://github.com/cncf/glossary). 
В нем вы найдете список [Issues](https://github.com/cncf/glossary/issues), Pull Request'ов ([PRs](https://github.com/cncf/glossary/pulls)) и 
[обсуждений](https://github.com/cncf/glossary/discussions), касающихся глоссария. 

## Кто может внести свой вклад?

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

Богатый опыт просто необходим, потому что объяснить сложные понятия доступным языком бывает _очень_ непросто. Может показаться, что создать простое и понятное определение достаточно легко. На самом деле это не так: конечная простота является результатом напряженной работы и сотрудничества многих экспертов по cloud native-технологиям.

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

Чтобы внести свой вклад в глоссарий, необязательно иметь энциклопедические знания в какой-либо из областей. 
При наличии подготовленных экспертами определений на английском языке от локализаторов требуется лишь уверенное владение английским и родным языком. Можно присоединиться к существующей команде локализации или создать новую. Чтобы узнать, с чего начать, ознакомьтесь с разделом [Помощь в локализации глоссария](#help-localize-the-glossary) этого руководства. 

## Перед началом работы

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

1. Создайте [учетную запись на GitHub'е](https://docs.github.com/en/get-started/signing-up-for-github/signing-up-for-a-new-github-account), если у вас ее еще нет. 
2. Подпишите [Лицензионное соглашение с контрибьютором (Contributor License Agreement)](https://docs.linuxfoundation.org/lfx/easycla/v2-current/contributors) (CLA). 
3. Проверьте [подпись к коммитам](https://docs.github.com/en/authentication/managing-commit-signature-verification/about-commit-signature-verification).
4. Включите [режим vigilant](https://docs.github.com/en/authentication/managing-commit-signature-verification/displaying-verification-statuses-for-all-of-your-commits#about-vigilant-mode) в GitHub-аккаунте: ваши коммиты будут помечаться статусом `Verified`. 

<a id="best-practices"></a>

## Лучшие практики

Чтобы облегчить рецензирование, используйте [смысловой перенос строк](https://sembr.org/) (одна строка на предложение).
Рекомендуем ознакомиться со [шпаргалкой по Markdown](https://www.markdownguide.org/cheat-sheet/), чтобы правильно форматировать md-текст на GitHub'е (например, [гиперссылка](#best-practices), **жирный шрифт**, *курсив*).
При именовании файлов .md используйте строчные буквы, дефисы вместо пробелов для разделения слов и избегайте скобок.

## Руководство по стилю

[Руководство по стилю](https://glossary.cncf.io/ru/style-guide/) содержит требования к форматированию и содержанию документов, а также советы о том, как повысить эффективность работы. 

<a id="join-the-glossary-community"></a>

## Присоединяйтесь к сообществу Глоссария!

Регулярным контрибьюторам рекомендуем присоединиться к Рабочей группе по глоссарию (ее заседания проходят ежемесячно). 
График встреч можно найти в [календаре CNCF](https://www.cncf.io/calendar/). 
Также можно пообщаться с хранителями и соавторами в Slack-канале CNCF [#glossary](https://cloud-native.slack.com/archives/C02TX20MQBB) 
— мы будем рады знакомству с вами! 

<a id="work-on-an-existing-issue"></a>

## Работа над существующим Issue

Список открытых Issues можно найти в [репозитории глоссария на GitHub'е](https://github.com/cncf/glossary/issues). 
Отфильтровать их можно с помощью лейблов (например, English language, help needed, good first issue).

![Issue и лейблы](https://glossary.cncf.io/images/how-to/issue-and-labels.png)

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

![Термин занят](https://glossary.cncf.io/images/how-to/howto-04.png)

Выбрав термин, отпишитесь в его Issue:

![Закрепление Issue](https://glossary.cncf.io/images/how-to/claiming-an-issue.png)

Сообщите хранителям в канале [#glossary](https://cloud-native.slack.com/archives/C02TX20MQBB) в рабочем пространстве CNCF в Slack, 
призвав _@iamnoah_, _@nate-double-u_, _@Seokho Son_, _@Jihoon Seo_ и/или _@castrojo_, чтобы они наверняка увидели ваше уведомление. 

Дальнейшие шаги описаны в разделе [Создание нового термина (открываем PR)](#submitting-a-new-term).

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

<a id="propose-new-terms"></a>

## Предложить новый термин

Можно предложить новый термин и дождаться, пока другие авторы сформулируют для него определение, или написать определение самостоятельно. 
В любом случае начать следует с [создания Issue](#creating-an-issue). 
Чтобы претендовать на добавление в глоссарий, каждый новый термин должен отвечать [определению для cloud native-терминов, сформулированному CNCF](https://github.com/cncf/toc/blob/main/DEFINITION.md). 
Единственным исключением являются фундаментальные термины, необходимые для описания базовых концепций cloud native-технологий.

Ниже приведено пошаговое руководство для тех, кто не знаком с GitHub'ом. 
**Опытным пользователям GitHub'а** также _рекомендуем_ ознакомиться с ним, чтобы получить общее представление о том:

1. Как и где искать шаблоны для Issues и новых терминов.
2. Как закрепить Issue за собой. 
3. Как решать проблемы с [проверкой орфографии](#spell-check) failures. 

<a id="creating-an-issue"></a>

### Как создать Issue

Перейдите в [репозиторий глоссария на GitHub'е](https://github.com/cncf/glossary/issues) и нажмите "New issue".

![Список Issues](https://glossary.cncf.io/images/how-to/howto-01.png)

Выберите "Request to add a new term (English)" (Запрос на добавление нового термина на английском языке) из списка шаблонов.

**Примечание**: пока новые термины принимаются только на английском языке. 
Если у вас есть идея для нового определения, но вы затрудняетесь переложить ее на английский язык, 
свяжитесь с хранителями русской версии в канале [#glossary-localization-russian](https://cloud-native.slack.com/archives/C05G46RMQTX) — мы поможем.

![Шаблоны](https://glossary.cncf.io/images/how-to/english-issue-template.jpg)

Добавьте свой термин, ответьте на вопросы, поставьте галочки и нажмите "Submit new issue".
Если вы просто предлагаете новый термин, больше ничего делать не нужно. Если вы хотите поработать над определением, продолжайте читать.

<a id="triaging-your-issue"></a>

### Триаж Issue

Далее хранители проведут триаж Issue. 
А именно, решат, стоит ли включать термин в глоссарий. 
Принимаются далеко не все термины: чтобы попасть в глоссарий, они должны устояться в мире cloud native-технологий и широко там использоваться.

Сообщите хранителям в Slack'е о новом термине (позовите _@iamnoah_, _@nate-double-u_, _@Seokho Son_, _@Jihoon Seo_ и/или _@castrojo_).  
Если вы хотите поработать над определением, сообщите об этом хранителям, и они закрепят термин за вами.

<a id="submitting-a-new-term"></a>

### Отправка нового термина (создаем PR)

Как указано в [Руководстве по стилю](https://glossary.cncf.io/ru/style-guide/), настоятельно рекомендуется начинать с документа в Google или в Word. 

Когда термин будет готов к отправке, перейдите в директорию content (на вкладке <>code)…

![Директория "content"](https://glossary.cncf.io/images/how-to/howto-05.png)

…затем в "en" (для английского языка) или в директорию языка локализации…

![Директория с языками](https://glossary.cncf.io/images/how-to/howto-06.png)

…и выберите `_TEMPLATE.md`

![Template](https://glossary.cncf.io/images/how-to/howto-07.png)

Скопируйте его содержимое……

![Копировать содержимое](https://glossary.cncf.io/images/how-to/howto-08.png)

…и вернитесь в папку "en" или языка локализации. Нажмите "Add file" и выберите "Create new file".

![Создать новый файл](https://glossary.cncf.io/images/how-to/howto-09.png)

Включите название термина в URL, как описано в разделе [Лучшие практики](#best-practices). 
Добавьте к нему расширение .md (без этого расширения будет невозможно предварительно просмотреть файл).
Теперь вставьте шаблон в поле с содержимым файла. Скопируйте и вставьте текст определения в файл.
Чтобы проверить markdown-код на соответствие требованиям из раздела [Лучшие практики](#best-practices), нажмите "Preview".

![Завершение работы с термином](https://glossary.cncf.io/images/how-to/howto-10.png)

Прокрутите вниз и введите описание коммита. Затем нажмите "Commit new file" и…

![Делаем коммит](https://glossary.cncf.io/images/how-to/howto-11.png)

…перейдите к созданию PR'а. Добавьте его описание и нажмите на "Create pull request":

![Создаем PR](https://glossary.cncf.io/images/how-to/howto-12.png)

После этого PR должен появиться на вкладке "Pull requests".

![Вкладка "Pull requests"](https://glossary.cncf.io/images/how-to/howto-13.png)

<a id="update-an-existing-term"></a>

## Изменение существующего термина

Чтобы отредактировать существующий термин, можно создать Issue и описать в нем желаемые изменения, 
либо внести правки самостоятельно и оформить их в виде PR'а.

<a id="request-a-change-via-an-issue"></a>

### Запросить изменения с помощью Issue

Чтобы сообщить о проблеме с термином, можно воспользоваться опцией "Сообщить о проблеме" на странице Глоссария CNCF. 
Перейдите на страницу с соответствующим термином и нажмите "Сообщить о проблеме". 
Автоматически откроется форма для создания Issue:

![Сообщить о проблеме](https://glossary.cncf.io/images/how-to/howto-14.png)

Опишите свои предложения и объясните, почему они необходимы. Нажмите "Submit new issue". 

![Открыть Issue](https://glossary.cncf.io/images/how-to/howto-15.png)

<a id="update-a-term-directly"></a>

### Изменить термин напрямую

Чтобы изменить термин и внести свои предложения, нажмите "Редактировать страницу".

![Редактировать страницу](https://glossary.cncf.io/images/how-to/howto-16.png)

Откроется страница термина на GitHub'е. Внесите свои правки и создайте PR. 
Обратитесь к разделу [Лучшие практики](#best-practices) выше и ознакомьтесь с [Руководством по стилю](https://glossary.cncf.io/ru/style-guide/), чтобы убедиться, что следуете рекомендациям. 

<a id="help-localize-the-glossary"></a>

## Помощь в локализации глоссария

Чтобы помочь в локализации глоссария на целевой язык, присоединитесь к каналу [#glossary-localizations](https://cloud-native.slack.com/archives/C02N2RGFXDF) в рабочем пространстве CNCF в Slack'е и дайте нам знать.
Можно войти в существующую команду или создать новую (чтобы узнать, что для этого нужно, прочитайте [Руководство по локализации](https://github.com/cncf/glossary/blob/main/LOCALIZATION.md)). 
Пожалуйста, ознакомьтесь с руководством [Как внести свой вклад](https://glossary.cncf.io/ru/contribute/) на целевом языке, чтобы узнать об особенностях работы соответствующей команды. 

<a id="spell-check"></a>

## Проверка орфографии

Проверка орфографии может завершиться неудачей по двум основным причинам:

- PR содержит орфографические ошибки. 
- PR содержит слова, которые не зарегистрированы в списке слов. 

Чтобы добавить новые слова в список, выполните следующие действия:

1. В вашем PR найдите файл "wordlist.txt". 
2. Нажмите "Отредактировать этот файл" ("Edit this file") и добавьте недостающие слова в алфавитном порядке. 
3. Добавьте сообщение коммита и выберите "Подписать и предложить изменения" ("Sign off and propose changes").

**Примечание**: при проверке орфографии регистр (строчные/прописные буквы) во внимание не принимается. 


**Это руководство было обновлено на основе шаблонов из проекта [The Good Docs Project](https://thegooddocsproject.dev/).**

---

- Canonical URL: https://glossary.cncf.io/ru/contribute/
- Status: Completed
- Последнее изменение October 10, 2023: ` Minor fixes - suggestions from code review ` ([36babc4](https://github.com/cncf/glossary/commit/36babc47d57859fb210e243fe5663cb3a7e52bfd))
- Source: https://github.com/cncf/glossary/blob/main/content/ru/contribute/_index.md
- License: [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/)
