Building a Better Foundation for Rocket's Future
Along with the release of Rocket v0.5, today I'm sharing plans to launch the Rocket Web Framework Foundation, or RWF2. The RWF2 is a nonprofit organization designed to support Rocket and the surrounding ecosystem, financially and organizationally.
I'm also directly addressing the community's concerns regarding the pace of Rocket's development, leadership, and release cadence. My hope is to assuage any and all concerns about Rocket's future. I hope reading this leaves you feeling confident that Rocket is here to stay, and that the RWF2 is the right step towards increased community contributions and involvement.
This is a co-announcement along with release of Rocket v0.5.
Background
I released Rocket in 2016 to fanfare. It was lauded as the web framework for Rust. But in the last few years, I'd be remiss to claim the same. New frameworks have emerged, Rocket's recent development has been nothing short of erratic, and four years went by without a major release.
The community rightfully voiced its disappointment and concern. Posts inquired about the project's status: was it dead? I received copious email ranging from concern over my well-being, to anger, to requests to transfer the project entirely. The community wasn't isn't happy with Rocket.
And I get it. I failed to adequately lead the project. I failed to communicate when it mattered most. I couldn't control the life events that pulled me away from Rocket and most of my responsibilities, but I could have done more to communicate what was going on. And I certainly could have done something to make it easy, make it possible for others to push the project forward in my absense.
But I did none of that. I couldn't make it happen. And I'm truly, sincerely sorry.
A Better Foundation for Rocket's Future
I'd like to make it impossible to repeat these mistakes. That's why today I'm announcing plans for a new independent nonprofit foundation designed to support and bolster Rocket's development, increase transparency, and diversify project leadership: RWF2.
The Rocket Web Framework Foundation, RWF2, is a 501(c)(3) nonprofit and collective that supports the development and community of free and open source software, like Rocket, as well as education for a more secure web.
Moving forward, the RWF2 will be responsible for governing Rocket and dictating its trajectory. The goal is to distribute control of the project and prohibit one person from being able to stall its development. The RWF2 will also act as a vehicle for tax-deductible contributions, funds management, and development grant distribution, all with the aim of increasing high-quality contributions and educational material.
In summary, the RWF2 exists to enable:
-
Diversified Leadership
Key responsibilities, such as releases, security, infrastructure, and community engagement will be distributed to community members under the umbrella of the foundation.
-
Tax-Deductible Contributions
Because the RWF2 is a 501(c)(3) organization, contributions are tax-deductible. We particularly hope this encourages corporate sponsorship, especially from those who depend on Rocket. As a nonprofit, the RWF2 must transparently manage and disburse all funds.
-
Development Grants
A key use for contributions is the foundation's sponsorship and administration of µGrants: small (≤ $1k) grants for concrete work on Rocket or related projects. Compensation is staged upon completion of predefined milestones and quality requirements.
-
Increased Transparency
Milestones, release schedules, and periodic updates form part of the foundation's responsibilities. The aim is to keep the community informed on Rocket's development and plans, making it easier to get and remain involved.
-
Educational Resource Expansion
The RWF2 aims to enhance the accessibility of educational resources, training, and mentorship for web application security, especially for traditionally marginalized groups. Our focus lies in delivering high-quality, practical materials for building secure web applications.
What's Happening Now
There's a lot to do to realize these goals, but the process starts today. Here's what's being done now:
-
Open Sponsorship
Starting now, you can sponsor the RWF2 through GitHub Sponsors or Open Collective. Tiers are still a work in progress, but for now, consider all tiers on Open Collective, and Bronze+ tiers on GitHub, as intended for corporate sponsors. Note that only contributions made directly via Open Collective are guaranteed to be tax-deductible.
A special shout out to
@martynp
,@nathanielford
, and@wezm
for jumping the gun in the best of ways and sponsoring the RWF2 via GitHub ahead of schedule. Thank you! -
Team Assembly
Initially, RWF2 governance will be exceedingly simple and consist of a president (hi!) and a handful of team leads. Individuals can fill multiple positions, though the intent is for every position to be held by a different individual. Positions are by appointment, either by the presiding team lead, by the president in their absence, and by other team leads in the president's absence.
The initial teams and their responsibilities are listed below. If you're interested in leading any of the teams (or another team you think should exist), please reach out via the Matrix channel or directly via foundation@rwf2.org.
-
Maintenance
Reviews issues, pull requests, and discussions, and acts on them as necessary. This largely means triaging issues, closing resolved or duplicate issues and discussions, closing or merging stale or approved pull requests, respectively, and pinging the appropriate individuals to prevent issues or PRs from becoming stale.
-
Release
Publishes code and documentation releases. This includes partitioning commits according to scope and impact on breakage, writing and updating CHANGELOGs, and testing and publishing new releases and their documentation.
-
Knowledge
Creates, maintains and improves materials that help others learn about Rocket or web security. This includes documentation like API docs and the Rocket guide, code such as examples and tutorials, and materials for live or in-person education.
-
Community
Keeps the community adjourned on happenings. This involves writing periodic project updates as well as digesting and communicating development milestones and schedules to a broad audience.
-
Infrastructure
Maintains infrastructure including: building, testing, and release scripts, static site generation, CI and other automated processes, and domain registrar and cloud computing services.
-
-
Transfer of Assets
The majority of Rocket's assets, including its domain, website, source code, and associated infrastructure, are managed under personal accounts. All assets are being transferred to foundation-owned accounts, and access will be given to the appropriate teams. The migration project on GitHub is tracking the progress of asset migration.
-
Process Documentation
Some of Rocket's core processes, including releases and site building, are generally inaccessible to others. These will be documented, and access will be granted to the appropriate teams.
-
Open Planning & Development
While Rocket's development has generally been done in the open through GitHub issues, PRs, and projects, little has been done to publicize those efforts. Furthermore, planning has largely been a closed process. Moving forward, planning will be done in the open, and the community team will be engaged to publicize development efforts and progress.
What's Coming Soon
-
µGrants
The µGrant specification is a work-in-progress. We simulatenously want to encourage and financially incentivize high-quality contributions while not disincentivizing existing contributors. This is a delicate balance, and we want to take the time to get it right. To get involved, see the current draft proposal and share your thoughts in the GitHub discussion. As soon as we have a specification that feels fair, the first µGrants will be offered.
-
Foundation Website
The RWF2 website as it stands is a placeholder for a more fully featured website. Besides articulating the foundation's mission and goals, the RWF2's website will also serve as a source of truth for the status of and means to engaging with ongoing projects, grants, and finances.
-
Membership
While certainly premature at this point in time, a consideration for the future comes in the form of foundation membership whereby governance is expanded to include foundation members. The governance proposal document has one take on how this might work. Until such a proposal is accepted, governance will follow the president + teams model articulated above.
How to Get Involved
The RWF2 represents a conscious effort to transfer control of Rocket from an individual (me) to the community (you). Without your involvement, the RWF2 ceases to exist. If you're excited about Rocket or the foundation, or simply want to see Rocket continue to exist and flourish, please get involved.
-
Join the Discussion
Communicate with us via the Matrix channel, via GitHub discussions, or via email at foundation@rwf2.org. The foundation bring-up itself is designed to be collaborative, and any input you have is invaluable.
-
Make a Contribution
Any easy way to get involved is to financially contribute. You can sponsor the RWF2 through GitHub Sponsors or Open Collective. If your company uses Rocket, encourage it to sponsor the project through the foundation.
-
Become a Team Lead
If you're interested in leading or learning more about any one of the Maintenance, Release, Knowledge, Community, or Infrastructure teams, or think another team should exist, please get in touch via the Matrix channel or via email at foundation@rwf2.org.
I'm excited for this next step in Rocket's history, and I hope you'll join me in making it a success.