И это уже вызвало немало споров в сообществе
Разработчики Git обсуждают возможность сделать язык Rust обязательной зависимостью в грядущем обновлении Git 3.0.
Это означает, что для сборки системы контроля версий потребуется установленный компилятор Rust — как неотъемлемая часть инфраструктуры.
Что происходит
Предложение активно обсуждается в списке рассылки разработчиков Git. Идея заключается в поэтапной интеграции Rust, аналогично тому, как ранее был внедрен стандарт C99:
- На тестовом этапе Rust останется необязательным, но его использование будет поощряться.
- Начиная с Git 3.0, Rust может стать жесткой зависимостью, необходимой для сборки проекта.
Почему Rust?
Интеграция Rust началась в Git 2.49 (март 2025 года), где появились первые экспериментальные компоненты:
libgit-sys
— низкоуровневая обвязка над внутренними C-библиотеками Git.libgit
— высокоуровневая библиотека для написания компонентов на Rust.
В июле 2025 года в проект был предложен Rust-патч для утилиты xdiff, который, по замерам, улучшает производительность на 5–19%. Именно тогда впервые прозвучала идея сделать Rust обязательным.
Но не все так просто
Мнения разработчиков Git разделились. Среди основных аргументов «против»:
- Ограниченная кросс-платформенность Rust — не все целевые платформы Git в полной мере поддерживаются компилятором
rustc
. - Увеличение сложности сборки для пользователей и дистрибутивов.
- Опасения, что переход может исключить «редкие» платформы из числа официально поддерживаемых.
Сторонники же отмечают:
- Рост производительности.
- Безопасность и современный инструментарий, которые дает Rust.
- Возможность постепенного переписывания уязвимых и сложных компонентов Git с более надежным управлением памятью.
Что дальше
Пока решение не принято. Но вопрос об обязательной зависимости Rust будет решаться до релиза Git 3.0, который может состояться в 2026 году.
Ожидается, что сначала язык будет использоваться в опциональных частях, а затем его статус пересмотрят с учетом зрелости экосистемы и совместимости.
Обязательная поддержка Rust в Git станет важной вехой: Git всегда был проектом, ориентированным на C и минимальные внешние зависимости. Переход к Rust — это потенциальное изменение философии.