Written on 22 January 2021
We’re not going to spend a lot of time rehashing 2020. We all know how challenging it was. Besides, 2021 isn’t necessarily shaping up to be much different. Instead, we’re going to keep this report simple by providing a financial update, by listing out some of what was accomplished as well as our focus in the coming year, all with some analysis sprinkled in here and there. By no means does this report contain all accomplishments, financials, mistakes, hopes or dreams. Finally, we are grateful for the support of the CiviCRM community for sustaining CiviCRM through 2020.
The bulk of this update consists of a financial report that provides deeper analysis of CiviCRM’s 2020 Income Statement. A copy of CiviCRM’s Balance Sheet is also available, though no analysis is provided. Additional financial statements can view found here. If you prefer to skip the financial stuff, you can click here.
Where we started in 2020
Quick recap of some of the operational changes we made at the beginning of 2020:
- We started 2020 by expanding the Core Team, officially adding Eileen McNaughton and Seamus Lee.
- We pulled back on ‘stuff’ that we felt was non-essential for the Core Team, like marketing and events.
Our key take away from last year's annual report reads:
In the big picture, our lesson from 2019 and our plan for 2020 is around focusing the Core Team on what it’s best suited to do, on maintaining a stable and growing budget, and on cultivating and supporting the community such that it can continue to take on more responsibility over various aspects of the CiviCRM project.
How did this work out?
In general, feedback from Core Team members and from informal conversations with contributors, partners and end users is positive. Nearly everyone felt that the project was in a better place, that the quality and amount of development coming from the Core Team was good, and that the product was better and more stable today than in years past.
The flipside is that some of the projects that we consciously stopped driving stalled. Whether it was a direct result of the pandemic or the fact that everyone in the community seems busier than ever, various projects moved at a snail's pace or not at all. Events obviously took a hit, and our planned Community Summit didn’t happen. Still, thanks to folks like Nic Wistreich and the creation of ‘CiviLive’, creative solutions to the event problem arose and we’re seeing this catch on slowly.
Marketing, specifically the civicrm.org website, inched along but not as much as we hoped. We’re really thankful for Mathieu Lutfy of the Core Team for making the transition to Drupal 8. We still have much to do, however he’s worked hard to reduce the technical debt of the previous site, putting us in a better position to improve the content and presentation of what is CiviCRM’s most important marketing platform.
In short, we were more productive at what we focused on, but those items that we pulled back from made little progress.
Financially speaking, we had a much narrower profit in 2020 over 2019, and we saw a modest decline of 12.14% in our overall income for that same year. Still, 2020’s total income was up about 6% over 2018, as well as up over previous years, so the trend does seem to be a rising overall budget.
As we’ll review shortly, it’s likely that much of the drop is a result in weaker overall community funding and funding from events.
The CiviCRM Core Team currently stands at 6 people, though only 3 full time equivalents. This represents an increase of 18.58% in our “people power”, i.e. our capacity, having operated throughout 2019 with 2.53 full time equivalents.
Because we removed event management from our plate, regardless of the fact that there weren’t many due to the pandemic, we saw a shift in the cost of labor as it relates to our overall expenses, climbing from 81.67% of budget in 2019 to 94.12% of budget in 2020.
This is to be expected, as is an overall increase in absolute costs of labor, which increased 22.24% in 2020.
We managed to partially offset the additional labor costs by increasing earned income and by reducing non-development oriented labor, specifically related to marketing, events, community management and general project management. In simple terms… we had more Tim and less Josh. :)
In 2018, we began tracking income and expenses at the group level where groups coincide mostly with how we’ve attempted to operate, specifically 1) core 2) development 3) security 4) maintenance 5) infrastructure and 6) events, though the latter has mostly been phased out.
The accounting of income into these groups is very accurate, with the bulk going into “core”, or our general fund, and into “development”, i.e. where we place our earned income for new development work performed. Likewise, Extended Security Release funds the Maintenance group and Spark supports Infrastructure.
The accounting of expenses is less precise given that the bulk of our costs are labor related and we simply don’t track our time down to the nearest minute. Because work performed can often apply to multiple groups, it is difficult to apply the cost of labor with 100% accuracy. Still, we are close to what we feel is reasonable and worthy of report.
At the topmost level, we like to review income trends by source, specifically as it relates to income that is 1) community funded 2) earned and 3) generated from events, though the latter will be phased out. While still every so slightly the largest portion of the Core Team’s budget, community generated funding witnessed a 23% decline from 2019. Likewise, earned income rose 33.35% from 2019.
This is a disappointing trend largely being driven by declines in CiviCRM Partner support and in Make It Happen campaigns. Ideally, we would see an increase in community funding which would permit us to increase our development capacity further and allow us to continue to drive major initiatives such as APIv4, SearchKit and Form Builder.
Regarding Make It Happen campaigns, it may be unfair to consider it a drop from 2019 given that that year witnessed more support for Drupal 8 integration and Form Builder, both of which are significant projects that required above average funding relative to typical MIH campaigns. Still, Make It Happen campaigns would appear to represent a good vehicle for garnering community support, so any stagnation or decline in funding is disappointing.
Two notable improvements in CiviCRM’s community funding are from CiviCRM Members and Platform Sponsors. While only a modest gain in membership, the trend is encouraging given that member support has historically been low and difficult to galvanize. The recent increase in support gives us pause to reconsider how member support could be fostered more broadly.
Regarding Platform Sponsors, these are 3rd parties that benefit from CiviCRM in a transactional manner, i.e. payment processors, smtp providers, etc. These companies have entered into a revenue share agreement with CiviCRM, thus our incentives are more aligned; if CiviCRM can grow its user base, then all parties stand to benefit. Year over year support from our Platform Sponsors increased 34.7%.
Huge thank you to PayPal, Stripe, TSYS and iATS Payments for supporting CiviCRM as Platform Sponsors.
With respect to earned income, the Core Team witnessed significant growth in special projects (where we provide development services) and Spark over 2019, increasing by 35.08% and 82% respectively. The increase in income from special projects is both a blessing and a curse. We are, of course, happy to receive it and quite honestly need it in order to keep the project going. Of course, it does drive our development direction and it does require a significant investment of time that cannot therefore be applied to other areas of the project.
Spark, on the other hand, has shown nice growth, though the overall revenues are very low. That is by design as Spark is not intended to be a major revenue driver. In fact, quite the opposite. Spark is intended to be a driver of ecosystem growth. The fact that revenues increase as a result only demonstrates that Spark is fulfilling its potential to drive users into the ecosystem.
Lastly, we are seeing small, consistent growth in Extended Security from both partners and end user organizations alike. Having said that, we have to give special recognition to BackOffice Thinking for their thoughtful leadership in helping shape ESR as well as their financial commitment to the release. ESR simply would not be here without them.
We’ll continue to evaluate the financial trends, however broadly speaking we would like to 1) see funding from the community increase to reduce our dependence on earned income and 2) an overall increase of ~ 15% in our budget in order to expand our development capacity.
Summary: We are seeing a drop in our overall budget as a result of weaker community funding and a removal of events from the books. This is partially offset by increased earned income and by reducing non-development oriented labor costs. In general, we do not view this as a positive trend.
Non-Financial Highlights & Plans
We’ve listed a few highlights below (in no particular order) without going into a ton of detail on each. Some reflect accomplishments whereas others are more forward looking. Some involve solely the Core Team, others solely the community, and still others a mix of both. All are worthy of mention! And, obviously, not everything that happened in 2020 is listed… we want to have some limit to the length of this report!
Where possible, we link out to relevant discussions or summaries for additional detail.
- Big thanks to Eileen for introducing and maintaining the Dev Digest. Feedback on this communication has been really positive. If you’re not receiving it but want to, or if you want to review past archives, go here.
- Thanks to the GSoC team, driven by Luke Stewart of Fuzion, and including our mentors Parvez Saleh, Matt Wire, Justin Freeman, and Eileen McNaughton. We had several awesome participants in 2020:
- Pratik Devlekar - Enhancing Transactional Email Templates And Giving A Solid Foundation To The Extension.
- Asha Sulaiman - Linking CiviCRM with LibreOffice / Collabora Office
- Sarvesh Mehta - Outlook 365 plugin to integrate CiviCRM in the outlook address book
- Kartik Kathuria - Probots and GitLab to GitHub Integration
GSoC 2021 will be underway soon. If you’re interested in helping as a mentor, please PM @josh on Mattermost.
- Like most everyone, we were disappointed that events got shut down throughout the year. That said, several community members took up the task. Thanks to event organizers:
- The folks down under have organized a monthly Asia/Pacific Meet-up
- The team at CiviCoop organized Coffee Corner
- Nic Wistreich and Neil Planchon put together CiviLive and provided a great resource outlining how it was done (in case you want to take on something similar).
- Not quite in 2020 but close enough, Roshani and Neil recently kicked off Campfire Chat. Stay tuned for more of these.
- Several webinars took shape for translation, CT webinars for SearchKit, and more. Check out CiviCRM’s YouTube channel for the latest videos.
- The annual Community Summit and related sprints didn’t happen, however Mikey O’Toole put together a Do-ocray Week to help supplement their shortfall. For our part, we’d really like to see more virtual sprints take shape this year as we feel it’s unlikely that in-person sprints will be back in 2021. Not only are sprints a great way to focus on specific needs within the project, they help keep us connected as a community.
- Community Council elections were held and the council has been making progress on several fronts. Stay tuned for more from them.
- Thanks to Mathieu Lutfy for completing the transition of civicrm.org to Drupal 8. We want to turn our attention to the long overdue task of cleaning up the site’s design, navigation and content, as well as making it multilingual. This is more than any one person can do, so we hope to garner support for this in the coming weeks and, ideally, by the end of 2021, we will have realized our objectives. We track most work in the CiviCRM Website project on Gitlab.
- Consistent with cleaning up civicrm.org, we are going to migrate Spark-related content to civicrm.com. We’ve evaluated this for several months, captured some valuable community feedback, and believe that isolating Spark would better serve the needs of those likely to adopt it while at the same time helping to lighten up the content on civicrm.org. For Spark itself, our objective remains to leverage it as a vehicle for ecosystem growth and not specifically as a revenue stream.
- We spent a lot of time in 2020 consolidating CiviCRM’s search and reporting capabilities into a new extension dubbed SearchKit. We’re continuing to press forward with this initiative and are seeing greater support for and development around it. Similar to Form Builder, this is a large initiative and will take ongoing support to consistently improve it. It now ships in core, so we encourage you to use and test it. Likewise, if you value the work and would like to see it continue, we encourage you to contribute to the effort and/or make a donation to support the work.
- Unfortunately the focus on SearchKit, Drupal 8, and other initiatives prevented us from making the progress we wanted to make on Form Builder. The good news is that there is overlap with SearchKit given that it relies on Form Builder in order to create custom search screens. Still, we’re disappointed that we lost focus and are keen to pick back up on Form Builder work throughout 2021. Expect to see more progress on Form Builder in 2021.
- We continued to support CiviCRM Extended Security Release throughout 2020, sticking to a 6 month release schedule. Feedback continues to be positive on both the release and the schedule. And while the income is lower than what we expected, it is growing and those that use the release seem happy. Thanks again to BackOffice Thinking and Palante Technology Cooperative, as well as the many sponsors/users of ESR, for their support.
Finally, we want to give special thanks to Deutsche Gesellschaft für Internationale Zusammenarbeit (GIZ) GmbH for their financial support toward CiviCRM security (this will be reflected in the 2021 report). Several issues were identified as a result of the MOSS security audit that Nic Wistreich helped spearhead that we were able to prioritize as a result of the additional funding provided by GIZ. Thanks also to Detlev Sieber for helping make the connection between GIZ and the CiviCRM Core Team.
From a technical perspective, in addition to the normal releases, we’re really happy to have seen completion of Drupal 8 integration, the progress on SearchKit, the Oauth work, the focus on and quality of the security releases, and the many improvements provided by the community via extensions, documentation, etc. Really, there are too many to list out.
We’re also really happy to have seen progress throughout the community on various initiatives such as events, webinars, the community council, and many more. Especially during such a challenging year.
The Core Team and the project still have hurdles to overcome both financially and concerning overall ecosystem growth. Hopefully we’ll see both improve in 2021 and, as always, we invite you to be a part of it. Many thanks to all of the contributors and supporters of CiviCRM. Here’s to another year past and looking forward to 2021!