blog

archives

Understanding Discourse Trust Levels

Jeff Atwood June 25, 2018

The user trust system is a fundamental cornerstone of Discourse. Trust levels are a way of…

  • Sandboxing new users in your community so that they cannot accidentally hurt themselves, or other users while they are learning what to do.
  • Granting experienced users more rights over time, so that they can help everyone maintain and moderate the community they generously contribute so much of their time to.

As documented in Community Building on the Web, there is a natural progression for participants in any community.

This seemed like a great starting point for our user trust system. Thus, Discourse offers five user trust levels. Your current trust level is visible on your user page, and a summary of all trust levels within your community is presented on your dashboard.

Discourse trust level counts

Trust Level 0 — New

By default, all new users start out at trust level 0, meaning trust has yet to be earned. These are visitors who just created an account, and are still learning the community norms and the way your community works. New users’ abilities are restricted for safety – both theirs and yours.

(We also want to hide any “advanced” functionality from new users to make the UI less confusing for them as they gain more experience.)

Users at trust level 0 cannot

  • Send personal messages to other users
  • “Reply as new topic” via Link button (UI removed)
  • Flag posts
  • Post more than 1 image
  • Post any attachments
  • Post more than 2 hyperlinks in a post
  • Have actual links in the ‘about me’ field of their profile (will be silently and temporarily converted to plain text)
  • Mention more than 2 users in a post
  • Post more than 3 topics in the first 24 hours after creating their first post
  • Post more than 10 replies in the first 24 hours after creating their first post

Admins can change these limitations by searching for newuser and first_day in site settings.

Trust Level 1 — Basic

At Discourse, we believe reading is the most fundamental and healthy action in any community. If a new user is willing to spend a little time reading, they will quickly be promoted to the first trust level.

Get to trust level 1 by…

  • entering at least 5 topics
  • reading at least 30 posts
  • spend a total of 10 minutes reading posts

Users at trust level 1 can…

  • use all core Discourse functions; all new user restrictions are removed
  • Send PMs
  • Upload images and attachments if enabled
  • Edit wiki posts
  • Flag posts

Admins can change these thresholds by searching for tl1 in site settings.

Trust Level 2 — Member

Members keep coming back to your community over a series of weeks; they have not only read, but actively participated long and consistently enough to be trusted with full citizenship.

Get to trust level 2 by…

  • visiting at least 15 days, not sequentially
  • casting at least 1 like
  • receiving at least 1 like
  • replying to at least 3 different topics
  • entering at least 20 topics
  • reading at least 100 posts
  • spend a total of 60 minutes reading posts

Users at trust level 2 can…

  • Use the “Invite others to this topic” button for one-click onboarding of new users to participate in topics
  • Invite outside users to PMs making a group PM
  • Daily like limit increased by 1.5×

Admins can change these thresholds by searching for tl2 in site settings.

Trust Level 3 — Regular

Regulars are the backbone of your community, the most active readers and reliable contributors over a period of months, even years. Because they’re always around, they can be further trusted to help tidy up and organize the community.

To get to trust level 3, in the last 100 days…

  • must have visited at least 50% of days
  • must have replied to at least 10 different topics
    of topics created in the last 100 days, must have viewed 25% (capped at 500)
  • of posts created in the last 100 days, must have read 25% (capped at 20k)
  • must have received 20 likes, and given 30 likes.*
  • must not have received more than 5 spam or offensive flags (with unique posts and unique users for each, confirmed by a moderator)
  • must not have been suspended

* These likes must be across a minimum number of different users (1/5 the number), across a minimum number of different days (1/4 the number). Likes cannot be from PMs.

All of the above criteria must be true to achieve trust level 3. Furthermore, unlike other trust levels, you can lose trust level 3 status. If you dip below these requirements in the last 100 days, you will be demoted back to Member. However, in order to avoid constant promotion/demotion situations, there is a 2-week grace period immediately after gaining Trust Level 3 during which you will not be demoted.

Users at trust level 3 can…

  • recategorize and rename topics
  • access a secure category only visible to users at trust level 3 and higher
  • have all their links followed (we remove automatic nofollow)
  • TL3 spam flags cast on TL0 user posts immediately hide the post
  • TL3 flags cast on TL0 user posts in sufficient diversity will auto-silence the user and hide all their posts
  • make their own posts wiki (that is, editable by any TL1+ users)
  • Daily like limit increased by 2×

Admins can change these thresholds by searching for TL3 in site settings.

Trust Level 4 — Leader

Leaders are regulars who have been around forever and seen everything. They set a positive example for the community through their actions and their posts. If you need advice, these are the folks you turn to first, and they’ve earned the highest level of community trust, such that they are almost moderators within the community already.

Get to trust level 4 by…

  • Manual promotion by staff only
  • (Possibly via a to-be-developed election system in the future)

Users at trust level 4 can…

  • edit all posts
  • pin/unpin topic
  • close topics
  • archive topics
  • make topics unlisted
  • Split and merge topics
  • Daily like limit increased by 3×

We believe this trust system has been a success so far, as it leads to stronger, more sustainable communities by carefully empowering members, regulars, and leaders to curate and lead their own communities. But like everything else in Discourse, the trust system is evolving over time as we gain more experience with more communities. We’ll continue to update this post with any changes.

5 comments

Discourse in Outreachy Summer 2018

Erlend Sogge Heggen March 13, 2018

tl;dr: Discourse will be participating in Outreachy Summer. If you are eligible to participate in this internship, please consider applying!

