How do we decide what goes into each release of Discourse?

(Jeff Atwood) #1

How do we decide what goes into each release of Discourse?

Generally speaking, this is the model:

That is amortized across:

  1. How many different Discourse instances are complaining / asking about this?

  2. How many of these Discourse instances are paying customers, either ours or someone else’s?

  3. What is the community composition of those Discourse instances? Large, small, specialist, generalist, cranky (we dislike change), progressive (we love change)? How active is the instance? Is it a massive bustling city with big city problems, or a small town?

  4. How strongly does the team feel this would help many (or all) other Discourse instances?

  5. How in tune with the “Discourse philosophy” is this feature? Example: downvoting / next page buttons, very much not in tune; optional anonymous posting / export personal posts, in tune.

  6. What discussion has there been about this, if any, here on meta.discourse?

  7. How strongly does the Discourse team personally like/want/need this feature?

This is ranked from strongest (#1) to weakest (#7). The more we see the higher numbers the more that particular thing is prioritized. Discussion is weighted, but only to the extent that the people discussing have regular visibility into multiple Discourse instances with different audiences, 5 to 10 of them ideally, but even 2 or 3 is good.

We always encourage discussion of features and direction for current and future versions of Discourse, within the following guidelines:

  • A little discussion is great. However, we try to avoid having too much discussion in favor of Just Trying Something.

  • In the event that there isn’t any kind of real consensus in the discussion, or significant disagreement among a minority in the discussion, the Discourse team reserves the right to make arbitrarily binding decisions and move forward.

    In the case where it’s kind of a UI or design thing where there’s no way to have a solution that can satisfy everyone, our philosophy is:

    • Do the simple / clean thing whenever possible

    • Gather basic feedback

    • Try it for a while – live with it

    • Adjust it over time based on feedback from living with it

  • We reserve the right to be wrong about any of those binding decisions and revisit them at some later date.

  • We don’t like exploding Discourse with zillions of confusing settings, we’d rather have sensible out-of-box defaults that work for 90% of communities and can be tweaked. But in some (rare) cases the needs are so divergent that a new setting must be added. This should be a method of last resort.

  • Discourse is open source software! Try to be the change you wish to see, via a plugin or pull request.

Discourse 1.1 and Release Schedule
How to request new features for Discourse
Polls UX: Problems and solutions
Discourse Development Contribution Guidelines
How did you decide to make Discourse this way?
Disable discourse from crawling links
Feature idea: auto-bump a topic if its title contains today's date
(Jeff Atwood) #2

(Jeff Atwood) #3