When we first started the knurling-rs project, our aim was to share our tools for accelerating development of embedded Rust. We had been building and using them internally– for trainings, open source and commercial customer projects.
Since then, our scope has grown, and we now have a number of wonderful tools, as well as a growing set of learning resources. We've been overjoyed with the great responses, feedback, and contributions we've received from the community.
Today, we'd like to share a brief financial report with you – how we're funded, what we're doing with these funds, and where we'd like to go.
The State of the Budget
Knurling is and will always be a fully open source project. We think that this is the best way for the embedded Rust community to grow, and to help make Rust an ideal choice for hobbyists and commercial developers.
Currently, we're receiving $2,515 in outside funds, with an additional $1,000 on the horizon.
Through GitHub sponsors, we're receiving $2,515 per month – this has been oscillating around the $2,500 mark since fall.
The vast majority of our sponsors are individuals supporting us at the JellyBean- and DevBoard tiers. Knowing that so many individuals enjoy knurling-rs enough to chip in means a lot to us, and keeps us wanting to do right by our sponsors.
Additionally, we're in the middle of setting up a $1000/month sponsorship outside of GitHub with an industry contributor to accommodate their procurement processes.
Knurling is a project by Ferrous Systems– we believe in it, we're using it in our trainings and day to day work, and so we're investing in it too.
Currently, every Ferrous Engineer working on Knurling can dedicate 10% of their work week to knurling, which amounts to 23.25 hours/week, which with our 37.5 hour work week is equivalent to 62% of one person working full time. On top of this, we now have a 15 hr/week working student who is fully paid out of our knurling budget.
This is more than what is covered by our current funding. In our last Financial Update, we estimated that we'd need at least $5,000 to cover the time equivalent of one person working 50% of their time on knurling and one person supporting them in ~20% of their work time. However, this was before we launched knurling-sessions, and needs to be re-visited, as the following sections will show.
What We're Doing With our Funds
After looking through our time trackers, we've estimated we're spending our combined ferrous engineer time as follows:
- knurling-sessions content: 18 hr/week
- review external PRs: 1 hr/week
- critical bug fixes: 1 hr/week
- biweekly meeting (attendance): 2 hr hr/week
- biweekly meeting (planning): 0.5 hr/week
- sponsor communication: 1 hr/week
- knurling website / sessions deployment 0.5 hr/week
- feature development: whenever possible between client projects and ferrous tasks
In sum: 24 hours/week excluding feature development time.
We're currently running knurling in maintenance mode to check if these estimations work out, and evaluate possible optimizations.
Maintenance mode means: bug fixes, new sessions content and changelogs as well as administrative tasks such as sponsor communication and team syncs continue. Feature development is halted until the evaluation is finished.
We hired a Working Student
You may have noticed a lot of activity by @Urhengulas in our knurling repositories lately. Since February 2021, he joined us as a working student working 15 hours/week, paid out of the knurling budget. This also means that his contributions to knurling aren't counted in the ferrous engineer time budget. He supports knurling by:
- writing changelogs
- assisting with issue triage, including following up on issues where things are unclear etc.
- organizational stuff like meetings, communication etc.
- code reviews, bug fixes and feature development
Help Us Move Faster
As we've detailed, we aren't able to spend as much time as we would like on the Knurling project. If we could, we'd be more than happy make Knurling the primary focus of all of the developers at Ferrous. In order to help us move towards this goal, we have a couple asks for folks in the community:
If you or your company uses Knurling Tools: Please reach out to your budget person to consider sponsoring Knurling. Company sponsors are able to vastly outspend individuals, which makes a huge impact! If you need help making a case to your organization, or if your organization needs an invoice, purchase order, or other formats of funding that are more suitable for b2b transactions, get in touch with us.
If your company likes knurling, but wants customization or integration help: We think that we can accelerate your team's development process without hiring your own tooling developers or tooling team. Contract us to build what you're missing from knurling.
If you aren't already sponsoring Knurling, and are able to: we'd love to have you as a sponsor! Our sponsors get early access to the tools and material we are building. If there's a crucial thing that's missing or getting in the way, please tell us about it! If you aren't able to sponsor, no worries! We will continue to make all of our released tools public and open sourced.
In any case, we'd really appreciate you sharing the Knurling tools to your colleagues and friends. We want to improve the development experience for as many people as possible, and we think Knurling can help make it easier than ever to start with embedded Rust.