This is an extremely interesting discussion to me. For some context, I was one of the first developers on Vanilla and worked on it for 90% of its existence before it was bought by Higher Logic last year. All in all, I worked on it for a decade, and I'd been running customized vBulletin forums for nearly a decade before that. Currently, I'm evaluating a path off of Vanilla for those same sites, much like @neptronix was. In fact, we were chatting privately concurrently to some of his comments here back in late 2020, coincidentally, after I'd left Vanilla.
I generally think he is right. But I also now believe the Flarum team is right. It's taken me a couple years of thinking on the problem to realize they aren't mutually exclusive nor really even compete with each other.
What we call "forum" software has changed dramatically over the last decade, and I think the decade ahead is going to change it even more dramatically. The idea that a single open source project can manage the entire complexity required for the vision in @neptronix's mind is no longer realistic to me. Because as the Flarum team rightly points out, tradeoffs must be made. Complexity increases headache. And that burns out teams. Every bit of friction added to the process makes it more likely to fizzle in the long run, and competing narratives about the goals of what you're building introduces a lot of friction.
Looking back at Vanilla's history, I think there was a clear turning point in 2014 after the release of 2.1. The company was making hard decisions about how to protect its core business, and decided to withhold some features, most importantly "Reactions" (and here I will note for posterity that Vanilla shipped that feature long before any social media platform had moved beyond "Likes"). I was strongly on the side of open source for the features, but The Fear of being a startup led them to withhold things. It created a lot of community tension from conflict over what the point of the project was and generally soured relations between the community and the company. What should've been a triumph for the team generated, for some, resentment of the community instead. By 2015, I was the only one in management still actively participating in the community.
When you make new decisions or change strategies, it's not free. If Flarum changed direction to such a degree as some might like, it would likely cause a rift in the community. It's not what folks signed up for, let alone the challenge of choosing details about which new direction to go. It's not remotely feasible in my mind.
But indeed, what about Discourse?
I'd agree with the issues enumerated here: Discourse's tech stack was shortsighted and it suffers for it. (Please forgive my brevity, I'm not calling Ruby et al bad I just feel it's a mismatch here.) They do have a large team working on it full-time and a lot of money behind it. I've called it "Vanilla's ideas re-implemented with 5x the resources" which is a bit salty but hey, they were a competitor. 😅 That's all attractive to businesses and very unattractive to me personally — I've moved on and have different ideas now. The initial pitch from their founder was "trust me, I created Stack Overflow" but that place is a community anti-pattern to me so I wasn't ever buying it.
XenForo is an excellent all-in-one solution, but it's basically vBulletin forked in the direction it should've gone. They are as militantly closed-source as their pedigree suggests. There's something ironic about building community software without a community to me, so it's ultimately not for me no matter how nice it is.
So where am I going with this? If Flarum's strategy is correct, but I also believe there should be a more opinionated, open source, PHP-based, all-in-one solution, what then? It's a bit embarrassing how long it took me to realize this, but I think the solution is to build that product on top of the Flarum framework and contribute back to it.
Most open source packages use many other packages as dependencies. Forums, typically, have been the top of that stack. Consumers, but never consumed. Flarum is uniquely set up exactly to be consumed as a dependency, and prioritizes everything you'd want in such a framework. So doesn't it then make sense to build that "all-in-one" community solution as a pre-built package scaffolded atop Flarum? Join the open source community to build more community. It sounds like a win-win to me, anyway.
But maybe I'm just dreaming. 🙂
Today, if you're still excited about technology, customizations, and open source, you want Flarum. If you're a solo showrunner and quite tired of maintenance & tweaks like @neptronix, you probably want XenForo. If you're business and want a slick demo to show your boss, buy
IBM Discourse. If you want both A & B and aren't C, I think there's room in the market for that still, but I don't believe you can get there by starting over yet again. Forums have been "reinvented" 10 more times since Vanilla used that line back in 2010. What lies ahead needs to be built on what's already here, and Flarum looks like a damn nice foundation to me.