In response to the 'Call for blogs / ideas on Rust Foundation Strategy 2023-25', this post details where I think the Foundation should be headed over the next few years.
I think we must start by considering the Foundation's relationship to the Rust Project. First and foremost, I would like for the two orgs to feel like two halves of the same whole, rather than separate and distinct entities. I think the Foundation can bring a lot to Rust, and the project should embrace that. The Foundation has been doing much better the last few months at working and communicating with project folk, and I hope that continues and continues to improve.
The Foundation should spend money on administration (its staff, etc), infrastructure, and marketing (see below). But the most important thing to spend money on is Rust development and maintenance.
The context here is important. There are many volunteers who are happy and able to work on feature work, especially shiny and exciting features. This covers both tiny bug fixes and larger features. There are also people who are paid to work on Rust, mostly at large companies. Although many people in both these groups have good intentions, the incentives here are important: the first group are motivated by things which are fun or where they can learn something, the second group by what is good for their employers. The Foundation can be different in that it is incentivised to pay people to do things which are primarily good for the project.
Given the state of the project and what others are paying for, I think the Foundation should focus on paying maintainers on teams which are not currently well-resourced. The Foundation should avoid funding areas which are already resourced (e.g., given the focus of companies employing Rust engineers, the Foundation should not be funding any work on the complier or language). The focus should be on long-term support, rather than short-term impact. The Foundation should avoid funding glamorous and shiny work which already attracts contributors.
I think the current grants scheme is sub-optimal because it encourages small things, time-scoped things, and fun things (i.e., things individuals want to do for their own motivations, rather than for the good of the project), and is only really useful for new programmers, young students, or people who have spare time; thus it is not useful for retaining maintainers nor attracting experienced engineers.
I would like to see the grants scheme dropped, and instead the Foundation to employ full- and part-time maintainers to work on the standard libraries, Cargo and crates.io, community work, moderation, governance and administration, infrastructure/release, Rustup, Rustfmt, docs.rs, and other tools. Obviously they won't be able to afford somebody full-time for each of these, but getting a significant amount of coverage would be very impactful. Having long-term funding and not having to rely on the whims of contributors and corporations would have huge benefit for the project.
The Foundation should also invest in upskilling the project and providing services/support for the project. Some examples of these might be training on: leadership, running a board, community management and developer relations, communicating with the media, giving talks, etc. Services might include mediation for conflict resolution, secretarial services, translation, consultancy on specialized topics like D&I or security, etc.
Finally, the Foundation should fund a small amount of academic research (given the budget, this would be just a part of funding a project or position). There are many topics which could help Rust but which require specialised experience and long-term research, academic collaboration is the best way to investigate those issues. Some strawman ideas to give a rough shape to the kind of things I think should be invested in: a new macro system, Rust-specific compilation techniques, user studies/user research on learning Rust, or improved tooling for unsafe Rust and FFI.
I think the Foundation is doing a pretty good job on the fund-raising front. I am a little cautious about expanding the number of platinum members because that risks drowning out project voices on the board. But having a more diverse slate of sponsors is good because it makes the Foundation more resilient and brings in more opinions and views from industry. I'd love it if the Foundation could change its rules so that it doesn't have to take money from and/or promote cryptocurrency scams. I understand there are laws and regulations, but this seems solvable even if it means no blog posts for anyone, or something similar.
As mentioned above, I'd like for the Foundation to feel like more of a part of the Rust project. I'd also like the Foundation to expand its role in the project's governance. Primarily I think this should be advisory and administrative, rather than authoritative, but some authority will be necessary to be an effective administrator. I can see that the Foundation having different experience to most of the project, having close contact with users at the organisational level, and being in a different filter bubble could be extremely valuable in bringing a fresh perspective to Rust decision making. I would like to see the Foundation have an opinion on technical and non-technical issues. I don't think that opinion should have authority, but I think it should exist. I would like to see the Foundation more involved with the administrative side of running the project.
If done well, I think there is an opportunity to really energise the project and the community. This will require acceptance from the project and willingness to relinquish some power by the project leaders. It will also require the Foundation and project to be more aligned on their values and mission. What those really are is kind of an ongoing question for the project, and I think there is an opportunity for the Foundation and project to collaborate and really work out what is important.
The Foundation should continue it's investment in infrastructure and operations (CI, releases, hosting, crates.io and docs.rs, etc.). It should expand to funding security and maintenance work for these services (which I think it is already starting to do).
Marketing Rust is a good fit for the Foundation. It needs dedicated staff with skills which are not widespread in the community. I'd like to see the Foundation take on more of Rust's marketing work over the next few years (in collaboration with the project).
Marketing means much more than ads or sales, there is a lot of work to understand users and potential users, as well as to promote Rust to potential users and organisational decision makers. I think the Foundation's work should include the following (some of which it is doing already):
- media communication,
- user research (including the annual survey),
- communicating the needs and opinions of potential users and the industry in general to the project,
- devrel/developer evangelism/other promotion of Rust to industry,
- continue to organise (and expand) Rustconf,
- manage Rust's website (including an overdue update to both content and presentation).
FWIW, I think about this question a lot, and my starting strawman is that our mission should be about empowering people to produce better (secure, safe, performant) software by using Rust, and that the core values of how the community operate should include: openness, striving for positive-sum solutions, and putting people first (a corollary to the latter being that technical work is always political and that we should not shy away from having opinions/rules/etc. on political topics, expectations of behaviour, etc.). ↩︎