With Mozilla shrinking in total employees, what is going to happen with Rust?
Recently Mozilla announced and enacted a sizeable number of layoffs, citing the COVID-19 pandemic. Many within the Rust community at large began to worry about the future of the beloved Rust programming language.
There are over 5000 open issues on GitHub, the Rust-based Servo team is no more, and some of the internal Mozilla contributors to Rust have lost their jobs!
As with any major news, things that can affect a programmer's happiness are always going to cause a stir online. But guess what?
Rust is going to be okay! 🧡
And here’s why:
Microsoft Loves Rust
This one is far from a surprise, considering how vocal Microsoft is about their relationship with Rust. Even within this very article, you will hear about Krustlet and npm, both of which are overseen by Microsoft Engineering.
Microsoft is getting tired of their once favored C++ and C code:
We can’t really do much more than we already have. It’s becoming harder and harder and more and more costly to address these issues over time.
They have come to a consensus that Rust is the best alternative to C and C++ currently available.
While they have concerns about its interoperability with C++, they have decided to get involved with Rust and the greater Rust community in order to continue the pursuit of Rusty solutions.
Amazon Loves Rust
Many may not even realize it, but Amazon Web Services (AWS) is not only a strong advocate for Rust, they even sponsor it. As Rust relies on portions of AWS infrastructure to support release artifacts, libraries, source code, and to host doc.rs, it makes perfect sense.
Additionally, the AWS engineering team built an open-source virtualization technology called Firecracker which is built in Rust and available on GitHub under an Apache 2.0 license. Using Rust allows them to have speed, security, scale, and efficiency, which provide a wonderful environment for microVMs.
Finally, AWS also has an official Rust Lambda Runtime, allowing for Serverless Rust. Microservices are a great start for aspiring Rust developers.
Google Loves Rust
Did you know that Google is building an operating system called Fuchsia? The mission statement says it all:
Security and privacy are woven deeply into the architecture of Fuchsia. The basic building blocks of Fuchsia, the kernel primitives, are exposed to applications as object-capabilities, which means that applications running on Fuchsia have no ambient authority: applications can interact only with the objects to which they have been granted access explicitly.
Fuchsia is built from the ground up using Rust, and is also an open platform that allows code from C++, Rust, Flutter, and Web technologies to run on it.
npm Loves Rust
A little over a year ago, npm was facing a dilemma: Explosive growth that was gaining steam exponentially, and CPU intensive tasks that were bogging down servers and creating performance bottlenecks.
With an open mind, the npm engineering squad had a sort of internal hackathon where they rebuilt the authentication service from scratch in both Go and Rust, alongside a full rewrite in Node.js
It only took an hour to rewrite the authorization service using Node.js, which is no surprise. Unfortunately, the performance was similar to that of the legacy implementation — also no surprise, since Node.js is fast but the npm code was already pretty optimized.
The Go rewrite took two days, but the team found the lack of a dependency management solution painful (I mean they are a system for Node Package Management after all).
In the end, the team building the Rust version was enamored. They went looking for a programming language that was:
- Memory Safe
- Easy to compile to a standalone and easily deployable binary
And found such a language in Rust.
Many More Companies Love Rust
From Dropbox, Cloudflare, Discord, and Fastly, we have only heard great things about Rust, namely, each companies’ usage and happiness with the language for their major critical services and infrastructure.
Rewriting a core service in a large company is hard, and even more so when using a relatively brand new language. Rust is only about 10 years old, whereas most languages are 20, 30, or 40+ years old!
The fact that these engineering teams not only rebuilt something with Rust and also came out positive shows a lot of potential for more such projects.
Furthermore, those using Kubernetes can also benefit from using Rust, as there is a kubelet that allows developers to write more concise and stable Kubernetes code at the system level, using Krustlet. This essentially allows an engineer to run WebAssembly workloads on Kubernetes in code written in Rust, rather than Go, the main supported language of Kubernetes workloads.
Developers Love Rust
As a matter of fact, Rust has been at the top of the developer survey from StackOverflow for four years in a row, citing:
The short answer is that Rust solves pain points present in many other languages, providing a solid step forward with a limited number of downsides.
And what about the 5000 GitHub issues for Rust that are currently open? Let’s break them down:
Of these 5K+ issues, a large chunk of them are actually enhancements - roughly 1800 issues. There are about 2000 bugs, but that would make up around half of all future development. And of these 2000 bugs, a hefty portion of them are duplicates or “feature not bugs” that some developer has opened to complain.
So fret not.
You Love Rust
How do I know this? Because you took the time to read this article — and that means a lot! This article is truthful and meant to reassure you that Rust is awesome and here to stay. Rust is a wonderful way to create memory-safe, high-performance applications and software, welcome to the future.
As of today, in August 2020, Rust is in the top 20 of the Tiobe index, with a strong chance to take over MATLAB, Objective-C, Groovy, and possibly even Ruby. Only time will tell.
Mozilla and Rust Love Rust
Finally, the community and organization that control Rust are dedicated to keeping the growing language alive. They have recently announced the makings of the Rust Foundation, which aims to separate Rust more from Mozilla than it already is.
Their statement provides a clear direction for Rust, quelling any fears I have about this awesome language:
The Rust Core Team and Mozilla are happy to announce plans to create a Rust foundation. The Rust Core Team’s goal is to have the first iteration of the foundation up and running by the end of the year.