On 06/06/2018 07:59 PM, Allison Randal wrote:
Now that others are potentially interested, I'll work on flipping the repos to public...
I've carved out one small piece, because there seem to be several groups independently evaluating whether Rust makes sense in this context. This is the beginnings of a Rust library to interface with KVM, and could be used by any Rust hypervisor: https://gitlab.com/preon/libkvm It's not a complete interface, but it's enough to see how clean and maintainable a Rust interface to KVM can be, and to show off some of Rust's C-compatibility features (like C-compatible Rust types and structs that can be passed directly into ioctl calls). This is something like my 3rd or 4th rewrite, but I like how this one is coming together in terms of the best use of Rust's features, and providing a clean base that's easier to reason about from a security perspective. As a bit of history, I started paying attention to Rust in the '00s, when I was chief architect of the Parrot project. Since Rust was initially designed around the idea of secure isolation between Javascript language VMs in browser tabs, I was curious how the language would apply to other domains that needed secure isolation, like hypervisors, OS VMs, containers, etc. Along the way, I think I might actually be starting to like Rust better than C, at least for certain problem domains. That's not something I'd say lightly, I've been a C developer for a long time. I still remember when Perl was "a pretty neat idea" because it made writing CGI code easier than C did. I expect you all now think it's "obvious" that the family of languages including Python, Ruby, and PHP are a better fit for web development than C, but it wasn't considered obvious at the time, it was considered radical. Allison