Microsoft вводит ручную модерацию пакетов проекта winget
Ключевой разработчик winget из Microsoft Демитриус Нелон (Demitrius Nelon) рассказал, что его команда решила проблему со всплеском активности по присыланию новых манифестов и pull request (pr) в проекте пакетного менеджера Windows Package Manager 1.0 (winget). Он ввел ручную модерацию пакетов и всех pull request, чтобы уменьшить количество дубликатов pr и манифестов с некорректными метаданными.
Также Нелон попросил всех разработчиков, кто поддерживает проект winget, в позитивном контексте и конструктивно присылать ему новые предложения по решению проблемы с «замусориванием» репозитория пакетного менеджера winget.
Фактически Microsoft в этом инциденте оперлась на 15 разработчиков-волонтеров со всего мира, которые стали модераторами по обработке новых pr и манифестов, а также занимаются администрированием проекта winget. Часть из этих разработчиков являются сотрудниками Microsoft, но и они принимают участие в проекте на безвозмездной основе.
Модераторы проекта уже занялись ручной проверкой и поддержкой манифестов в актуальном состоянии, добавляя в них только новые и корректные материалы. Именно от них будет некоторое время зависеть поддержка репозитория проекта в актуальном состоянии и даже целостность экосистемы winget.
В Microsoft также есть план по проверке списка издателей, приславших манифесты. Этот процесс сейчас находится на стадии завершения.
В начале июня в репозитории пакетного менеджера winget для Windows 10 появилось много дубликатов, плохо сформированных пакетов и искаженных манифестов. Сообщество попыталось самостоятельно решить проблему и указать ее масштабы Microsoft. После нескольких issue с названием «Требуется модерация», в компании обратили внимание на критическую ситуацию.
Ситуация дошла до того, что бот, принимавший манифесты и pull request, мог принять pr, который, гипотетически, мог заставить пакет Chrome установить заместо него браузер Firefox. В некоторых случаях пользователям предлагались для установки 32-битные версии приложений на их 64-битных системах, когда в репозитории проекта были рабочие 64-битные версии. Часть установок некоторых приложений просто зависали из-за их очень старых версий или пользователи получали неработающие приложения, хотя в репозитории до этого были их стабильные версии.
Издание Register заострило внимание на том, что Microsoft явно не учла все аспекты надежности и безопасности при внедрении релиза winget, сделав его общедоступным. Компания вкладывает огромные ресурсы в безопасность Windows. Обеспечение правильно сформированного, надежного и заслуживающего доверия репозитория пакетов этого проекта имеет решающее значение в данной ситуации. Причем эту работу следовало выполнить до, а не после общего развертывания и начала коллапса.
Нелон по этому поводу высказался, что он не верит, что кто-то может быть экспертом во всех подобных ситуациях, связанных с установщиками и сторонним программным обеспечением. По его мнению, только совместные действия разработчиков, которые учатся на своих ошибках, позволят реализовать подобный проект в правильном направлении, а также помогут ему развиваться далее.
26 мая 2021 года Microsoft представила версию 1.0 пакетного менеджера Windows Package Manager (winget), с помощью которого можно устанавливать, обновлять, настраивать и удалять приложения в ОС Windows 10 из командной строки, терминала Windows или PowerShell. Microsoft опубликовала исходный код winget на GitHub под лицензией MIT License. Утилита написана на языке С++. В релизной версии winget доступны команды: install, show, source, search, list, upgrade, uninstall, hash, validate, settings, features, export, import.