Open Source

От контрибьютора к мейнтейнеру

Фарук Абесе поддерживает core-js - библиотеку которая входит в 75% всех веб-сайтов. В 2019 он написал что не может оплатить аренду. Реакция сообщества изменила разговор о финансировании OSS. Быть мейнтейнером - это не только слава, это реальный труд.

  • core-js maintainer Zloirock: 9 млрд downloads/месяц, один maintainer, финансовые трудности
  • OpenSSL: критический интернет-инструмент поддерживался 1-2 людьми до Heartbleed инцидента
  • GitHub Sponsors запущен в 2019 как ответ на burnout epidemic в OSS
  • Tidelift: бизнес-модель которая платит maintainers за enterprise поддержку их OSS

Ответственности мейнтейнера

Стать мейнтейнером - не цель, а обязательство. Пользователи начнут зависеть от вас. Security vulnerabilities будут репортить вам. Breaking changes станут вашей ответственностью. Это не почёт - это работа.

**Onboarding новых contributors - инвестиция в будущее.** Лучшие мейнтейнеры создают good first issue с очень подробным описанием: не просто «исправить X», а «вот файл, вот строка, вот что нужно изменить, вот как тестировать». Это создаёт pipeline contributors которые потом вырастают в committers.

У вашего проекта накопилось 200 открытых issues за год. Как правильно разобраться?

Burnout: предотвращение и передача проекта

**Maintainer burnout - эпидемия в OSS.** Исследование 2019 года: 58% OSS maintainers испытали burnout. Причины: неограниченные ожидания пользователей, ощущение долга перед каждым issue, токсичные interactions, работа без оплаты. Профилактика - не опциональна.

**Передача проекта - акт уважения.** Заброшенный проект с 10 000 пользователей которые не знают что он мёртв - это хуже чем явная передача. Варианты: найти co-maintainer заранее, передать в организацию (CNCF, ASF), опубликовать seeking-maintainer issue. Никогда не удаляйте - это может сломать зависимые проекты.

Вы поддерживаете проект 3 года, устали. Проект используют 50 000 человек. Что делать?

Ключевые идеи

  • Мейнтейнер = еженедельный issue triage, PR review, releases, community management
  • Triage labels: needs-reproduction, good first issue, help wanted, wontfix - стандартный набор
  • Burnout признаки: тревога при открытии GitHub, избегание notifications, раздражение
  • Профилактика: явные ожидания времени ответа, funding, делегирование, перерывы легитимны
  • Передача проекта - акт уважения: ищите преемника заранее, никогда не удаляйте

Связанные темы

Это финальный урок курса. Весь путь: от понимания лицензий до ответственности мейнтейнера.

  • Начало курса — Вернуться к основам

Вопросы для размышления

  • Если бы вы создавали свой OSS проект сегодня, какие границы вы бы установили с первого дня? Что написали бы в README о поддержке?
  • Как вы думаете, какие изменения в GitHub/npm экосистеме могли бы системно снизить burnout среди maintainers?

Связанные уроки

  • oss-09-maintainers — Понять роль мейнтейнера перед тем как ею стать
  • oss-07-code-review — Мейнтейнер проводит десятки ревью в неделю
  • oss-08-community — Культура сообщества - ответственность мейнтейнера
  • oss-17-security — Мейнтейнер управляет CVE и security disclosure
  • se-14 — Рефакторинг кодовой базы как одна из ключевых обязанностей
  • se-01
От контрибьютора к мейнтейнеру

0

1

Войти