Linux adopting Rust will boost the robotics community
Listen to this article
This week Linux Benevolent dictator for life Linus Torvalds mentioned that the Rust programming language would be used in the upcoming Linux 6.1 kernel. Currently, the Linux kernel is at preview version 6.0-rc6 (codename “Hurr durr I’m a lazy ninja”) so we have a little time before we all have Rust powering the kernel, but the mere announcement is newsworthy. The author believes that this integration of Rust into the very core of Linux will be a huge boost for the robotics community.
There are several reasons for my optimism. First, let’s recognize that the maintainers of the capital-K Linux kernel have traditionally forbidden the use of any language other than good old C; voluntarily leaving these limits is remarkable. This will do two important things for the community: begin to relieve technology’s total reliance on C as programming protocol, and invite programmers who are Rust-forward to make their mark on Linux as a whole. After all, this movement has already started as Android integrated Rust in 2021.
Second, adding Rust to the kernel was not trivial. A long list of features was needed to make Rust more secure and functional before it could be trusted at such a low level. However, once these features are completed, they can be integrated into a larger ecosystem, which will improve everyone’s life. The more Rust is used in the core, the better Rust will be as a language.
This all has to do with the implicit dependency of robotics on Linux. Linux has evolved remarkably well and is now used on most smart and standalone devices. It is and will remain the preferred platform for robotics for the foreseeable future; moreover, Linux’s adoption of Rust in the Kernel signals that it welcomes a future beyond C and wants to engage the wider community.
There is a vast ecosystem of robotic tools and paradigms like SAR and OpenCV that work best in the Linux ecosystem, and like it or not, most robotics engineers are starting to play in these sandboxes. Entire companies have based their work on these tools and have done very well. However, I can attest (anecdotally) that a growing number of engineers in the field of robotics recognize the need for more powerful and reliable software and are looking for alternative solutions.
Those who do are turn to Rust more often than not. This has led to a budding robotics ecosystem full of enthusiastic developers who just want to write better tools. in the most popular programming language around. As enthusiastic as these developers may be, these tools as a whole are not ready for prime time. They lack features that most engineers take for granted or that haven’t been used enough to be approved by the whole community.
This means that many older robotics companies are still playing it safe, still working in the sandbox full of familiar software. Some are simply loath to leave the comfort of C++, or Python, or whatever the senior staff engineer thinks is the good language. It’s certainly still early days for Rust in robotics, and it takes an enterprising team to handle it. Yet those who ventured beyond the familiar and invested the time were rewarded for their efforts with better products. In fact, for the next generation of engineers, Rust is the familiar. And that’s great news.
Between old tools, new programming languages and the rise of automation, robotics is changing. Including Rust in the Linux kernel might seem like a small detail, but it couldn’t have come at a better time. The robotics community has been pushing Rust development for years now; that Linux supports and is supported by these efforts is a tide that lifts all boats.
For the curious: browse a complete catalog of open-source robotics solutions in Rust on https://robotics.rs/
About the Author
Brandon Minor is the founder and CEO of Tangram Vision, a sensor fusion company. The Tangram vision platform approaches sensors holistically, combining LiDAR, CMOS, IMU and depth data at the same time. This allows users to stop worrying about sensor support and instead focus on creating what makes their product stand out.