惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Engineering at Meta
Engineering at Meta
雷峰网
雷峰网
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
B
Blog
Y
Y Combinator Blog
WordPress大学
WordPress大学
Microsoft Azure Blog
Microsoft Azure Blog
小众软件
小众软件
G
Google Developers Blog
云风的 BLOG
云风的 BLOG
罗磊的独立博客
博客园 - 三生石上(FineUI控件)
博客园 - 叶小钗
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
量子位
The Cloudflare Blog
T
The Blog of Author Tim Ferriss
博客园_首页
B
Blog RSS Feed
Hugging Face - Blog
Hugging Face - Blog
IT之家
IT之家
阮一峰的网络日志
阮一峰的网络日志
L
LangChain Blog
宝玉的分享
宝玉的分享

Все публикации подряд на Хабре

Ловим музу за клавиатуру: как айтишнику стать автором Что умеет Midjourney в 2026? Мой немного грустный разбор этого шикарного инструмента Никто не любит писать тесты, но ИИ может исправить это IPv8 выглядит как мечта. Поэтому почти наверняка не взлетит Производители вернули в продажу материнки с DDR3. Что происходит? Управление агентом с телефона через Telegram теперь в KodaCode От координации к лидерству: как меняется роль руководителя разработки Я сделала родителям бизнес вместо пенсии: зарабатываем 70 тысяч, мама не даёт продать В три раза быстрее приемка товара и оптимизация трудозатрат на 73%: как «РСТ-Инвент» помог Gulliver Group ИИ-шечный мир победил? О влиянии искусственного интеллекта на игропром Кремль снижает давление на Телеграмм пока Европа строит интернет по паспорту Как CEO, CTO и CIO за 8 часов собрали ИИ-директора, который умеет держать позицию под давлением Как (не) потерять домен за выходные Вместо 8 разных VPS: как я организовал практику студентам на одном сервере Почему твой Open Source проект не замечают? R&D: искусство управления неопределенностью в разработке AI-дефляция: вакансий для разработчиков больше, а рост зарплат — худший за 15 лет Мы отдали управление роботами OpenClaw. Что из этого вышло Галактический ID: система идентификации для всех форм разумной жизни Шесть основ бизнес-анализа: начинаем с вопроса «Кто в игре?» Код-ревью, в котором дело не в коде Данные переехали. Команда — нет Системной подход к сдаче OSWE в 2025 Почему комната управления реактором покрашена в цвет морской пены 4 YAML-файла вместо PySpark: как аналитикам строить пайплайны без разработчиков LLM-агент для поиска свободных доменов: автоматизируем подбор Когда, зачем и как правильно начинать новую сессию в Claude Code? Как я заставил нейросеть писать макросы для FreeCAD Анатомия ИИ‑агента для подбора персонала. От тысячи резюме к топ‑10 за минуты Опыт разработчика как экономика внимания
Иннерсорс: строим культуру открытого кода в большой компании
vladimir_pot · 2026-05-05 · via Все публикации подряд на Хабре

Иннерсорс: строим культуру открытого кода в большой компании

Уровень сложностиПростой

Время на прочтение7 мин

Охват и читатели14

Мнение

Привет! Я Владимир Потехин, разработчик в Т-Банке в ИТ-хабе Нижнего Новгорода. Моя статья — первая в спецпроекте «20 в 20» к 20-летию Т-Банка. Двадцать специалистов из двадцати городов расскажут свои истории в серии статей, чтобы показать, как выглядит наша распределенная ИТ-карта. За эти годы Т-Банк сильно вырос, вместе с ним выросла и инженерная среда: команды работают в разных городах, но остаются частью одного большого процесса.

Я много времени уделяю работе с опенсорсом и искренне за него радею. Люблю опенсорс за ощущение общего дела: когда код не просто пишешь, а вместе с другими улучшаешь, обсуждаешь, докручиваешь и делаешь полезнее.

