It's interesting that, in light of things like this, you still see large software companies adding support for new components written in non-memory safe languages (e.g. C)

As an example Red Hat OpenShift added support for crun(https://github.com/containers/crun) this year(https://cloud.redhat.com/blog/whats-new-in-red-hat-openshift...), which is written in C as an alternative to runc, which is written in Go(https://github.com/opencontainers/runc)...

According to the github page for crun, it's because it's more performant and uses less memory and because the authors feel it is a better fit for a lower level container runtime. C code runs on more systems than Go does as well. I'm assuming that will stop being true at some point, but as of now C runs basically everywhere.

>C code runs on more systems than Go does as well. I'm assuming that will stop being true at some point, but as of now C runs basically everywhere.

Specifically, OpenShift is supported on both POWER and IBM Z in addition to x86 and ARM.

But probably the main reason is that the project started in 2018, when Rust didn't have nearly as much momentum.

It's also worth noting from the linked docs that crun was added as an option in OpenShift. runc is still the default container runtime, and which runtime to use is customizable on a per-MachineConfigPool basis[0]. Cluster admins have the ability to specify node groups that have application workloads requiring the performance of crun to use it.

> OpenShift Container Platform uses CRI-O as the container engine and runC or crun as the container runtime. ->The default container runtime is runC.<- Both container runtimes adhere to the Open Container Initiative (OCI) runtime specifications.

As for Rust-written runtimes, there is another project in the Containers GitHub namespace called youki[1] that is attempting to do just that.

[0]: https://docs.openshift.com/container-platform/4.13/post_inst...

[1]: https://github.com/containers/youki