Hey! I am David Rheinsberg (before 2018: David Herrmann). I write Free Software and share my thoughts and experiences about it here. If you ever meet me, be prepared to catch and throw Frisbees or play some Ultimate!
Followingly, an incomplete list of open-source software I wrote or contributed to (ordered alphabetically):
BlueZ: As part of the xwiimote project, I worked on the input-device layer of the BlueZ Linux Bluetooth stack.
bus1: Born from the ashes of the kdbus project, the bus1 project implements capability-based IPC for the linux kernel.
C-Util: A collection of C utility libraries mostly extracted from the other projects I worked on, but maintained as an independent collection.
dbus-broker: Together with Tom Gundersen, I wrote a replacement for the D-Bus reference implementation, custom tailored for linux systems.
kmscon: As part of Google-Summer-of-Code I wrote a user-space console to replace the kernel VT subsystem.
Linux: Starting with Nintendo Wii Remote device drivers, I have since spend my time on many different parts of the linux kernel. This includes new APIs (e.g.,
x86/sysfb), maintenance work in graphics and input-handling subsystems (e.g.,
HID) as well as some device drivers and driver subsystems (e.g.,
nettools: Together with the NetworkManager group, we designed an independent, stand-alone, and unopinionated implementation of a set of networking protocols.
osbuild: As part of the Image-Builder group at Red Hat, I worked on the osbuild suite, which provides infrastructure to assemble operating system images.
r-efi: A suite of Rust crates that provide a UEFI programming environment for the Rust programming language.
systemd: As part of the Core OS group at Red Hat, I worked on systemd and its subprojects.
Wayland: In the initial days of the Wayland project, I worked on its reference implementation, man-pages, and initial adopters like wlterm.
xwiimote: Based on the excellent reverse engineering documents by the Wii-Homebrew group, I wrote a linux kernel device-driver for the Nintendo Wii Remote Controller, as well as some user-space components to interact with it.