Rust, a systems programming language which was started as a part-time side project in 2006 by Graydon Hoare is now supported by Mozilla Research for almost seven years now. Mozilla’s involvement came in 2009 once the language was fairly mature enough and could demonstrate its core concepts. Rust poses itself as an alternative to C++ by making system programming safer, providing better concurrency support and offer tractable features to parallel programming. Despite a long history of innovations and strategic decision changes in Mozilla, Rust’s core principles have remained constant. It focuses on three crucial necessities - safety, speed and concurrency.
Rust aims to offer an alternative to existing programming languages by providing a comfortable level of abstraction and by helping programmers write efficient code. To quote from the official FAQs,
“Rust exists because other languages at this level of abstraction and efficiency are unsatisfactory.”
Some notable applications written in Rust include Servo, Mozilla’s experimental browser engine and also a few components for Firefox. Apart from Mozilla, other tech giants like Samsung and Dropbox also use Rust for a variety of purposes. Samsung, a long-time supporter of the language contributed in building Android support to the Rust compiler. Dropbox has been writing Rust components for almost two years now. Inspired by the popular sitcom Silicon Valley, they’ve written a faster Brotli decoder for lossless image compression using Rust which reduces the bandwidth being used by their customers.
Rust in India
Mozilla India’s association with Rust started way back in 2014 with Manish Goregaokar contributing to Servo as part of the GSoC (Google Summer of Code) program. To start things off, Rust’s stable release (1.0) was celebrated at Mozilla Community Space, Bangalore on 25 March 2015 and was attended by various members of the community. The latest stable release of the language is 1.10, meaning 10 releases in just a short span of 18 months - indicating a six-weekly release cycle which ensures that new features and fixes land very quick.
Manish has been a continuous contributor to the language and now, is a member of the community team as well as the moderation team of Rust. You know whom to get in touch with if you’d like to contribute!
Towards the end of 2015, we had another Mozillian, Jaipradeesh, from DoSelect initiate an innovative method to spike interest levels in Rust - an online coding challenge using the language (the first of its kind) which helped developers get a taste of Rust’s syntax and style of coding. Rustaceans from all over the world took part in this challenge.
Fast forward to July 2016 - we have a bunch of organizations using rust and a few Rustaceans (as they call themselves) presenting sessions and projects using the language at Rust Meetup - Bangalore, in early July. Kaustav, a Mozillian and Rust user had organized this meetup to bring together the developer community interested in Rust here in Bangalore and possibly pave the way for new ones. This meetup provided an ideal platform for contributors of the language connect with the developers who use Rust for a variety of uses, and for those who had not yet heard of or used it, an opportunity to know it’s varied facets. It also gave insights into the Rust world for those who had yet to begin their journey, yet. Manish handled the introductory session on the syntax and semantics of Rust, followed by Kaustav who talked about Rustup, Cargo and cross compiling Rust programs. Later on, we had Rahul Sharma who is currently working on Servo as a G’SoC intern give an insight into contributing for the the project. This was followed by a few interesting demos by Rust users from different parts of the country. On the whole, the meetup provided a kick-start for anyone who wanted to learn more about Rust and eventually use the language in their projects. Interestingly, it also helped contributors to collect feedback from the people who use Rust in production.
A win-win I must say!
How you can contribute
If this gets you interested to know more about Rust, here are a few opportunities to contribute. Rust has a very active community that helps newbie contributors get up to speed and also moderate the development & design of the language. A dedicated IRC channel #rust-beginners has been set up where beginners are welcome to post any queries they might have. There are a wide variety of contribution opportunities like bug triaging, documentation, building communities, building IDEs, writing code for libraries, etc.
With Mozilla deciding to ship Rust in Firefox and the community members engaging developers with informative sessions such as the ones above, I hope the community in India will be encouraged to make meaningful contributions to the language, it’s ecosystem and build amazing applications using Rust in the near future.
To the many Rustaceans still in the making, cheers!
PS: Thanks Kaustav for all your inputs!