Релиз и первые жалобы
rsync 3.4.3 вышел как плановый security-релиз: шесть закрытых уязвимостей, стандартная процедура для инструмента, которым пользуются миллионы серверов и рабочих станций по всему миру. Сам по себе патч безопасности такого масштаба — событие ожидаемое и, в принципе, рутинное.
Однако вместе с исправлениями в новую версию попали регрессии, затронувшие поведение, которое администраторы годами считали предсказуемым и надёжным. Пользователи начали сообщать о поломках в рабочих конфигурациях и сценариях автоматизации — тех, что без нареканий работали на протяжении лет и не трогались годами именно потому, что работали.
Пятьдесят коммитов и Claude
Незадолго до релиза в публичной истории коммитов rsync обнаружилось около пятидесяти изменений, подготовленных с помощью Claude. Использование ИИ-инструментов при разработке открытого программного обеспечения само по себе уже является предметом споров в сообществе — особенно когда речь идёт о зрелых, критически важных проектах с многолетней историей.
На этом фоне регрессии почти автоматически получили готовый нарратив: «в важный инфраструктурный проект пустили ИИ, и он нагенерировал плохие исправления». Триджелл в своём посте прямо указывает, что понимает, как сейчас ИТ-сообщество воспринимает подобные истории, — и именно поэтому счёл нужным ответить развёрнуто, а не ограничиться комментарием в трекере.
Что именно сломалось
Список пострадавших сценариев охватывает несколько практически значимых областей. Инкрементальные бэкапы с несколькими флагами --compare-dest — один из базовых паттернов резервного копирования в rsync — начали работать некорректно. Поведение --link-dest, которое управляет жёсткими ссылками при создании снапшотов, также изменилось.
Отдельно пострадала совместимость со старым окружением: сборка rsync перестала проходить на старых ядрах Linux и на старых версиях macOS. Для проекта, который традиционно поддерживает широкий диапазон платформ и ценится именно за предсказуемость на любом окружении, это особенно болезненно.
Ответ Триджелла
Триджелл не стал отвечать разрозненными комментариями в тредах — он написал отдельный пост в своём блоге на Medium. Это само по себе сигнал: автор воспринимает ситуацию достаточно серьёзно, чтобы сформулировать позицию целостно, а не тушить отдельные очаги.
По тону пост местами раздражённый, местами ехидный — что легко объяснимо для человека, который реально держит на себе проект и наблюдает, как обсуждение уходит от технических фактов в сторону обобщений об ИИ. Ценность текста именно в этом: это взгляд опытного инженера изнутри, а не реакция стороннего наблюдателя. Ниже — перевод его поста.