Skip to main content

Lessons from rewriting systems software in Rust

UB2.252A (Lameere) | Day 1 | 15:50 - 16:30 | Speakers: Ruben Nijveld

Lessons from rewriting systems software in Rust
A picture of a devroom at FOSDEM 2024
Open in browser

Notes

Abstract

Rewrite it in Rust has been a theme (and meme) for almost as long as Rust exists. But what actually makes a rewrite work? At first glance you would think that just making a memory safe implementation of a protocol, library or program should be enough. But in practice there are many factors that make an implementation work.

Our work on, among others, ntpd-rs, zlib-rs and sudo-rs gave us some insight into that. Both from outside the Rust community: How to identify projects that could benefit from a rewrite? What do you need to do to get your Rust project accepted in a wider community? How do you get your project known? How do I get my project distributed? But also from inside the Rust community: Which crates do can I use as dependencies? What if my preferred crate name is already in use? Should I publish on crates.io? Do I offer a Rust interface for my crate?

Attachments

Speakers

Ruben Nijveld

Notice: The placeholder video image is licensed under CC BY-SA 4.0. The original image can be found hereChanges made to the image are: Cropped the image to a new ratio, part of the image was cut off.