Discussing the challenges of monetising open-source software and how we're handling Avalonia's rapid growth and revenue diversification.
It's no secret that monetising open-source software (OSS) is notoriously difficult. At Avalonia, we understand the complexities of monetising OSS, as we've been actively exploring strategies to ensure the long-term viability of the project. This post will peel back the curtain and share how we're approaching creating a sustainable business around a popular OSS project.
While the remarkable 30% month-over-month growth in Avalonia usage during 2023 is a testament to its success and widespread adoption, this exponential growth comes with its challenges. The increasing usage translates into a surge in GitHub activities and the overall workload associated with managing the project. This rapid expansion puts a substantial strain on the team, demanding a larger team to handle the community's growing needs.
This dynamic highlights the delicate balance between the success of an open-source project and the resources required to maintain it. While the growth in usage is undoubtedly gratifying, it also presents logistical hurdles that must be carefully managed to ensure our continued success and sustainability. In this post, I'll discuss how I've been working to ensure we've enough revenue to meet the community's needs.
While Avalonia's open-source development started a decade ago, the company AvaloniaUI OÜ, established by its core team, was founded only four years ago. Its creation stemmed from the rising demand from enterprises utilising Avalonia for their development needs. The company's revenue in its initial three years was solely derived from support agreements and development services.
While support and development services are often promoted as a viable revenue model for open-source projects, these service-based businesses are notoriously challenging to scale and have extremely low profit margins. This was the primary motivation behind our strategy of diversifying the company's revenue away from relying heavily on development services.
This diversification strategy created additional revenue streams, such as Avalonia XPF (our cross-platform WPF), in-person training, and some unreleased products that you'll learn more about soon! By expanding our revenue streams, we aim to generate a more stable and sustainable financial foundation for Avalonia to continue its rapid growth.
Given we're a company built on being open, it'd be beneficial to share (as much as possible) where we're at.
Since my joining, the team has expanded significantly from two full-time and three part-time developers to a current roster of nine full-time developers. It may not sound particularly impressive, but we've achieved this growth without any external investment, a testament to our team's dedication and hard work.
It should come as no surprise that our most significant expense is wages. Wages account for a whopping 91.8% of our total expenses. This is primarily due to the growth of our team. As we expand our team, we aim to hire experienced developers from all over the globe, primarily from our community, who are passionate about Avalonia and its continued development.
We have maintained a modest approach to spending. Services are our second most significant expense and encompass a range of tools that we utilise internally. These include subscriptions to Slack, Google Workspace, Notion, Pipedrive, and YouTrack to name a few. These tools are indispensable for the day-to-day operations of the business.
I am particularly proud of our substantial growth this year with minimal expenditure on paid advertising. While we have experimented with paid advertising campaigns, we have discovered that word-of-mouth marketing has proven to be a far more effective (and much cheaper) strategy for reaching developers.
Expenses are only half the story, though; let's look at our revenue. Since my first conversation with the team discussing revenue generation in 2020, we've grown the revenue by over 1100%. It may sound a lot, but there is still a lot of work to do and many more positions we need to create to fulfil our roadmap and vision for Avalonia.
As previously mentioned, our primary objective for the year was to diversify our revenue streams, shifting away from our dependence on development services. I'm delighted to share that we have successfully achieved this goal. In the preceding year, development services accounted for a staggering 70.6% of our total revenue, primarily generated from a single client (an alarming situation). This year, however, we made a strategic decision to reduce our focus on development services, resulting in a rebalancing, seeing just 13% of our revenue derived from this segment.
Support Agreements have remained a significant driver of business, accounting for 32.6% of our revenue. This is partly due to our introduction of more affordable pricing and an increase in the number of companies we support. We have always believed that support agreements are an excellent opportunity for companies that want to give back to Avalonia. The support is mutually beneficial; companies support Avalonia financially, and we support them in delivering exceptional software. It's a win-win situation, and we are pleased to see so many companies taking their responsibility to support open-source software seriously.
The enthusiasm for Avalonia XPF has been remarkable, exceeding even our most optimistic projections. The demand for seamlessly running WPF applications on macOS and Linux is vast, and XPF stands ready to address this need. The sales process for XPF is still in its early stages, with the first sales finalised at the end of Q3. We are thrilled that XPF already accounts for 42% of this year's revenue, demonstrating its early success. The average time for trial participants to run their WPF apps on macOS and Linux is measured in hours, and the sales conversion rates look great! While some people choose not to purchase XPF, we've learned that XPF's biggest competitor is Avalonia!
We foresee XPF revenue taking centre stage next year, paving the way for substantial team growth. This growth will enable us to accelerate Avalonia's development and expansion further, ultimately strengthening its position as a leading cross-platform solution for .NET developers.
Another new revenue stream for this year was in-person training. Provided to our most loyal customers, Steven (the original creator of Avalonia) has spent weeks working directly with customer teams to help them become experts with Avalonia. The exploration into offering training has generated 10.6% of this year's revenue, which has encouraged us to investigate offering a structured training service that can be broadly adopted. We will likely have more information on this next year.
Finally, we come to donations. GitHub donations accounted for just 1.7% of this year's revenue. As I mentioned at the beginning of the post, Avalonia's remarkable success has increased our operating costs, and donations should (in theory) be a way to mitigate that. However, it simply doesn't work. The total amount generated from donations per year wouldn't even cover a week's wage bill. Interestingly, some of the largest donations we received came from major tech companies like Amazon (AWS). These contributions are particularly noteworthy because they are not actively developing with Avalonia but instead recognise the value of supporting OSS. While we appreciate every single donation, we acknowledge that creating a popular, sustainable, open-source project on donations is simply impossible.
We are making every effort to expand our revenue while avoiding removing or holding features back from our community. We are confident that by continuing to diversify our revenue and focus on providing high-quality products and services, we can create a sustainable future for Avalonia and ensure that it remains a valuable resource for all developers.