aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/README.md
diff options
context:
space:
mode:
authorVladislav Rudskoy <rudskoy.vladislav@gmail.com>2022-02-10 16:45:39 +0300
committerDaniil Cherednik <dcherednik@yandex-team.ru>2022-02-10 16:45:39 +0300
commit40818269bfff82d9f57f47db333acbdda5c44fb0 (patch)
tree80b4c7c6300e95384218422adf3a140229b5372c /contrib/README.md
parentbf9e69a933f89af083d895185f01ed65e4d90766 (diff)
downloadydb-40818269bfff82d9f57f47db333acbdda5c44fb0.tar.gz
Restoring authorship annotation for Vladislav Rudskoy <rudskoy.vladislav@gmail.com>. Commit 1 of 2.
Diffstat (limited to 'contrib/README.md')
-rw-r--r--contrib/README.md136
1 files changed, 68 insertions, 68 deletions
diff --git a/contrib/README.md b/contrib/README.md
index 44863a0baf..292415da98 100644
--- a/contrib/README.md
+++ b/contrib/README.md
@@ -1,25 +1,25 @@
Все спорные вопросы, пожелания по процессу, фичереквесты можно присылать на [arcadia-wg@](mailto:arcadia-wg@yandex-team.ru)
## Что такое contrib?
-
-Это набор общих компонент в Аркадии из внешнего интернета, от которых зависят проекты внутри Аркадии.
-
-Компоненты в contrib подразделяются на ЯП-специфичные, общие тулы (англ. tools) и библиотеки:
-
-* [contrib/java](https://a.yandex-team.ru/arc/trunk/arcadia/contrib/java)
-* [contrib/python](https://a.yandex-team.ru/arc/trunk/arcadia/contrib/python)
-* [vendor (aka go)](https://a.yandex-team.ru/arc/trunk/arcadia/vendor)
-* [contrib/libs (aka C++)](https://a.yandex-team.ru/arc/trunk/arcadia/contrib/libs)
-* [contrib/tools (общие тулы (jdk, python, cython)](https://a.yandex-team.ru/arc/trunk/arcadia/contrib/tools)
-
-Каждый компонент внутри contrib собирается ya make и добавляется при соблюдении нескольких условий, в том числе подтверждении от профильных групп людей.
-
+
+Это набор общих компонент в Аркадии из внешнего интернета, от которых зависят проекты внутри Аркадии.
+
+Компоненты в contrib подразделяются на ЯП-специфичные, общие тулы (англ. tools) и библиотеки:
+
+* [contrib/java](https://a.yandex-team.ru/arc/trunk/arcadia/contrib/java)
+* [contrib/python](https://a.yandex-team.ru/arc/trunk/arcadia/contrib/python)
+* [vendor (aka go)](https://a.yandex-team.ru/arc/trunk/arcadia/vendor)
+* [contrib/libs (aka C++)](https://a.yandex-team.ru/arc/trunk/arcadia/contrib/libs)
+* [contrib/tools (общие тулы (jdk, python, cython)](https://a.yandex-team.ru/arc/trunk/arcadia/contrib/tools)
+
+Каждый компонент внутри contrib собирается ya make и добавляется при соблюдении нескольких условий, в том числе подтверждении от профильных групп людей.
+
## Добавление библиотеки в contrib
-
+
Перед добавлением библиотеки нужно убедиться, что библиотека действительно полезна. См. ниже про то, "Как комитеты согласуют новые библиотеки в contrib". Это те факторы, которые стоит учесть до начала процесса согласования. Возможно, в процессе анализа вы найдете более подходящие альтернативы в Аркадии или внешнем мире.
Добавление новой библиотеки начинается с **[создания тикета в очереди CONTRIB](https://st.yandex-team.ru/createTicket?queue=CONTRIB)**.
-
+
## Мне нужна библиотека, написанная в Яндексе, которой нет в Аркадии. Можно ли положить её в contrib?
Нет, `contrib/` — место для внешнего кода, которым мы (компания Яндекс) не владеем.
@@ -36,76 +36,76 @@
Список таких библиотек приведён в тикете: [CONTRIB-396](https://st.yandex-team.ru/CONTRIB-396)
## Обновление библиотеки в Contrib
-
-Если в обновлении библиотеки нужна помощь Devtools и/или это мажорное обновление библиотеки, то это лучше проводить через тикет в очереди CONTRIB.
-
-Минорные обновления можно сделать самостоятельно до зеленой проверки, для этого по умолчанию никакие подтверждения и тикеты в очереди CONTRIB не требуются.
-Разделение на минорные и мажорное обновление следует понимать "по духу", а не "по номеру версии". Например, обновление openssl с 1.0 на 1.1 – это задача на пол года,
-несмотря на то что изменилась минорная версия.
-
-А если вы обновляете библиотеку, которую используют всего пара проектов, то можно со всеми потребителями договориться сразу в PR.
-Тикет не обязателен.
-
+
+Если в обновлении библиотеки нужна помощь Devtools и/или это мажорное обновление библиотеки, то это лучше проводить через тикет в очереди CONTRIB.
+
+Минорные обновления можно сделать самостоятельно до зеленой проверки, для этого по умолчанию никакие подтверждения и тикеты в очереди CONTRIB не требуются.
+Разделение на минорные и мажорное обновление следует понимать "по духу", а не "по номеру версии". Например, обновление openssl с 1.0 на 1.1 – это задача на пол года,
+несмотря на то что изменилась минорная версия.
+
+А если вы обновляете библиотеку, которую используют всего пара проектов, то можно со всеми потребителями договориться сразу в PR.
+Тикет не обязателен.
+
## Команда, правила и процессы Contrib
-
-Текущий процесс относится к каждому ЯП в Аркадии: C++, Java, Python, Go
-Весь текущий и грядущий workflow работы команд, отвечающих за общие библиотеки, реализован на базе Стартрека и очереди **[Contrib](https://st.yandex-team.ru/contrib)**.
-
-Happy Path для пользователя, которому понадобилась новая библиотека в Аркадии, выглядит следующим образом
+
+Текущий процесс относится к каждому ЯП в Аркадии: C++, Java, Python, Go
+Весь текущий и грядущий workflow работы команд, отвечающих за общие библиотеки, реализован на базе Стартрека и очереди **[Contrib](https://st.yandex-team.ru/contrib)**.
+
+Happy Path для пользователя, которому понадобилась новая библиотека в Аркадии, выглядит следующим образом
![](https://jing.yandex-team.ru/files/alexeykruglov/contrib1.png)
-
+
Основная задача _**Профильного комитета**_ – помочь пользователю, сообщив о наличии уже существующих решений на релевантном или другом ЯП в Аркадии (в util/library/contrib). В профильном комитете необходимо 2 человека, чтобы сделать окончательное решение.
[Arcadia WG](https://abc.yandex-team.ru/services/arcadia-wg/) привлекается профильными комитетами для обсуждения сложных случаев (есть сомнения, проблемы с лицензиями).
Ограничения использования библиотек контролируется [макросами управления лицензиями](https://docs.yandex-team.ru/ya-make/general/rules#licenzii).
-Итого, процесс состоит из этапов:
-
+Итого, процесс состоит из этапов:
+
* Подтверждение от языкового комитета (1)
* Подтверждение от языкового комитета (2)
* Подтверждение от Arcadia WG, при необходимости. Все библиотеки с [запрещенными](https://wiki.yandex-team.ru/devrules/overall/aboutlicences/#zapreshhennyelicenzii) лицензиями требуют ок от Arcadia WG.
-* Импорт библиотеки
- * Самостоятельно
- * Или с помощью Devtools
-
-Процесс импорта кода библиотеки (самостоятельно или с помощью Devtools) описан тут: [Как импортировать код в contrib](https://wiki.yandex-team.ru/devrules/overall/Contrib/how-to-import-contrib/)
-
-Итоговый процесс импорта библиотеки выглядит следующим образом:
+* Импорт библиотеки
+ * Самостоятельно
+ * Или с помощью Devtools
+
+Процесс импорта кода библиотеки (самостоятельно или с помощью Devtools) описан тут: [Как импортировать код в contrib](https://wiki.yandex-team.ru/devrules/overall/Contrib/how-to-import-contrib/)
+
+Итоговый процесс импорта библиотеки выглядит следующим образом:
![alt](https://jing.yandex-team.ru/files/alexeykruglov/contrib2.png)
-
+
## Java (note)
-
-1. Для java "обновление библиотеки" – это заливка новой версии, тикет в этом случае необязателен.
-2. На время переезда, библиотеку, разрабатываемую в Яндексе можно положить в контриб, если нет возможность перевезти её в Аркадию. На это нужен тикет. После заезда библиотеки в Аркадию, её нужно будет удалить из contrib и перейти на зависимость по исходникам.
-
+
+1. Для java "обновление библиотеки" – это заливка новой версии, тикет в этом случае необязателен.
+2. На время переезда, библиотеку, разрабатываемую в Яндексе можно положить в контриб, если нет возможность перевезти её в Аркадию. На это нужен тикет. После заезда библиотеки в Аркадию, её нужно будет удалить из contrib и перейти на зависимость по исходникам.
+
## SLA (committees)
-
-Мы переложили некоторую часть вышеописанного процесса на рельсы Трекера с его тригерами и SLA.
-
-**5 дней** на каждый этап с участием комитета (за исключением этапа сборки библиотеки силами Devtools). С течением времени мы ожидаем оптимизации этой границы в меньшую сторону.
-
-Для примера, – на ответ от профильного комитета (i.e. Python) даётся 5 рабочих дней.
-
-Уведомления о нарушении SLA приходят заранее (пока только кому:rudskoy и кому:saint), и мы постараемся своевременно на это реагировать.
-
+
+Мы переложили некоторую часть вышеописанного процесса на рельсы Трекера с его тригерами и SLA.
+
+**5 дней** на каждый этап с участием комитета (за исключением этапа сборки библиотеки силами Devtools). С течением времени мы ожидаем оптимизации этой границы в меньшую сторону.
+
+Для примера, – на ответ от профильного комитета (i.e. Python) даётся 5 рабочих дней.
+
+Уведомления о нарушении SLA приходят заранее (пока только кому:rudskoy и кому:saint), и мы постараемся своевременно на это реагировать.
+
## Для переезжающих в Аркадию проектов
-
-Базовые рекомендации по процессу:
-1. Не забывайте указывать родительский тикет для переезда из очереди ARCADIA и/или MIGRATION.
-2. По умолчанию создавайте отдельные задачи на отдельные зависимости.
-
-Мы допускаем, что зависимостей может быть по-настоящему много, поэтому вы можете перечислить зависимости большими пачками или одним большим списком при создании тикета через форму.
-
-Но исполнитель задачи, при необходимости обсудить какую-либо библиотеку, попросит автора унести это обсуждение в отдельную задачу.
-
+
+Базовые рекомендации по процессу:
+1. Не забывайте указывать родительский тикет для переезда из очереди ARCADIA и/или MIGRATION.
+2. По умолчанию создавайте отдельные задачи на отдельные зависимости.
+
+Мы допускаем, что зависимостей может быть по-настоящему много, поэтому вы можете перечислить зависимости большими пачками или одним большим списком при создании тикета через форму.
+
+Но исполнитель задачи, при необходимости обсудить какую-либо библиотеку, попросит автора унести это обсуждение в отдельную задачу.
+
## Проектные contrib
-В Аркадии не допускается существование проектных contrib. Это усложняет поиск по коду, его переиспользование и аудит лицензий.
-
-В процессе миграции допускается временно смигрировать библиотеку, у которой есть явные аналоги в Аркадии. Это возможно лишь при наличии коммитментов от команды со сроком на переезд на общеаркадийные компоненты.
-
-В некотором приближении мы будем запрещать для проектов внутри Аркадии зависеть от таких библиотек.
+В Аркадии не допускается существование проектных contrib. Это усложняет поиск по коду, его переиспользование и аудит лицензий.
+
+В процессе миграции допускается временно смигрировать библиотеку, у которой есть явные аналоги в Аркадии. Это возможно лишь при наличии коммитментов от команды со сроком на переезд на общеаркадийные компоненты.
+
+В некотором приближении мы будем запрещать для проектов внутри Аркадии зависеть от таких библиотек.
## Как комитеты согласуют новые библиотеки в contrib