В крупной компании есть объективное ограничение: не каждый проект можно вынести за периметр. Даже хорошо изолированный от бизнес-логики код часто несет на себе груз внутренней инфраструктуры, договоренностей, данных и открыть его невозможно даже при большом желании.

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

Немного истории

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

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

Ежегодный фестиваль «Сезон кода» в Нижнем Новгороде 

Ежегодный фестиваль «Сезон кода» в Нижнем Новгороде 

У нас сильный HR Tech: команда выросла из внутренних автоматизаций найма в полноценный продукт, который покрывает весь жизненный цикл сотрудника — от привлечения до развития. Еще есть Marketing Technologies — решения для автоматизации маркетинга, шопинга и рекламы, причем сразу под B2B и B2C, с упором на масштаб и эффективность.

Отдельный стратегический трек — кибербезопасность: делают инструменты защиты инфраструктуры и параллельно развивают AI-ассистента, который помогает с безопасностью и реагированием на инциденты.

Примерно до 2019 года большинство команд в компании по умолчанию держали репозитории закрытыми. Хочешь посмотреть код соседей — договаривайся, объясняй зачем, проси доступ.

Постепенно инфраструктура менялась, и было принято решение сделать шаг в сторону открытой инженерной культуры: репозитории стали доступны коллегам по умолчанию. Это потребовало от разработчиков большей осознанности — код теперь пишется с пониманием, что его прочитает любой желающий. Появились качественные README, комментарии для людей, оформление репозиториев стало аккуратнее.

Этот шаг стал первой предпосылкой к тому, что мы начали строить дальше.

Проблема, которую мы хотели решить

Роман Седов, лидер профессии JS

Во время работы с инструментами я регулярно натыкаюсь на что-то, что хочется улучшить: иногда мелкая неконсистентность, иногда фундаментальная проблема, которая замедляет работу в разы. Бывало понятно, к кому идти и как помочь. Но бывало и наоборот: идея внести merge request наталкивалась на стену: проект сложно запустить локально, нужно давать права, менторить с нуля. В итоге разработчики делали локальные костыли или писали свое с нуля — и в обоих случаях идеи и код не переиспользовались.

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

Мне частенько приходилось делать этот выбор — будь то проект для автоматизации рутины, общий линтер или библиотека для работы с AST-деревьями. В девяти случаях из десяти сделать костыли проще. Но проще не значит лучше: я стараюсь сначала смотреть, как можно законтрибьютить. Это принесет пользу и для меня, и для всех, кто использует проект, и для тех, кто придет после. 

Как мы начали

Привить культуру открытости — идея красивая, но слишком большая, чтобы взяться за нее сразу целиком. Поэтому мы искали минимальный шаг: что-то, на чем можно проверить гипотезу и получить первые сигналы.

Такой шаг нашелся в библиотеках UI-компонентов. У нас есть дизайн-система и четыре ее реализации: React, Angular, iOS, Android. Почти идеальный полигон для иннерсорса: компоненты достаточно изолированы, контрибьют часто закрывает конкретную нужду твоего проекта прямо сейчас, а одно улучшение работает сразу на сотни downstream-проектов.

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

Где иннерсорс приживается лучше всего

Опыт показывает: не все проекты одинаково хорошо подходят для открытого контрибьюта. Лучше всего работает на общих библиотеках и core-инструментах. Там, где ценность контрибьюта очевидна, а компоненты достаточно изолированы, чтобы PR не ронял что-то соседнее. Еще большой интерес вызывают внутренние проекты, которыми пользуются разработчики внутри компании.

Есть обязательное условие для любого проекта, который хочет открыться, — хорошая документация. Не просто README с одной строчкой, а реальное и актуальное описание: как запустить проект локально, как устроен процесс ревью, что считается хорошим PR. Без этого даже самый мотивированный человек потратит большую часть времени на выяснение элементарного — и, скорее всего, больше не вернется.

Как иннерсорс работает у нас

