Discourse, living on the edge

We’ve been running this discourse site for several years now with no significant problems. Perhaps every month I’ll get an email something like this:

Hooray, a new version of Discourse is available!

Your version: 3.2.0.beta4-dev
New version: 3.2.0.beta4

I was curious why Discourse always wants me to run “beta” or worse yet, “beta-dev” software. The following threads shed some light:

Some quotes:

Our nomenclature is a bit different than other software companies, but what it means when we release a beta is we’re releasing a new incremental version. We’ve said, “That’s enough changes for now. Let’s notify sites about new updates.”

So for us, a beta is a minor version bump, and a version is a major version bump. They’re checkpoints we give ourselves to celebrate the work we’ve done. We tend to release two major versions a year, but it all depends on feature development and the like. We’re not really into fake deadlines.

Regarding the branches

Stable/beta are not necessarily any more “stable” than tests-passed. It’s more the idea that the bugs are known. With tests-passed there may be new bugs introduced then fixed a few commits later.

Tests-passed is not much different than most other software releases out there, which usually release small changes every two weeks. We commit new changes almost daily instead, and they’re available via tests-passed.

We run tests-passed in production on our hosting. It’s 100% meant for production sites.

So for Discourse, their definition of “production ready” is “tests pass.” Stable release numbers are largely irrelevant anymore. This is the “new” best practice in software development but requires some investment in testing and thinking a little differently.

Ask yourself the question, if your tests pass, are you confident enough to deploy it to production without any manual fiddling or second-guessing? If not, then perhaps a little more work in testing is in order. If something breaks, write a test that detects it so it will not happen again, and move on. This is the way to move fast.

This is exactly like yoe release philosophy :slight_smile:

1 Like

The term “stable” is a synonym for “dead” these days. :slightly_smiling_face:

This is just story I see project by project moving away from mailing list to some hosted forums
like discourse or discord etc. I wonder if mailing lists are too hard to handle and discourse offers lot rich experience and options for interactions.

Discourse offering both topics and chat is a nice combination – threads for searchable, long-lived information, and chat for more informal discussions. Other features of Discourse:

  • don’t have to subscribe to an email list to participate
  • richer content (images, embedded videos, etc)
  • discourse offers nice weekly summaries
  • forums are generally easier to search than email archives
  • reading posts sequentially in a forum is generally easier than clicking through emails in a threaded email reader like Thunderbird – perhaps Gmail is better as it presents mail more in forum-like format.

In summary, forums are less friction for users and occasional contributors and are generally a richer content experience. Emails are perhaps more efficient for some of the core people in the project.

Who are you optimizing for?

Where does it make sense to focus?

Discourse moderation is world-class as well. Very few people even try to spam this Discourse server, as they know you have to build a reputation before their posts make it through.

1 Like

yeah this is quite a good thing, I wish social media used some of such reputation credits