Update (25 Jul 2022): Converting Rust Cloud Native
Today, we launch a new GitHub organization, Rust Cloud Native.
This organization exists to enable the usage of Rust in the “cloud”, which focuses on infrastructure software and related components.
You may be familiar with “cloud” technologies, such as Docker and Kubernetes. Our organization exists to promote projects that exist within the same technology sector.
Admittedly, the frequent usage of “cloud” and “cloud native” at large can induce eyerolls. However, we felt that the actual definition of cloud native computing defined our organization’s focus area nicely:
“Cloud native technologies empower organizations to build and run scalable applications in modern, dynamic environments such as public, private, and hybrid clouds. Containers, service meshes, microservices, immutable infrastructure, and declarative APIs exemplify this approach.”
Taking inspiration from Rust Embedded and the definition above, we decided on the name: Rust Cloud Native.
An Update to this Post Link to heading
Based on discussions throughout various tech communities, I wanted to clarify my intent with this post: this announcement is largely symbolic. The substance is minimal because this is a “call to arms” more than anything. Since there is currently not a central location for cloud native Rust anything, I mainly just wanted to start something.
With that being said, there has been some great feedback thus far that I want to address:
Who are the members? Link to heading
I can see how the exchange of “I” and “we” throughout this post can be confusing. I talked to several folks about how to start this, including the organization members, so I did not want to claim sole ownership of ideas. However, the bootstrapping of the repositories was done by me.
Why the minimal scope? Link to heading
This organization was created entirely with volunteer time, and would ideally not have its course determined from a BDFL (me, in this case). If people want a Discord server, Zoom meetups, events hosted, etc., we will do that. I do not want to burn out by creating a bunch of low quality community locations prematurely.
Why create the GitHub organization first? Link to heading
The reason why the GitHub organization was created/announced before anything else was because of a tweet. I originally tweeted that I created the organization, and wanted to see if people were interested in using it (regardless of ownership). It unexpectedly blew up, and with encouragement from replies/DMs, I decided to add least plant a flag to brute force the “chicken or the egg” problem.
This might not have been the ideal approach, but with few volunteer hours, my objective was to at least start the conversation with some ground rules and goal(s).
Next Steps Link to heading
These intentions could have be articulated more clearly in the first publication, so I’ve added this section to do so now. I’ll reiterate: thank you all for the great feedback.
(original post continues below)
Mission Link to heading
We are focused on strictly one goal: enabling the usage of Rust in the “cloud”.
In the future, our organization may formalize a secondary goal to create an official Rust working group. For now, we are focused on our aforementioned goal with the intent to provide a home for folks interested in cloud native Rust.
History Link to heading
You might have seen the GitHub organization pushing commits, creating issues, and polishing things up since late spring, but the idea began as a natural evolution of events prior. I began writing Rust in mid-2019, as a break from Go at work and a return to lower-level language fun from university. Between then and now, I have seen projects and initiatives related to cloud native Rust greatly expand:
Concurrent to these events, back channel conversations, threads on forums, threads on social media, and community content were also propelling many folks to the idea. Those back channel conversations always ended with “no, someone should actually do this.”
Approach Link to heading
It’s taken a relatively long time to launch, and it’s important to discuss why. Technical obstacles and content generation were not the reasons. The primary reason was the approach: we needed a GitHub organization that is safe and welcoming while leaving direction and organic growth entirely up to the community.
First and foremost, any and all spaces related to Rust Cloud Native will enforce the Rust Programming Language’s Code of Conduct.
- Violations of the Code can (eventually or instantly) result in a block from the organization’s public repositories.
- If Code violations occur “off-site”, stemming from our GitHub organization’s spaces, Rust Cloud Native members will inform adjacent community leaders of misconduct and refer to the above point for action.
As far as leadership goes, our organization contains very few members at this point. While we are still ideating on processes related to membership, such as the Rust Embedded WG’s RFC 0136, we do not plan to significantly extend membership at this time.
At the moment, our scope is relatively small: maintain existing repositories and listen to the community’s desires and new ideas. Thus, we do not want to misuse volunteer time by prematurely and rapidly expanding organizational membership.
I do see a future where frequent contributors eventually become organizational members. Regardless, we must consider the following: will the organization exist to maintain the same repositories, or will the organization begin to host projects and events? The answer to that that question dictates our membership goals.
I will admit that the initial members are folks whom I have worked with or met online. I am personally weary about accidentally creating a clique, so if we ever need to rapidly expand membership, we will focus on doing it the right way.
This section is arguably the most important, but since you are likely here to not read my rambles and tangents (or are you?), I’ll be clear in our intent: given our small scope and structure, it’s our hope that we will cultivate a safe and welcoming community that ultimately dictates the course of this organization.
Launch Link to heading
Our “launch” refers to our readiness to promote the organization and its contents, and is mostly symbolic. All of our repositories were publicly available before this was written. With that being said, we are “launching” with one repository and may expand in the future. The repository, rust-cloud-native.github.io contains the following:
- website: the website showcasing projects and resources about cloud native Rust as well as information on the organization itself
- core/meta: charters, goals, processes, “meta” considerations, etc.
- logo: the logo and its related files
You may notice that there isn’t an “awesome” repository or a hosted technical project, such as rust-embedded/cross.
I do not frequently reference Rust Embedded by accident. We are proud to model a significant percentage of our organizational makeup off of their’s.
Since our organization is run entirely by volunteers in their spare time, it’s designed to act as launchpad into the greater cloud native Rust community. You can think of this organization as maintainers of a single website, a logo, and itself… at least, at the time of writing.
End Link to heading
As mentioned above, this organization is the launchpad and not the destination. I can see our organization enabling the creation of a working group, partnering with companies and organizations, hosting events, etc. I can also see our organization continuing to maintain our current repository for a happy, close-knit community.
We want to do what you want to do. We hope to see your creative projects, books, podcasts, livestreams, talks, shows, events, repositories, art, games, and more. This is the start to your community, and we cannot wait to take feedback on making it a safe, fun, and informative place for navigating the world of cloud native Rust.
As always, please do not hesitate to reach out.