Wolverine Hit Five Million Downloads

I’m having an aggravating day at work today, so just indulge me in writing this up for fun whilst I’m waiting for some very slow CI builds to finish…

If you’re not familiar with Wolverine, it’s a series of application frameworks for server side .NET development including asynchronous messaging, asynchronous processing via in process messaging, an alternative HTTP endpoint framework inside of ASP.Net Core, and a “mediator” if that’s really all you need. What’s going to set Wolverine apart from other tools that overlap in capability is our relentless emphasis on low ceremony code and testability in your application code. I would happily argue that Wolverine with or without Marten to form the full “Critter Stack” is the best solution in .NET for both a “Vertical Slice Architecture” style and the new “Modular Monolith” idea.

From supporting folks the past couple years using Wolverine to build modular monoliths, I can tell you that the modular monolith approach is far more complicated than I think many people are recognizing online. I’m not saying that it’s the wrong approach, just suggesting that it’s not a silver bullet.

The main WolverineFx Nuget passed 5 million downloads today, so a little celebratory blog post seems appropriate. Granted, that’s a rounding error compared to some of the more successful OSS tools out there in .NET, but our trajectory is bending upwards quite a bit because that makes a million downloads in the past six weeks alone.

Why the sudden interest and download numbers? I hope that at least some of that growth Wolverine finally getting a little more visibility from .NET content creators on LinkedIn and YouTube. Admittedly some of that download growth is probably just due to the absurd number of releases we’ve made in the past six months. The release cadence has been from a combination of:

  • We get a ton of community pull requests and involvement in bug reports, suggestions, and requests. The Critter Stack community does a great job of writing up actionable issues with reproduction projects too, and that makes it a lot easier to crank through reported issues.
  • I prefer smaller releases rather than letting things build up
  • JasperFx Software has a policy of trying to address fixes or features requested by our clients quickly rather than waiting for the “next scheduled release cycle”
  • For better or worse, AI has made it possible for us to burn through a huge amount of back log issues and long standing ideas that wouldn’t have been feasible to do otherwise

For some context, I visited my son in the first week of December in Boston as he was wrapping up at Northeastern. We’re both history buffs, so we were naturally discussing the American Revolution as we did sight seeing in Boston. At the time, I was making a big effort to burn down the backlog of issues for Wolverine and the GitHub issue and pull request numbers were at that time in the mid-1700’s. Being a history nerd, I had fun talking about what historical events were happening as Wolverine work proceeded from the years during colonial times to the America Revolution to the Napoleonic Wars to the US Civil War and suddenly through the entire tumultuous 20th century. Six months later we’re in far out SciFi times as we cracked 3,000 issues and pull requests last week.

All that being said, yes, I would really like the release cadence to slow down and I’m hopeful that happens once we get past the inevitable slate of issues with the structural changes in the recent Wolverine 6.0 release.

Anyway, Wolverine is clearly trending in a positive direction for adoption right now. This is especially positive to me because Wolverine has taken an extraordinary length of time and effort to get here.

Wolverine is the latest in a lineage of OSS projects dating back to the earliest efforts for FubuMVC starting in ’08 during the tail end of the ALT.Net movement — with my two biggest disappointments in my career being the failure of FubuMVC and the utter implosion of the main ALT.Net community in a cloud of negativity.

When I launched a project called “Jasper” a decade ago, I set out with a long laundry list of lessons learned from FubuMVC about how to make the next attempt at an application framework more successful, and well, that failed too. Wolverine rebooted “Jasper” with the full intention of being a complement to Marten that was already successful. This time though, the integration with Marten got us some early users, and that got us into a virtuous cycle of feedback leading to improvements leading to more community leading to more feedback and you get the point.

Just to end somewhere, if you want one single actionable way to make an OSS project be more successful I’ll tell you to get feedback from users and use that to continuously improve. I just can’t give you a reliable recipe for doing that other than luck.

Leave a comment