Полный текст

Линус Торвальдс ответил на критику и вопросы сопровождающего ядра Linux Кристофа Хеллвига по поводу политики работы с Rust. Торвальдс заявил о неконструктивном диалоге при обсуждении интеграции кода Rust в ядро Linux и призвал сопровождающих отвечать за свой код. По мнению Торвальдса, игнорировать сторону Rust при работе с ядром Linux автоматически означает, что у таких мейнтейнеров нет никакого права голоса на стороне Rust.«Вы говорите, что не согласны с Rust — это нормально, никто никогда не требовал от вас писать или читать код Rust. Но затем вы принимаете эту позицию за то, что код Rust не может даже использовать или взаимодействовать с кодом, который вы поддерживаете. Поэтому позвольте мне быть предельно ясным: если вы как сопровождающий чувствуете, что контролируете, кто или что может использовать ваш код, ВЫ НЕ ПРАВЫ. Я уважаю вас технически, и мне нравится работать с вами. И нет, я не ищу подхалимов, и мне нравится, когда вы бросаете мне вызов. Я иногда говорю глупости, должны быть люди, которые просто выступают против меня и говорят, что я полный отстой»По поводу принятия или запрета на работу с С и Rust Торвальдс добавил, что мейнтейнерам нужно стать пластичнее и понять, что сопровождающий подсистемы может и должен знать о привязках в Rust и желать работать с кодом на стороне Rust, но, возможно, не слишком активно участвовать в этом процессе.«Вы не можете сказать „Я не хочу иметь ничего общего с Rust“, а затем в следующем предложении сказать „И это означает, что код Rust, который я буду игнорировать, не может использовать интерфейсы C, которые я поддерживаю“. Сопровождающие, которые хотят быть вовлечены в сторону Rust, могут быть вовлечены в неё, и, будучи вовлечёнными в этот процесс, они будут иметь некоторое право голоса в том, как выглядят привязки в Rust. Они по сути также становятся сопровождающими интерфейсов Rust. Но сопровождающие, которые выбирают вариант „Я не хочу иметь дело с Rust“, тогда, очевидно, не будут беспокоиться о привязках в Rust, но в результате они также не будут иметь никакого права голоса в том, что происходит на стороне Rust. Итак, когда вы меняете интерфейсы C, разработчикам на Rust придётся иметь дело с последствиями и исправлять привязки в Rust. Это своего рода обещание здесь: есть эта „защитная стена“ (wall of protection) вокруг разработчиков C, которые не хотят иметь дело с проблемами Rust, в обещании, что им не придётся иметь дело с Rust. Но эта „защитная стена“ в основном работает в обе стороны. Если вы не хотите иметь дело с кодом Rust, вы не получаете права голоса по поводу кода Rust. Другими словами: „никто не обязан иметь дело с Rust“ не означает, что „каждый может наложить вето на любой код Rust“»