About Outreachy

Participants of Outreachy work with an open source organization (in our case Discourse) on a 3 month programming project. It’s similar to events like Google Summer of Code, however the aim of Outreachy is to provide a collaborative environment in which newcomers from underrepresented backgrounds get an opportunity to learn from and contribute to FOSS by doing paid, full-time work.

Participation is open internationally to all women (cis and trans), trans men, and genderqueer people. Additionally, it’s open to residents and nationals of the United States of any gender who are Black/African American, Hispanic/Latino, American Indian, Alaska Native, Native Hawaiian, or Pacific Islander.

Source: https://www.outreachy.org/

Furthermore, unlike GSoC, Outreachy is open to all ages, not just students.

Background

We were planning to defer on Outreachy until this winter, seeing as our mentoring capacity is limited. However, since our application for GSoC got rejected we decided to participate in the Outreachy summer round after all! As a result of this sudden u-turn everything is happening at the last minute, but judging by our previous Outreachy interns we’re confident we’ll be hearing from some excellent candidates shortly.

How to apply

The main application is available at outreachy.org.

Outreachy requires applicants to have made a contribution to the project they’re applying to. Make sure you carefully read the “Recommended reading before applying” and “What you’ll be working on” sections.

The formal application deadline is March 22, 2018, but we’ll be extending it by one week, to March 29.

Any questions? Please contact team@discourse.org or ask questions on meta.discourse.org.

3 comments

The Discourse Encouragement Fund

Erlend Sogge Heggen February 16, 2017

For almost a year now, we’ve been doing something that’s considered quite risky for an open source project: Paying contributors. Communities like ours are fundamentally built on intrinsic motivation. Getting money involved can jeopardize the whole ecosystem, but for the past year we’ve been experimenting with a model that lets us pay contributors for mission-critical work, while maintaining a culture of volunteerism.

It all started with the Mozilla Open Source grant* about a year ago. This grant effectively enabled us to pay our own developers to work on features that were strategic to our business, as long as these features were also aligned with the “common good” mission statement set forth in our MOSS roadmap (which was to improve our email capabilities). So with some of our company’s developer time being paid for by this grant, we decided to pay it forward by using an equivalent amount of our own money on some more experimental ventures for developers from our community to take on.

To date we’ve paid 16 different developers a total of $17’000 to work on bite-sized tasks. All of the work is open source, and two of the developers we’ve worked on paid assignments with are now core members of our team!

A process for rewarding contributors

For the past year, we’ve been fine-tuning the process of handling paid contributor work. These are the key lessons we’ve learned:

  1. Define a rough spec. A one-pager with bullet points, posted as a public discussion topic on meta.discourse.org, would usually suffice. The important part is to move past any implementation controversy. Unlike in-house development where we sometimes start work while the spec is still being defined and talk, argue and finally agree through code, this is not ideal for outsourced work. The spec can still be rough as long as there is 100% consensus on the key ideas among the core developers.

  2. Make it a bite-sized task. All tasks pay between $150-$1500. Any less and it’s usually better to leave it as a pro-bono contribution opportunity. Any more and it’s gonna become a project (i.e. dependencies, deadlines) instead of a one-off task.

  3. No hourly rate. A fixed fee simplifies the transaction. We say “would you be interested in doing Task-X for Y$?”; the contributor assesses the scope; after cutting out a couple stretch goals we’re in business. This payment is not so much a freelance assignment as it is an acknowledgement of a valued contributor.

  4. We choose who, what and when. At first we tried to put tasks “up for grabs”, but this method didn’t work too well. You end up with multiple takers and you have to pick one and let others down. Instead, we approach developers individually, one at a time. Since we’re an open source project we know fairly well who’s capable of what, so we’ll tap our top prospect, present the task & “bounty”, and get a yes or no. If no, we move on to the next good prospect. If we run out of good prospects for a specific task, we’ll either do it ourselves or put it on hold.

  5. Tasks are mostly strategic. As in, directly or indirectly, this improvement is gonna save or earn CDCK Inc. money. This is the easiest way to draw a line between “what type of job deserves funding?”

  6. Tasks are mostly time insensitive and free of dependencies. Doesn’t really matter to us if it’s done tomorrow or next month as long as it gets done. It’s not a good idea to expect part-time contributors to jump on to the speeding train that is core development.

  7. Spread it out. We’ve tried to not play favorites. Most volunteer contributors appreciate the opportunity to work closely with the core team at a more professional level – as do we with them – so we want to have that experience with as many regulars in our community as possible: programmers, designers and technical writers alike. What’s more, as a sporadic call-to-action it doesn’t appear to disrupt the give & take spirit of open source volunteerism.

This is a process that will continue indefinitely, as we are extremely happy with the outcome for both our product and community.

For a long time this was just something we were doing, but eventually it became “The Discourse Encouragement Fund”. As much as we’d like to, we can’t put every one of our contributors on a steady payroll. What we can do is remind them that the work they’re doing is valuable, in every sense of the word, and that there is money to be made from specialising in Discourse. For the truly committed, the opportunities are out there. A bigger ecosystem benefits us all, so if you’re entertaining the thought of generating a steady income through Discourse work, we’d love to talk about it.

p.s. we recognise that having the time to volunteer in the first place is a privilege. In conjunction with the Encouragement Fund, we are also experimenting with contracting gigs and paid internships, but that’s a different post for another time!

8 comments

For more blog posts, visit the archives