There’s been a very interesting and constructive debate about how to market Rust, mainly motivated by Steve Klabnik’s blog post, which was later followed by Graydon Hoare’s, Dave Herman’s, and others writings. I consider both Mozilla and the Rust community are doing an excellent marketing job, as I’ve never seen any other language/community doing so, but there’s always room for more improvements.
Steve was asking all Rust lovers to give some thought to how the language could be better marketed. For that, I think you’ll need to precisely answer where Rust makes a huge difference for developers when comparing it against other systems programming languages such as C/C++. To me, Rust makes a huge difference in making systems programming easier, more productive, more secure, and we could even say, more fun :).
Systems programming being easier and more productive than alternatives like C/C++ has some consequences, such as enabling a new generation of systems programmers, helping experienced ones write safer code and having much more secure systems software in general. This would mean fewer vulnerabilities, less maintenance work to do and on top of that, increased productivity.
Systems programming being more secure (at some point I bet Rust is going to prove that it really helps developers to construct safer solutions) means that we could slowly change the entire software ecosystem to one much more secure than the one we have now.
The Rust community and myself included dream of a world where we can avoid most of the zillions of bugs and CVEs we usually see in systems software by replacing software piece by piece with new versions written in a safer language like Rust. This includes user and server programs computers use on a daily basis such as browsers, web servers, mail servers, TLS libraries, operating systems, etc.
Mozilla is already taking these steps with Servo and Quantum. Maybe someday software like OpenSSL, could be rewritten in Rust which would mean (hopefully) seeing less CVEs than what we are nowadays used to.
Going back to the blog posts discussions, they used a Super Mario Bros analogy where Mario (the customer) + Fire Flower (your product) => Fire Mario (Awesome person who can do rad stuff). What you want to market is the Fire Mario not the Fire Flower.
So to me, making systems programming easier, more productive and more secure are the Fire Flowers, and enabling a new generation of systems programmers, helping experienced ones write safer code with fewer vulnerabilities and at the end having much more secure systems software in general are the Fire Marios.
I think Rust is being marketed in all those fire Mario’s fronts but it’s targeting much more to the new generation of systems programmers and that’s awesome, but I’d also love to see more energy invested in targeting the experienced systems programmers and its ecosystem.