Руководство для участников сообщества
Apache Doris приглашает разработчиков, пользователей, технических писателей, докладчиков и организаторов сообществ со всего мира. Вы можете внести вклад в разработку кода, создание материалов или развитие сообщества. Каждое из этих направлений помогает проекту расти и позволяет участникам публично продемонстрировать свой вклад в совместную работу над открытым исходным кодом.
Разработка кода
Кому подойдёт: участникам, которые хотят непосредственно заниматься разработкой Doris.
- Исправляйте ошибки и создавайте новые функции.
- Повышайте производительность, стабильность и наблюдаемость.
- Добавляйте модульные, регрессионные и интеграционные тесты.
- Совершенствуйте сборку, CI, выпуск релизов, инструменты разработки и рабочие процессы.
- Проводите ревью PR и добавляйте техническую документацию, пользовательскую документацию или примеры.
После принятия ваших изменений вы становитесь Contributor проекта Apache Doris.
Создание материалов
Кому подойдёт: участникам, которые знакомы со сценариями использования Doris и хотят поделиться практическим опытом.
- Пишите технические статьи и рассказывайте об использовании Doris в промышленной эксплуатации.
- Создавайте руководства для начинающих и рекомендации по работе.
- Записывайте видео о функциях, развёртывании, настройке производительности и устранении неполадок.
- Выступайте на митапах, вебинарах и конференциях.
- Переводите документацию, статьи, материалы мероприятий или субтитры к видео.
За качественные материалы участники получают сувениры сообщества в знак благодарности.
Развитие сообщества
Кому подойдёт: участникам, которые понимают потребности пользователей и любят работать с людьми.
- Отвечайте на вопросы в Slack, GitHub и списках рассылки.
- Помогайте новым пользователям находить подходящую документацию, примеры и каналы сообщества.
- Организуйте онлайн- и офлайн-митапы, практические занятия, открытые консультации или выступления пользователей.
- Приглашайте пользователей делиться опытом промышленной эксплуатации и миграции.
- Собирайте отзывы пользователей и передавайте их в публичные каналы сообщества.
Активные участники получают сувениры сообщества в знак благодарности.
Преимущества
В зависимости от характера, качества и регулярности вашего вклада вы можете получить:
- Публичное признание в каналах сообщества Apache Doris.
- Упоминание в списках участников проекта, благодарностях сообщества или обзорах мероприятий.
- Возможность публиковать материалы на сайте Apache Doris, в блоге, социальных сетях или на видеоканалах.
- Возможность выступать на мероприятиях сообщества.
- Больше возможностей общаться с сопровождающими проекта, Committer, членами PMC и опытными пользователями.
- Приоритетный доступ к отдельным митапам, вебинарам, тематическим секциям конференций и другим программам сообщества.
- Публичное подтверждение технического вклада и личного влияния на проект.
- Сувениры сообщества, памятные вещи или особые подарки.
Участников, которые регулярно вносят качественный технический вклад, сообщество может пригласить стать Committer или членами PMC проекта Apache Doris в соответствии с принятой в Apache процедурой управления проектом. Кроме того, на Doris Summit каждый год выбирают выдающихся героев сообщества, чтобы поблагодарить пользователей, разработчиков и популяризаторов сообщества за значительный вклад.
Руководство по участию в сообществе
В разделах ниже описано, с чего начать в каждом направлении.
Это руководство может меняться по мере развития процессов сообщества. Присоединяйтесь к сообществу Apache Doris в Slack, чтобы узнавать о последних изменениях.
- Руководство по разработке кода
- Руководство по созданию материалов
- Руководство по развитию сообщества
Где искать задачи
Возможности для участия можно найти здесь:
- Slack: задавайте вопросы, начинайте обсуждения, уточняйте контекст и находите нужных собеседников.
- Apache Doris GitHub Issues: подходит для сообщений об ошибках, запросов новых функций, идей по улучшению и поиска открытых задач.
- Apache Doris GitHub Discussions: подходит для технических обсуждений, вопросов по использованию и предложений по проектированию.
- Дорожная карта: подходит для долгосрочной технической работы. Обычно её можно найти в закреплённой Issue на странице GitHub Issues.
- Открытые PR: здесь можно помочь с ревью, тестированием, проверкой изменений или продвижением PR к слиянию.
Новые участники могут начать с небольших, чётко ограниченных задач: исправить документацию, добавить тесты, устранить простую ошибку, воспроизвести проблему из Issue, улучшить сообщение об ошибке или привести в порядок пример. Для крупных функций или изменений поведения начните обсуждение в канале #dev сообщества Apache Doris в Slack и попросите ключевых сопровождающих проекта пояснить контекст.
Требования к изменениям кода
Перед отправкой кода постарайтесь сделать следующее:
- Создайте форк репозитория
apache/dorisи отдельную ветку от актуального состояния основной ветки. - Посвящайте каждый PR одной конкретной проблеме. Избегайте объединения несвязанных изменений в одном PR.
- Укажите в заголовке и описании PR цель, объём изменений и способы проверки.
- Добавьте ссылку на связанную Issue, Discussion или ветку обсуждения в списке рассылки.
- Добавьте необходимые модульные и регрессионные тесты или шаги ручной проверки.
- Обновите документацию, если изменение затрагивает поведение, с которым сталкиваются пользователи, конфигурацию, семантику SQL, сообщения об ошибках или совместимость.
- Укажите в описании PR риски, связанные с совместимостью, производительностью, стабильностью или изменением поведения.
Хороший PR обычно включает:
- Контекст: зачем нужно изменение.
- Подход: что изменилось и почему.
- Тесты: какие тесты или проверки были выполнены и каковы результаты.
- Риски: влияет ли изменение на совместимость, производительность, стабильность или поведение, с которым сталкиваются пользователи.
- Документация: нужна ли она и где была обновлена.
Сообщество поддерживает использование ИИ при написании кода, отладке и ревью, но участники должны соблюдать следующие правила:
- Используйте достаточно мощные модели для разработки, отладки и ревью. Не полагайтесь на сгенерированный код низкого качества при внесении важных изменений.
- Вы несёте ответственность за отправленный код. Сообщество не принимает код, сгенерированный ИИ, если за него не отвечает человек.
Стандартный процесс слияния
Изменения кода обычно проходят следующие этапы:
- Участник открывает Pull Request.
- Committer или участник с более широкими правами запускает CI и AI Review. За помощью можно обратиться в канал
#devв Slack. - Участник исправляет проблемы сборки, тестов или форматирования, выявленные CI и при ревью. Замечания ИИ также являются частью процесса ревью. Применяйте полезные рекомендации и поясняйте в PR, если какая-либо рекомендация неприменима.
- При необходимости участник выполняет rebase на актуальное состояние основной ветки и разрешает конфликты.
- Все обязательные проверки CI завершаются успешно.
- Ревьюер одобряет PR.
- Committer выполняет слияние.
Для слияния PR все обязательные проверки CI должны завершиться успешно. Необязательные проверки не блокируют слияние.
Как продвигать процесс ревью
Участникам следует активно продвигать собственные PR, а не ждать действий ревьюеров. Руководство по участию в Apache Doris также рекомендует участникам выступать модераторами собственных PR и помогать проводить их от отправки до слияния.
Рекомендуемые практики:
- Предоставляйте ревьюерам достаточно контекста в описании PR.
- Делитесь ссылкой на PR в канале
#devв Slack и просите провести ревью. - Своевременно отвечайте на замечания ревьюеров.
- Отмечайте замечания как решённые после их устранения.
- Если вы не согласны с замечанием, приводите технические аргументы.
- Регулярно выполняйте rebase, чтобы конфликты не накапливались надолго.
- Если работа над PR остановилась, вежливо напомните о нём соответствующим ревьюерам в самом PR.
- Если вы не знаете, кто должен провести ревью PR, попросите в Slack помочь найти ответственного за нужный модуль.
Способы найти подходящих ревьюеров:
- Посмотрите недавно принятые PR в том же модуле.
- Изучите историю коммитов связанных файлов.
- Посмотрите предложенных GitHub ревьюеров или CODEOWNERS, если они доступны.
- Попросите в Slack помочь найти подходящего ревьюера, но обязательно перенесите важные технические выводы в GitHub или список рассылки.
Какие материалы и куда отправлять
Статьи для блога
Подходящие темы:
- Подробный разбор функций Doris.
- Оптимизация запросов и загрузки данных, настройка эксплуатации и устранение неполадок.
- Lakehouse, хранилища данных реального времени, аналитика журналов, аналитика поведения пользователей и другие практические сценарии.
- Опыт миграции с Elasticsearch, ClickHouse, Hive, Trino или других систем на Doris.
- Разбор устранения неполадок и настройки производительности в промышленной эксплуатации.
- Обзоры возможностей новых релизов и рекомендации по их использованию.
Как отправить:
- Начните обсуждение в канале
#devв Slack. - Отправьте Markdown-файл в каталог
/blogрепозиторияapache/doris-website. При необходимости сопровождающие Doris помогут вам.
Истории внедрения
Хорошая история внедрения включает:
- Сведения о деятельности компании или команды.
- Причины выбора Apache Doris.
- Архитектуру системы и потоки данных.
- Объём данных, характер запросов и целевые показатели производительности.
- Проблемы, обнаруженные при миграции или внедрении.
- Результаты, преимущества и выводы после запуска в промышленную эксплуатацию.
Как отправить:
- Если материал содержит названия компаний, бизнес-данные или архитектурные схемы, сначала согласуйте его внутри компании или удалите конфиденциальную информацию.
- Начните обсуждение в канале
#devв Slack. Сообщество может помочь отредактировать, перевести или опубликовать историю внедрения.
Учебные руководства
Подходящие темы для руководств:
- Начало работы.
- Развёртывание и обновление.
- Загрузка данных.
- Настройка производительности запросов.
- Материализованные представления.
- Инвертированные индексы.
- Разделение вычислений и хранения.
- Запросы к Lakehouse.
- Сценарии аналитики журналов и обеспечения наблюдаемости.
Как отправить:
- Начните обсуждение в канале
#devв Slack. - Общие материалы, которые сохранят актуальность со временем, обычно следует включать в официальную документацию.
- Практические материалы, материалы по конкретным сценариям или отдельным версиям обычно лучше подходят для блога.
- По возможности примеры кода, скрипты и конфигурация должны позволять воспроизвести описанные действия и результаты.
Видеоматериалы
Подходящие темы для видео:
- Демонстрации функций длительностью от одной до пяти минут.
- Пошаговые инструкции по установке и развёртыванию.
- Объяснение рекомендуемых практик.
- Демонстрации конкретных сценариев.
- Записи митапов или вебинаров.
- Интервью с пользователями или выступления об опыте внедрения.
Как отправить:
- Начните обсуждение в канале
#devв Slack. - Сначала согласуйте с сообществом тему, сценарий или план.
- Когда видео будет готово, сообщество может помочь опубликовать его на YouTube, Bilibili или других официальных видеоканалах.
- Если видео содержит названия компаний, имена клиентов, показатели производительности или снимки экрана внутренних систем, сначала получите разрешение или удалите конфиденциальную информацию.
Выступления
Подходящие форматы:
- Доклады на митапах.
- Доклады на вебинарах.
- Доклады на конференциях.
- Знакомство с функциями нового релиза.
- Вводные встречи для новых участников проекта.
- Встречи, посвящённые опыту пользователей.
Как отправить:
- Начните обсуждение в канале
#devв Slack. - Поделитесь с сообществом темой, аннотацией, целевой аудиторией, языком, предполагаемой продолжительностью и сведениями о докладчике.
- Сообщество может помочь уточнить тему, проверить техническое содержание, продвинуть выступление и подготовить страницу регистрации. При необходимости также возможна финансовая помощь или помощь с площадкой.
Переводы
Можно переводить:
- Официальную документацию.
- Статьи в блоге.
- Обзоры мероприятий.
- Субтитры к видео.
- Учебные руководства и рекомендации по работе.
Как отправить:
- Отправляйте переводы документации через PR в
apache/doris-website. - Для переводов статей и материалов мероприятий сначала согласуйте с сообществом целевую страницу и канал публикации.
- Точно передавайте технический смысл. Не искажайте его ради маркетинговых формулировок.
Каналы публикации
В зависимости от типа материала и результатов проверки его могут опубликовать через следующие каналы:
- Официальный сайт Apache Doris.
- Официальный блог Apache Doris.
- Apache Doris на Medium.
- Apache Doris на YouTube.
- Apache Doris в LinkedIn.
- Apache Doris в X/Twitter.
- Apache Doris в Slack.
- Рассылки сообщества, обзоры мероприятий или тематические страницы релизов.
Перед публикацией материалы обычно проходят проверку технической точности. Материалы, содержащие показатели производительности, коммерческие истории внедрения, имена клиентов или информацию о компаниях, также требуют разрешения на публикацию.
Способы участия
Участники сообщества могут присоединяться к следующим мероприятиям или организовывать их:
- Онлайн-митап: тематический обмен опытом онлайн для пользователей со всего мира.
- Офлайн-митап: очные обсуждения для участников из определённого города или региона.
- Вебинар: онлайн-встречи, посвящённые функции, сценарию использования или релизу.
- Практическое занятие: работа с развёртыванием, загрузкой данных, настройкой производительности или практическими примерами.
- Открытая консультация: регулярные встречи с ответами на вопросы пользователей.
- Встреча об опыте пользователей: выступления реальных пользователей о практике промышленной эксплуатации.
- Презентация релиза: встречи о новых функциях и рекомендациях по обновлению.
- Знакомство с проектом для новых участников: встречи, которые помогают разобраться в кодовой базе, процессах и порядке работы сообщества.
- Местное мероприятие сообщества: мероприятия для участников из определённого региона или говорящих на определённом языке.
- Хакатон или спринт по внесению изменений: целенаправленная работа над Issue, документацией, тестами или инструментами.
Как предложить мероприятие
Организаторам следует подготовить следующую информацию:
- Тема мероприятия.
- Целевая аудитория.
- Формат мероприятия.
- Язык мероприятия.
- Время и часовой пояс.
- Докладчик или ведущий.
- Предполагаемая продолжительность.
- Необходимая поддержка со стороны сообщества.
- План продвижения.
- Будут ли по итогам мероприятия подготовлены слайды, запись, статья в блоге или обзор.
Сначала начните обсуждение в канале #dev в Slack. Это позволит большему числу участников присоединиться и обеспечит открытость процесса, как принято в сообществах Apache.
Поддержка со стороны сообщества
В зависимости от типа и качества мероприятия, а также доступных ресурсов сообщество может помочь со следующим:
- Продвижение через официальные медиаканалы.
- Планирование тем.
- Рекомендации докладчиков.
- Техническая проверка слайдов или демонстраций.
- Помощь со страницей регистрации или страницей мероприятия.
- Запись и распространение видеозаписи.
- Продвижение в социальных сетях.
- Сувениры сообщества.
- Ограниченный бюджет мероприятия, например на площадку, материалы, угощения или основные организационные расходы.
- Публикация обзора мероприятия.
Финансирование, подарки, поездки, площадки и спонсорскую поддержку можно обсудить с сообществом. Организаторам следует заранее объяснить, на что будет потрачен бюджет, какого эффекта они ожидают и что будет подготовлено по итогам мероприятия.
Кодекс поведения сообщества
Всем участникам следует соблюдать следующие принципы:
- Уважайте других и общайтесь профессионально, доброжелательно и конструктивно.
- По возможности проводите важные технические обсуждения и принимайте решения сообщества в публичных каналах.
- Будьте открыты к ревью кода, документации и других материалов.
- Если вы не согласны с замечаниями ревьюеров, чётко объясняйте свои технические доводы.
- Не принимайте решения сообщества в частном порядке, если их следует обсуждать публично.
- Отправляйте оригинальные материалы или явно указывайте источники цитат и заимствованной информации.
- Избегайте преувеличенных, непроверяемых или вводящих в заблуждение утверждений о производительности и бизнес-результатах.
- По возможности добавляйте тесты для изменений кода.
- Обновляйте документацию, если изменение затрагивает поведение, видимое пользователям.
- Не раскрывайте личные данные пользователей, конфиденциальные сведения клиентов или внутреннюю конфиденциальную информацию компаний.
- Соблюдайте принципы ответственного раскрытия сведений об уязвимостях. Не публикуйте подробности в открытых каналах до устранения проблемы.
- Уважайте ценности сообщества Apache и соблюдайте Кодекс поведения ASF.
Участники действуют как члены сообщества открытого исходного кода. Если в каких-либо мероприятиях вы представляете компанию, сообщайте об этом, когда это имеет значение. При этом сам вклад должен соответствовать открытому и прозрачному подходу Apache, в котором ценится вклад каждого участника.