
В конце октября мы анонсировали продление программы грантов от Yandex Open Source для поддержки проектов независимых разработчиков. Пришло время подвести итоги и рассказать о победителях.
За прошедшие месяцы мы изучили 120 проектов в трёх категориях: обработка и хранение данных, машинное обучение и разработка. Кстати, одну из заявок мы получили 15 марта в 23:59 — в последнюю минуту подачи. Этот проект тоже есть среди победителей.
Заявки оценивала группа экспертов, в основном — разработчики и менеджеры опенсорс‑проектов Яндекса: YDB, YTsaurus, Testplane, Gravity UI, DivKit и других. Наших коллег мы просили оценить актуальность проекта и его пользу для сообщества, активность репозитория и вектор развития.
Так мы выбрали 12 проектов, которые показались нам самыми интересными, полезными и перспективными. Их создатели получат грант на 600 тысяч рублей, потратить которые можно на платформу данных, инструменты для разработки и другие сервисы Yandex Cloud.
Мы попросили победителей рассказать про свои проекты чуть подробнее. Кто знает, возможно, в этой статье вы найдёте для себя новые инструменты, которые будут полезны в вашем проекте.
Трек «Обработка и хранение данных»
sqruff — Андрей Николаев
Создатели проекта столкнулись с проблемами производительности при проверке крупных объёмов SQL‑кода с помощью SQLFluff и решили переписать линтер на Rust. Так родился sqruff — продвинутый и открытый SQL‑линтер, главной отличительной особенностью которого стала высокая производительность.
sqruff поддерживает основные диалекты SQL и уже готов к интеграции в реальные проекты. В ближайших планах — переработка кода под более идиоматичный Rust, совершенствование системы конфигурации и добавление новых диалектов.
pg_index_stats — Андрей Лепихов
Проект pg_index_stats родился в 2023 году как решение для автоматизации управления статистиками таблиц PostgreSQL. Идея появилась из реальных проблем снижения производительности СУБД, когда перекосы в распределении данных в таблицах приводили к неэффективным планам запросов (например, когда Ивановых больше, чем Шниперсонов). Эти ситуации требовали ручного создания расширенных статистик — процесса, неподъёмного в промышленной эксплуатации.
Расширение актуально для использования в облачных инсталляциях СУБД PostgreSQL. Сейчас команда совершенствует подход — вместо привязки к индексам разрабатывается интеллектуальный механизм, создающий статистики на основе анализа проблемных запросов и их планов выполнения.
Трек «Разработка»
Традиционно в этом треке заявок больше всего, поэтому и победителей в категории мы выбрали больше: гранты получили восемь проектов.
BugStalker — Константин Деревцов
BugStalker (или просто BS) — это отладчик, который появился, когда автору понадобилось быстро освоить Rust. В отличие от gdb и lldb, он заточен под особенности этого языка, что делает жизнь Rust‑разработчиков немного проще.
Отладчик уже нашёл своих пользователей, но контрибьюторы не останавливаются и продолжают активно его развивать, планируя выпускать как небольшие улучшения, так и крупные обновления. А ещё BugStalker может стать отличным учебным проектом для всех, кому интересно, как устроены отладчики изнутри.
js-dos — Александр Гурьянов
В 2014 году автор решил перенести классические игры Dune II и Transport Tycoon в браузер. Тогда и появился js‑dos — эмулятор для запуска классических DOS‑программ онлайн. За восемь версий развития он обзавёлся удобным API и уникальными возможностями: поддержкой DOSBox‑X и запуском Windows 9x с 3Dfx‑ускорением.
Эмулятор используют на образовательных сайтах, в цифровых архивах и просто любители ретроигр. Команда работает над ускорением загрузки больших игр, улучшением 3D‑графики и добавлением мультиплеера через WebRTC.
У проекта есть свой сайт, а также каталог поддерживаемых игр (как раз их можно запустить в браузере).
Vanilla Calendar Pro — Юрий Уваров
Vanilla Calendar Pro — это календарь и датапикер, который автор создал для своего рабочего проекта и выложил в npm. После публикации пользователи начали запрашивать новые функции, и проект стал расширяться.
В отличие от других подобных инструментов, Vanilla Calendar Pro позволяет настраивать HTML‑разметку и внешний вид без написания большого объёма кода. Он работает как ядро для отображения дат, месяцев, лет и времени, которое можно адаптировать под конкретные задачи.
Календарь подходит для сайтов и приложений, где требуется отображение или выбор дат. Сейчас проект активно используется и развивается, а в планах — добавление новых функций кастомизации.
WebMarkupMin — Андрей Тарицын
В 2012 году автор проекта обнаружил, что платформе.NET не хватает хорошего инструмента для минификации HTML‑кода, особенно с учётом новых возможностей HTML5. Так родилась WebMarkupMin — библиотека, которая умеет уменьшать размер файлов HTML, XHTML и XML.
Главные фишки WebMarkupMin — четыре режима минификации пробельных символов и поддержка нестандартной разметки, включая все типы условных комментариев IE и маркеры Blazor. За 12 лет проект преодолел порог в 7 миллионов скачиваний и сейчас используется на сайтах крупных компаний, таких как Dell. Разработчик продолжает улучшать библиотеку и сейчас работает над оптимизацией экранирования значений атрибутов.
kernel-build-containers — Александр Попов
Автор проекта — разработчик ядра Linux, который задумал решить проблему toolchain hell — конфликтов между разными версиями компиляторов на одной машине. Инструмент создаёт изолированные контейнеры с нужными компиляторами для сборки системного ПО.
Проект поддерживает основные архитектуры (x86_64, i386, arm64, arm, riscv) и множество версий компиляторов — от gcc-4.9 до gcc-14 и от clang-5 до clang-17. Он также упрощает кросс‑компиляцию ядра Linux за счёт автоматической настройки параметров сборки.
Инструмент уже активно используется системными разработчиками, а в ближайшее время получит поддержку Podman в дополнение к Docker.
IronOS — Иван Зорин
IronOS — открытая прошивка для паяльников Miniware и Pine64, а также термостолов. Изначально проект существовал как альтернативная прошивка для TS100, но сейчас подходит для самого разного оборудования благодаря вкладу сообщества.
Лауреат гранта — один из четырёх мейнтейнеров, работающих над улучшением документации, автоматизацией процессов и оптимизацией кода. Прошивка добавляет в паяльное оборудование профессиональные функции, например поддержку термопрофилей.
Сейчас команда готовит к выпуску стабильную версию 2.23, делая паяльное дело доступнее для начинающих инженеров.
i18n-unused — Максим Вишневский
Разработчик создал i18n‑unused во время перевода документации Vuestic, когда появилась проблема синхронизации переводов. Инструмент анализирует исходный код на наличие токенов локализации, находит неиспользуемые переводы и может синхронизировать языковые конфиги.
В отличие от появившихся позже аналогов, решение не ограничивается поиском неиспользуемых переводов и работает с разными языками программирования. Несмотря на бета‑статус, пакет уже активно применяется в продакшне, и у него есть стабильный API.
К выпуску готовится мажорный релиз с улучшенным ядром для более глубокой интеграции в CI/CD‑процессы. Следить за новостями проекта можно в телеграм‑канале автора.
Talker — Станислав Ильин
Talker — библиотека для Dart. Она появилась, когда разработчик столкнулся с проблемой отладки большого проекта. Вместо размытых сообщений в духе «оно сломалось», инструмент собирает детальные «слепки» состояния приложения, позволяя тестировщикам и пользователям отправлять информативные баг‑репорты.
Главное преимущество Talker — простота использования. В отличие от других библиотек логирования, достаточно установить пару пакетов, и система начнёт автоматически собирать логи без необходимости вручную настраивать логгер по всему коду.
Сейчас библиотека в стабильной версии 4.7, работает во многих продакшн‑приложениях и готовится к релизу версии 5 с тремя новыми модулями. Следить за развитием проекта можно в телеграм‑канале автора.
Трек «Машинное обучение»
VLMHyperBench — Антон Ширяев
В октябре 2024 года студенты магистратуры AI Talent Hub в ИТМО разработали VLMHyperBench — фреймворк для оценки возможностей Vision Language Models (VLM) в распознавании русскоязычных документов с целью автоматизации документооборота.
Инструмент позволяет сравнивать модели, которые нельзя запустить в одном окружении, в том числе на разных фреймворках инференса, оценивать промпты для разных типов документов и полей, а также легко добавлять свои данные, новые модели и метрики. Он пригодится как исследователям для сравнения и анализа работы моделей, так и бизнесу для оценки их работы с реальными документами.
Сейчас проект активно дорабатывается. Следить за обновлениями можно в телеграм‑канале.
Faster COCO Eval — Михаил Степанов
В 2021 году автор проекта столкнулся с проблемой: классический алгоритм COCO‑валидации работал слишком долго, решая задачи с тысячами объектов на одном изображении. Так появился Faster COCO Eval — инструмент, который ускоряет процесс в три раза для стандартных задач и больше чем в 10 раз для сложных случаев.
Библиотека уже интегрирована в популярные инструменты TorchMetrics и d‑fine, активно используется CV‑разработчиками для подсчёта метрик моделей детекции. В планах — добавление дополнительных визуализаций с bbox, переход на C++20 и интеграция с Ultralytics.
Поздравляем победителей! А если вы хотите принять участие в следующем конкурсе грантов Yandex Open Source, следите за нашими анонсами.
vasily-v-ryabov
В целом, хорошее начинание. Однако осознанно не подался на грант, потому что пока считаю это просто записью на бета-тест. Ведь по сравнению, скажем, с доступностью тех же GitHub Actions бесплатно (понятно, что с ограничениями) для опен сорс проектов - это только первые шаги (но я их всё равно поддерживаю, конечно же). Правильнее было бы делать гранты именно на разработку опен сорс проектов, а не на оборудование и сервисы, которые с ограничениями должны быть бесплатны для опен сорса по умолчанию. Тогда мейнтейнер смог бы не работать в коммерческой компании, а концентрировался бы на общественно полезном проекте или на нескольких таких проектах. По этой причине у нас в стране только один Python core developer, и крайне мало core девелоперов по другим базовым технологиям (оси, языки и компиляторы и т.п.). Иллюзий не питаю, быстро всё это не появится, но это потенциальное будущее. Ревью эффективности при этом никто не отменял, речь не о халяве.