YsummarY, use Tab ↹, Return/Enter and go back (⌘ + ←) to navigate.

The Rust vs C Linux Divide.. Another Rust Maintainer Steps Down.

YouTube Video

This YouTube video discusses a significant drama within the Linux kernel community surrounding the use of Rust. Key points include:

  • The Core Dispute: A maintainer, Kristoff, vehemently opposed the inclusion of Rust code in the DMA (Direct Memory Access) subsystem, arguing against a multi-language codebase due to maintainability concerns. He did not object to Rust itself, but to the added complexity of integrating it into an existing large C codebase.

  • Maintainer Resignations: This conflict follows a previous resignation of a Rust maintainer due to “non-technical nonsense,” highlighting existing tensions within the community. The current dispute led to another resignation, that of Hector, a lead developer of the Asahi Linux project, who cited frustration with the process and felt his efforts were being sabotaged.

  • The Rust Team’s Approach: The Rust maintainers proposed a Rust abstraction layer that would encapsulate the DMA API, allowing Rust drivers to interact with the DMA without directly modifying the existing C code. They offered to maintain this layer themselves.

  • Kristoff’s Resistance: Kristoff adamantly refused this compromise, reiterating his opposition to any non-C code in the core subsystems, using strong language (“cancer”) to describe the proposed solution.

  • Escalation and Involvement of Linus Torvalds: The conflict escalated, prompting the involvement of Greg Kroah-Hartman (a prominent Linux maintainer) and finally Linus Torvalds (creator of Linux). Linus’ response largely sided with established processes and explicitly rejected the use of social media campaigns to influence development decisions. He criticized Hector’s approach.

  • Social Media and Community Dynamics: The dispute spilled onto social media, further inflaming tensions and highlighting the challenges of managing community dynamics in a large open-source project. Accusations of sabotage and brigading were made, contributing to the overall negative atmosphere.

  • Underlying Issues: The core issue appears to be a clash between those advocating for modernization (using Rust for improved memory safety) and those prioritizing maintainability and the established C-based codebase. This highlights broader challenges in balancing innovation and the practical realities of maintaining a massive, long-standing project.

  • Outcome: The conflict resulted in at least two maintainer resignations, emphasizing the significant strain on the community and highlighting the need for improved communication and conflict resolution strategies within the Linux kernel development process.

Next: Developers are getting screwed.
Prev: 3 Ways You’re Screwing up Platform Engineering – And How to Fix It • Steve Smith • GOTO 2024