Here's an idea for a first-step which would require only a small amount
of work in the short term, I think (says the guy not writing the code).
It's based very much on ideas from Janet and others here, but sort of
compiled into what I think is a shorter and simpler form.
Let's start with a vouching system. You want to edit, pop into IRC or
onto the mailing list and ask for someone to vouch for you. People who
have been around a while (that is, members of some specific privileged
group) would have vouching permissions and be able to vouch for someone
so that they can sign up. This could be done with a workflow like:
1. User clicks the register button.
2. They go through the same signup process they do now, but at the end
of it they're told that due to the current situation, we have an
added step they need to go through. They need to get vouched for by
one of our longer-time contributors, as well as some information on
how to contact one.
3. The account is created, but is marked as unvouched and as not having
edit permissions (or as inactive, or whatever is simplest). By being
inactive, we need to make no additional changes whatsoever to the
wiki contribution code, which all already knows that these users
can't edit.
4. To get vouched for, they can ask on IRC/mailing list/private mail if
they have it/mdn-admins/whatever makes sense.
5. When the vouching contributor decides to vouch for the newcomer,
they go into their admin panel and click the appropriate button next
to the newcomer's name in the list of pending new accounts to enable
the account and set the "vouched" field appropriately.
6. The account is activated and the user receives their welcome aboard
email.
This lets us keep mostly the same startup flow we have now; the only
addition is a "vouched" field on each user; this could be a boolean but
might be better as a string to contain the voucher's ID, plus the UI to
announce the need to get vouched and how to do it, as well as any
changes needed on the admin side to support the new "can-vouch"
permission and its use.
We could even add a field to the sign-up process so that they can enter
some sort of code that would auto-vouch the user; these codes would be
some kind of pre-generated value that we would be able to create in
advance of events, or which contributors could create and send to
newcomers they want to sign up for an account, so that vouching can
happen instantly instead of having a delay while waiting on a voucher to
go through the admin panel to activate them.
> Mmh... I like that idea :)
> Janet Swisher <mailto:
[email protected]>
> March 21, 2016 at 12:47 PM
> I agree that simpler is better to start with, and complexity can be
> added as needed.
>
> We need to balance the need for restricting access by spammers with
> our value of openness to encourage participation by well-intentioned
> humans. (This touches fundamental issues like "Why is MDN a wiki and
> not a closed publishing platform?")
>
> We also need to ensure that we use automation where we need scale, and
> keep manual intervention for levels where scale is less of an issue.
>
> Therefore, I think requiring manual approval of first edits is an
> non-starter both for scalability and for user experience. (Unless we
> want to go to a completely different contribution model like on SUMO.)
>
> Here are some behaviors that are abused by spammers, which we should
> restrict new users from doing:
> * Create an article
> * Change an article's title
> * Replace large amounts of content in an existing article (something
> confused translators also do)
> * Add or change links
> * Add attachments
> * Make many changes rapidly
> * Add irrelevant content
>
> Until recent changes, we have had a post-hoc, manual review of
> first-time edits; if a change was not rejected (i.e., reverted or
> deleted, and the user banned) within a few days, that edit and that
> editor were implicitly accepted.
>
> This process could be automated so that users who are not rejected
> after some criterion (e.g., time and/or number of edits) automatically
> gain some expanded privileges (a subset of those listed above). I
> think manual rejection is more scalable than manual approval.
>
> Higher levels of trust and privilege (such as Jeremie describes) could
> be manually managed, although automated tools to present candidates
> for review might be helpful.
>
> Ideally, we want a system where users who do constructive, helpful
> behaviors are rewarded with more ability to be constructive and
> helpful. Many people point to StackOverflow as an exemplary model
> (which it is), but it has a very different purpose than MDN. I
> recommend the book "Building Web Reputation Systems"[0] for a
> framework for thinking about approaching this issue.
>
>
> [0]
http://www.amazon.com/gp/product/059615979X The examples may seem
> dated (2010? yeesh!), but I think the principles are not.
>
>
>
>
> Benjamin Sternthal <mailto:
[email protected]>
> March 21, 2016 at 11:16 AM
> This is really complicated. I think we should start much simpler see if it
> works and build on that. Something along the lines of....
>
>
> 1. New Account: Users first edit must be manually approved.
> 2. Contributor: User who has had a first edit approved. All subsequent
> edits go to akismet. After *N *edits added to queue of potential trusted
> writers for vetting by content team.
> 3. Trusted Writer: Vetted by content team, edits no longer submitted to
> Akismet.
>
>
>
>
> Saurabh Nair <mailto:
[email protected]>
> March 21, 2016 at 11:01 AM
> This looks promising. I'm not really sure how the human intervention is
> going to scale since the plan is to manually validate every editor who
> needs more than basic editing privileges.
>
> Also one suggestion regarding reverting. I've seen quite a few times new
> users signing up just to revert spam edits. So if we are indeed going to
> restrict global reverts to validated users only, I suggest providing an
> easier mechanism for users to "report abuse" or "notify admin" when they
> see something off on a page.
>
> - jsx
>
> On Mon, Mar 21, 2016 at 7:03 PM, Jeremie Patonnier <
> Jeremie Patonnier <mailto:
[email protected]>
> March 21, 2016 at 9:33 AM