Автор написанного на языке Rust web-фреймворка actix-web удалил репозиторий после того, как на него обрушилась критика за "неправильное использование" языка Rust. Фреймворк actix-web, пакет с которым был загружен более 800 тысяч раз, позволяет встраивать в приложения на языке Rust функциональность http-сервера и клиента, при разработке ориентирован на достижение максимальной производительности и лидирует во многих тестах web-фреймворков.
Незадолго до инцидента в issues на GitHub было сообщено о выявлении неопределённого поведения (Undefined Behaviour) в коде сервера actix-web, возникающего в блоке, выполняемом в режиме unsafe (допускает выполнение небезопасных действий с указателями). Автор actix-web не стал убирать блок unsafe, но переделал вызов этого блока, чтобы неопределённое поведение не возникало. Предложения убрать unsafe автор отклонил, ссылаясь на возможную потерю производительности и заявив, что он не использует unsafe без необходимости и уверен в безопасности работающих в данном режиме блоков.
Участник команды RustSec, который выявил неопределённое поведение, не согласился и предположил, что применение многих unsafe-блоков в actix-web неоправданно. После этого он опубликовал статью о недопустимости использования unsafe, в которой, среди прочего было упомянуто, что применяемый в actix-web приём работы с указателями (несколько изменяемых указателей на одни и те же данные) потенциально может стать причиной возникновения уязвимостей use-after-free и не соответствует парадигме разработки на Rust.
После обсуждения статьи на Reddit, в issues на GitHub набежали тролли, и автор actix-web был подвергнут шквалу критики и оскорблений за неправильное использование Rust. Автор не выдержал психологического давления, удалил репозиторий и написал, что завязал с Open Source.
Дополнение от 20 января: Содержимое репозитория actix-web возвращено, так как он был востребован некоторыми пользователями. При этом автор actix-web по-прежнему не намерен продолжать разработку, но передаст проект сообществу и рекомендовал на пост лидера участника JohnTitor, который оказывал помощь в разработке.
Незадолго до инцидента в issues на GitHub было сообщено о выявлении неопределённого поведения (Undefined Behaviour) в коде сервера actix-web, возникающего в блоке, выполняемом в режиме unsafe (допускает выполнение небезопасных действий с указателями). Автор actix-web не стал убирать блок unsafe, но переделал вызов этого блока, чтобы неопределённое поведение не возникало. Предложения убрать unsafe автор отклонил, ссылаясь на возможную потерю производительности и заявив, что он не использует unsafe без необходимости и уверен в безопасности работающих в данном режиме блоков.
Участник команды RustSec, который выявил неопределённое поведение, не согласился и предположил, что применение многих unsafe-блоков в actix-web неоправданно. После этого он опубликовал статью о недопустимости использования unsafe, в которой, среди прочего было упомянуто, что применяемый в actix-web приём работы с указателями (несколько изменяемых указателей на одни и те же данные) потенциально может стать причиной возникновения уязвимостей use-after-free и не соответствует парадигме разработки на Rust.
После обсуждения статьи на Reddit, в issues на GitHub набежали тролли, и автор actix-web был подвергнут шквалу критики и оскорблений за неправильное использование Rust. Автор не выдержал психологического давления, удалил репозиторий и написал, что завязал с Open Source.
Дополнение от 20 января: Содержимое репозитория actix-web возвращено, так как он был востребован некоторыми пользователями. При этом автор actix-web по-прежнему не намерен продолжать разработку, но передаст проект сообществу и рекомендовал на пост лидера участника JohnTitor, который оказывал помощь в разработке.