Skip to Main Content
Lightning Talk Beginner Apache License Version 2.0, MIT license First Talk

The Cost of Safety: Should You Pay the Rust Tax

Proposal status is Rejected
Siddharth Gautam
Siddharth Gautam
Session Description

Memory safety bugs remain one of the most persistent sources of security vulnerabilities in large systems software, according to studies across the industry related to codebases written in memory-unsafe languages. In open-source software, these problems carry a unique cost: they place long-term maintenance burdens on volunteer maintainers and small communities, who must patch and coordinate responses often without dedicated security teams.

Rust addresses memory safety by design through its ownership model, borrowing rules, and type system, that helps ensure that entire classes of common production errors like use-after-free, buffer overflows, data races, and null pointer dereferences are caught at compile time. In FOSS ecosystems, this “secure by construction” approach can significantly reduce the burden of vulnerability handling and patch coordination, improving long-term sustainability. Through my experience building a custom Bash-like shell in Rust, I found that Rust shifts much of the debugging effort from runtime to compile time. While the borrow checker required more deliberate thinking about ownership and shared state, it encouraged clearer program design and caught many potential bugs at compile time, reducing the need for extensive runtime debugging. However, adopting Rust introduces a real “Rust tax” for open-source projects. This could be in the form of a steep learning curve for new contributors, increased onboarding friction, ecosystem gaps in certain domains, and social resistance within established communities.

Referring to real-world FOSS adoption patterns, I will talk about selective and complete Rust integrations. In projects like Redox, Rust is used across the entire stack to achieve uniform safety guarantees whereas Linux is gradually introducing Rust in isolated kernel components such as drivers, while retaining C for most of the core system. These examples highlight how Rust delivers significant value in security-sensitive, concurrency-heavy components such as kernels. However, for large legacy codebases or rapidly evolving application layers, selective adoption often provides a more practical and socially sustainable path. I will explain where Rust provides the greatest value, where its adoption costs outweigh its benefits, and how FOSS communities can make informed decisions that balance security, maintainability, contributor accessibility, and long-term sustainability.

Key Takeaways

1) Understanding how Rust can improve security and reliability in FOSS by preventing common memory safety bugs at compile time.

2) Evaluating the trade-offs of adopting Rust, including its learning curve, ecosystem maturity, and the practicality of incremental integration into existing projects.

3) Learning from real-world FOSS case studies and my personal experience from implementing a custom Rust shell to identify where Rust provides the greatest value.

References

Session Categories

Technology architecture
Engineering practice - productivity, debugging
Talk License: Apache License Version 2.0, MIT license

Which track are you applying for?

Main track

Speakers

Siddharth Gautam
Siddharth Gautam CSE Undergraduate | DSCE

I am a Rust developer passionate about systems programming and blockchain technologies. I enjoy working with blockchain sequencers, zero-knowledge proof systems (zk-STARKs) and Rust-based shell environments.