I'm a big fan of software that makes better communities possible online. Ever since Discourse set the standard for "good self-hosted open source forum software," I've always wished there were something simpler to deploy. However, my first impression of Forem is, "this software looks complicated."
Can anyone more familiar briefly speak to the trade-offs that were made? Why podman, butane, ansible? Most communities are small, but it looks like the expectation here is that communities might grow to hundreds of thousands (or millions), so orchestration etc. is necessary?
Yes, Forem is extracted from dev.to— which was built to reach millions— With crowdsourced moderation, feed algorithms, rich editors, etc, and we're working backwards from there. So yeah, it's a little complicated at this layer of the stack, and getting simpler over time as we work to extract from the core.
Background processes, on-the-fly image optimization/caching— It's more shopify for independent social networking than it is classical forum software.
I'd be curious to hear more about where you see the rough edges are around Discourse deployment, particularly for a simple use-case. I kicked off a single-node Discourse installation a few years ago and it's happily run ever since with just an occasional machine resize. The community that installation supports isn't _that_ trivial, imo, and consistently hits 5 figure monthly actives (a lot of whom are very, very active).
My experience overall has been that, for a project supported by a company that wants you to pay them to run the software, it's almost _too_ easy to run. One click upgrades in the client, generally fantastic documentation and resources for when you need to go deeper, and a really solid story (albeit time consuming) for the situation when you need to transition from the one-click-style installation to multi-node. Personally I've found Discourse to be so simple to install and relatively painless to manage over the years that I'd honestly be shocked to find something better in that regard.
> Ever since Discourse set the standard for "good self-hosted open source forum software,"
I know this is besides your point, but I wouldn't credit Discourse with any standards but horrible UX. It's the worse of (new) Reddit combined with the worst of forum software. Horrendous.
More recently they’ve made it work without JavaScript. I disable JavaScript by default for various reasons (but more about performance than privacy), and I’ve actually stopped enabling JavaScript for Discourse because I prefer its functionality that way.
New Reddit is clearly a reference to desktop reddit, though yes, mobile reddit is intentionally even worse to push you to the app (it can be trivially defeated by requesting desktop mode though, or there's always i.reddit.com ).
I had the same kind of thought when I saw the requirement for deployment. It's such a random stack and definitely not the right abstraction for a flexible deployment (for smaller communities as you mentioned). It seems also expensive to host it.
The stack is very rational.. and "easy-ish"
but its not wordpress easy..
most groups..and social networks.. dont burst outside 500 monthly active users.. at best.. 5000~
most groups are small and doesnt need a sophisticated scaling system.
I often test out communities with a very simple wordpress install running buddypress... it suits most communities and its so easily movable to cloud...
anyway.. i love Forem the dev.to guys have really created something phenomenal
i guess buying "clouds" now is just as accepted as buying a domain. (note how on both, the term buying doesn't mean buying, but having the privilege to continue to rent)
i can see myself in the 90s cursing about all the lame rich kids just paying for silly domain names instead of using readily available IP addresses you needed to host already.
how did dev.to and hackernoon appear so suddenly? For the longest time it was just medium and random people's blogs and all of a sudden these two platforms just got huge.
Or any shared hosting provider. It bugs me so much how every project seems to think I want to run a cloud instance to host it and bring in that maintenance burden. It's stupid. Give me shared any day for the small stuff.
While it would be nice to have these things, think about it: this isn't a product someone is selling us, they were doing their own thing making something that worked for them and stopped and thought "dang I bet the other nerds out there would use this" and then did what they could to open source it. That in itself this is generous, and nowhere does it imply any other types of agreement. Does that make some of us sad? sure! Is that this dev's problem? absolutely not.
This is true— But also, we will support the journey towards being 100% cloud agnostic— It just wasn't worth holding up this release to get it all perfect.
Nothing is deeply cloud-specific in the core stack— Opportunities to go cloud agnostic are there, we just might have to do it via contribution, as we have a few important projects on the go with conflict with the time this would take. But it's open source, and it will happen :)
Can anyone more familiar briefly speak to the trade-offs that were made? Why podman, butane, ansible? Most communities are small, but it looks like the expectation here is that communities might grow to hundreds of thousands (or millions), so orchestration etc. is necessary?