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

推荐订阅源

Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
Microsoft Azure Blog
Microsoft Azure Blog
Cloudbric
Cloudbric
I
InfoQ
V
V2EX
博客园_首页
The Register - Security
The Register - Security
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
S
Secure Thoughts
Vercel News
Vercel News
Forbes - Security
Forbes - Security
云风的 BLOG
云风的 BLOG
PCI Perspectives
PCI Perspectives
L
LINUX DO - 最新话题
D
DataBreaches.Net
H
Hacker News: Front Page
Application and Cybersecurity Blog
Application and Cybersecurity Blog
B
Blog RSS Feed
A
About on SuperTechFans
N
News and Events Feed by Topic
Apple Machine Learning Research
Apple Machine Learning Research
Help Net Security
Help Net Security
Attack and Defense Labs
Attack and Defense Labs
N
Netflix TechBlog - Medium
Spread Privacy
Spread Privacy
F
Full Disclosure
Recorded Future
Recorded Future
AWS News Blog
AWS News Blog
博客园 - 【当耐特】
The Cloudflare Blog
T
Threatpost
T
Tor Project blog
Google DeepMind News
Google DeepMind News
C
CXSECURITY Database RSS Feed - CXSecurity.com
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
Recent Announcements
Recent Announcements
M
MIT News - Artificial intelligence
A
Arctic Wolf
C
Check Point Blog
Stack Overflow Blog
Stack Overflow Blog
T
Threat Research - Cisco Blogs
Security Archives - TechRepublic
Security Archives - TechRepublic
Hacker News - Newest:
Hacker News - Newest: "LLM"
WordPress大学
WordPress大学
Cyberwarzone
Cyberwarzone
小众软件
小众软件
C
Cyber Attacks, Cyber Crime and Cyber Security
P
Proofpoint News Feed
Security Latest
Security Latest
The Last Watchdog
The Last Watchdog

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

Ловим музу за клавиатуру: как айтишнику стать автором Что умеет 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 за минуты Опыт разработчика как экономика внимания Автономность как точка невозврата: кто будет субъектом в цифровом будущем Обучение ИИ в «диких» условиях: как рутинные действия превращаются в датасеты Как измерить LLM для задач кибербеза: обзор открытых бенчмарков Где хранить код? Сравнение GitHub, GitLab и Bitbucket Математика объясняет, почему нормальное распределение встречается повсюду Почему ваш FinOps не работает: 12 тезисов от практиков Как подписать проектную документацию УКЭП с использованием бесплатных лицензий Pilot Адаптивное администрирование Sigla Vision Я грузил уран в бочки, а потом 20 лет строил ИТ в атомной отрасли Чем позвонить с Эвереста? История и обзор спутниковой связи. Часть 2 Как языковая модель помогает контролировать качество инструктажей по охране труда в металлургии Как не передать на desktop свой IP в РКН Анатомия SAP Privileges: как устроено управление правами в macOS MoneyDev: Сказка про три главных слова Обновлённый токенизатор видео K-VAE 2.0 от Сбера Как сделать диспетчеризацию дома на 1284 квартиры почти бесплатно Как мы разогнали железную дорогу Мы дали агентам рутину. Теперь надо решить — что делать с освободившимся временем Токсичный контент, промпт-хакинг и защита ИИ — всё о Guardrails для LLM Умный город начинается с точного взгляда: как «Фалькон Тех» меняет пространство к лучшему Навайбкодил приложение для анализа графов Почему Дюну так интересно читать? Упрощаем работу с рутиной или как стать Гендальфом Белым Деконструкция Go: CPU, RAM и что там происходит. Go Assembler база. Часть 1.1 Какие профессии исчезнут из-за ИИ, а какие появятся? И что с этим делать Как мы построили IT-отдел, где хочется расти: архитектурные встречи, прозрачные метрики и книжные подарки Rufler: Делаем из Claude Code автономный рой через один YAML-конфиг Sing-box и белый список приложений Как построить надёжный обмен сообщениями в микросервисах: лучшие практики для enterprise OpenAI строит MLM-пирамиду, а McKinsey и Accenture помогают ей в этом Дом, который не построил Фишер (Часть 2) «Сверхзвуковой математик» против «Вдумчивого логиста»: битва алгоритмов 3D-упаковки Мультимодальные модели – грубый и дорогой инструмент Разговоры ничего не стоят. Код тоже Проверки физических лиц: с кого начнет ФНС Топ-10 бесплатных нейросетей для создания видео в 2026 году Первые слои кода: как наши решения сегодня определяют архитектуру ИИ на десятилетия Разработка нового статического анализатора: PVS-Studio JavaScript Поиск уязвимостей ПО: базовый минимум или роскошный максимум Почему оценка персонала не работает как инструмент управления Как мы разработали ИИ-ассистента и сократили рутину продуктовой команды на 50% Как я ушел из найма, нажарил косточек и продал на маркетплейсах на 168 млн в год Когда 1С:ERP уже внедрена, а нормального производственного плана всё ещё нет Как я сделал Claude мультимодальным, подключив к нему Qwen Omni Как приглашение на вакансию мечты превращается в атаку Infrastructure as Code: философия и лучшие практики IaC Тестируем Yandex Code Assistant на задаче, в которой нужно хранить секреты nxs-universal-chart v3.0: новое поколение универсального Helm-чарта Callback Injection: Техника, которая отправила Microsoft Defender в глухой нокаут «Все идеи на стол»: митап как способ вывести проект из тупика Сегодня я узнал нечто новое о GPU благодаря багу в своей игре Как заставить LLM ̶ ̶г̶а̶л̶л̶ю̶ ̶ эволюционировать Карта событий как фундамент аналитики: практический кейс для E-commerce Что выбрать для AI: x86, ARM или RISC-V? Дайджест железа за март Роль соматических мутаций в развитии аутоиммунных заболеваний: путь к избирательной терапии Mythos от Anthropic — тревожный сигнал для всех, а не только для банков Guardrails для LLM на Java: как приручить промпт‑инъекции и токсичные ответы Green-VLA: как мы собрали VLA-модель для реального антропоморфного робота и не потеряли обобщение Финансовая гонка вооружений: почему умные люди добровольно в ней участвуют Эра ИИ-агентов наступила: выбираем лучшего цифрового сотрудника # Практический опыт внедрения WinCC Redundancy на производственном предприятии Сделал MVP за 3 дня, а потом неделю прикручивал оплату. Оно того стоило? Физика против Маска: почему Starship V3 может оказаться ещё одной катастрофой Нефть Венесуэлы: крупнейшие запасы в мире, но не крупнейшая нефтяная держава JPA 4. Переосмысление Hibernate Почему зеркальная фотокамера Nikon D5 десятилетней давности идеально подошла для миссии «Артемида-2» Проект «Уровень-Спутник» или как мы сделали платформу для гидрологов «Замедлиться, чтобы ускориться»: почему ИИ повышает цену ошибок в требованиях и архитектуре Как с нуля поднять трафик IT-компании на 1657% при бюджете 55 тыс. и выжить Pixel-perfect Downsampling — идеальная отрисовка 50 миллионов точек без потерь
Иннерсорс: строим культуру открытого кода в большой компании
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 задач в десятках команд, и цифры продолжают расти. В ближайшее время — больше автоматизации: дайджесты новых задач, подписки по стеку, напоминания о взятых задачах. Все то, что снимает ручную работу по сопровождению.

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