Команда мейнтейнер заводит небольшой конфиг в специальном репозитории с указанием стека, описанием проекта, контактами и ссылками на полезную для контрибьютора информацию. Этот конфиг помогает выстраивать различные автоматизации для аналитики и дополнительной мотивации. Центральный инструмент — доска Иннерсорс. Проекты, открытые для контрибьюта, выкладывают туда задачи с описанием, стеком и контактами. Можно отфильтровать по стеку или проекту, взять интересующую задачу и получить все инструкции.

Дальше живое общение с командой-мейнтейнером: онбординг в контекст задачи, ревью, мердж. Я как мейнтейнер одного из проектов, открытых для иннерсорса, добавлю, что такое общение разнообразит рабочий процесс, помогает завести новые контакты и в какой-то степени прокачивает софт-скиллы. 

Однажды я парт-тайм помогал развивать один быстрорастущий проект. Когда задач стало больше, чем я мог потянуть, понадобилось найти сильного фронтенд-разработчика уже на фултайм. Благодаря контактам, которые мне принес иннерсорс, фронтендер нашелся очень быстро и хорошо усилил команду. 

Зачем разработчтки контрибьютят

Мотивации у специалистов разные, и хороший процесс должен работать для всех:

  • Команда ждет правок в общем проекте вне спринта — контрибьют позволяет не ждать.

  • Нужны задачи для перформанс-ревью или заявки на повышение — иннерсорс дает доступ к задачам другого уровня или стека.

  • Между проектами появился временной резерв — есть куда его направить с реальной пользой.

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

Ачивки за иннерсорс

Ачивки за иннерсорс

Влияние на инженерную культуру

Когда разработчик впервые делает вклад в чужой проект, происходит несколько вещей одновременно. Он видит, как работает другая команда: какие практики, какие инструменты, почему приняты те или иные решения. Мейнтейнер получает свежий взгляд снаружи. Обе стороны обмениваются опытом — часто неформально, прямо в процессе ревью или обсуждения подхода.

Со временем это рушит барьеры между командами. Разработчики начинают знать людей за пределами своего непосредственного окружения, и чужой код перестает быть черным ящиком. Если возникает проблема с каким-то инструментом, вместо поиска виноватых и перекладывания ответственности первой реакцией становится вопрос «А могу ли я сам исправить это?».

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

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

Команда ИТ-хаба по волейболу

Команда ИТ-хаба по волейболу

Опен-толк в стенах ИТ-хаба

Опен-толк в стенах ИТ-хаба

Что нужно понимать заранее

Прежде чем открывать проект, стоит честно ответить на несколько вопросов — они сэкономят много нервов потом.

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

Срочные задачи тоже не подходят: у контрибьютора есть основной проект с более высоким приоритетом и в любой момент он может переключиться на него — это нормально и ожидаемо. Мы предупреждаем контрибьюторов: если в течение двух недель не получается найти время, чтобы приступить к задаче, лучше снять с себя ассайни, чтобы другие могли попробовать. 

Иннерсорс плохо закрывает острую нехватку ресурсов — не стоит использовать его с этой целью.

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

Отдельно про мейнтейнеров

Открыть проект для внешних контрибьюторов — не только про то, чтобы «дать доступ». Это требует определенной зрелости от команды-хозяина.

Нужно уметь делегировать — принять, что кто-то снаружи возьмет часть работы, и воспринимать это спокойно, а не тревожно. Нужно уметь ревьюить чужой код — быстро, конструктивно, с уважением к тому, что человек потратил время и пришел помочь. Затянутое ревью или холодный прием убивают желание контрибьютить не меньше отсутствующего CONTRIBUTING.md.

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

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

Что дальше

Мы продолжаем развивать процесс. За 2025 год совместными усилиями участники иннерсорса закрыли более 400 задач в десятках команд, и цифры продолжают расти. В ближайшее время — больше автоматизации: дайджесты новых задач, подписки по стеку, напоминания о взятых задачах. Все то, что снимает ручную работу по сопровождению.

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