five-for-the-future icon indicating copy to clipboard operation
five-for-the-future copied to clipboard

Prevent and remove spam/dormant pledges

Open iandunn opened this issue 3 years ago • 5 comments

This is a tracking issue for milestones 6, 8, and 9. It's combined here to make it easy to see the bigger picture, since each milestone is dependent on the previous one.

See Andrea's post and the proposal for background.

Planning

  • [x] Review Andrea's post again and incorporate feedback/ideas (@iandunn)
  • [x] Publish proposal to make/Project (@iandunn)
  • [x] Add comment to Andrea's post to let people know about the proposal (@iandunn)
  • [x] Iterate on proposal based on feedback (@iandunn)
  • [x] Decide on approach and scope (@angelasjin)
  • [x] Add "top comment" to p2 post w/ decision (@angelasjin)
  • [ ] Email all pledge companies w/ link to announcement (@josephahaden)
  • [x] Review issues in this milestone that are leftover from the original launch. Some of them may need to be closed, or change their goals based on what's decided. (@iandunn)
  • [ ] make initial dev-hour estimates (@iandunn)

Manual spam/dormant clean up

  • [x] Add 5ftF sync script ala https://github.com/WordPress/learn/pull/311#issuecomment-1076004058
  • [x] Pull emails for all pledge companies
  • [x] Email them, asking to review their contributors and confirm/update
  • [x] Assign the ones who don't confirm do the new post status
  • [x] clean up contributor hours associated with deactivated pledges, so that team pledge rosters aren't filled with inactive folks.
    • [x] one-time remove hours/teams from their profiles, unless they have additional active companies sponsoring.
    • [x] add code to do that automatically when pledges are deactivated

Start tracking non-code contributions

Automatically add various “props” for each non-code team to Profiles activity streams. These will be needed later on, so we can automatically determine if a pledge is dormant or not. We already track plenty of code contributions, but not nearly enough non-code ones.

See https://github.com/WordPress/five-for-the-future/milestone/8 for detailed issues

  • [ ] #185
  • [ ] #186
  • [ ] #180, since that will benefit all teams.
  • [x] Add profile activity when someone gives/receives props in the #props channel (related to https://github.com/WordPress/five-for-the-future/issues/174)
  • [ ] #177
  • [ ] #187

Automatically notify inactive contributors/companies

See https://github.com/WordPress/five-for-the-future/milestone/9 for detailed issues

  • [ ] https://github.com/WordPress/five-for-the-future/issues/119. Don't proceed until this is done.
  • [x] #189
  • [x] https://github.com/WordPress/five-for-the-future/issues/27
  • [ ] Make sure companies are deactivated if their only confirmed contributor is deactivated

Potential Iteration to automatically deactivate inactive contributors/companies

If the manual reminders aren't effective enough (and I suspect they won't be), then we could add some additional automation to deactivate pledges at the 6 month mark.

See https://github.com/WordPress/five-for-the-future/milestone/6 for detailed issues

  • [ ] https://github.com/WordPress/five-for-the-future/issues/121
  • [ ] email contributors and their sponsoring company when they have 5 months w/out activity. same as 3 months, but also warn that will be deactivated at 6 months.
  • [ ] Give team reps the ability to reactivate dormant contributor posts. Just manually make them as editors for now. Give editors the ability to reactivate if they can't already.
  • [ ] stop repeating the 3 month email, since we're be sending different ones now
  • [ ] if still not contributing at 6 month mark
    • [ ] make their contributor post on w.org/5 inactive
    • [ ] bump usermeta stat, to track how many times they've been deactivated, similar to 3 month stat
    • [ ] remove hours/teams from their profile
    • [ ] send them a polite email like Andrea described, letting them know we've removed their pledged hours/teams from their profile
    • [ ] if their company no longer has any active contributors, then deactivate the company post on w.org/5, and email their company rep letting them know. tell them that a Make team rep can reactivate if they're still active. include link to FAQ and description of what counts as a 5ftF contribution
    • [ ] bump stat on contributor usermeta and pledge posts when they're deactivated, see 3 month stat.
  • [ ] Setup another cron job to re-publish contributors/companies when new activity shows up? Or rely on team reps to do it manually?
  • [ ] Display deactivation stats in wp-admin for contributor/company posts? This could help admins and team reps know if folks are just perpetually pledging, but never following through. Also start tracking that in the snapshots somehow? What would be a meaningful way to think about it?

iandunn avatar Mar 04 '22 21:03 iandunn

One big issue is spam/fake company pledges, as those eats credibility of valid pledges. There are currently 163 pledging companies, from which, unfortunately, many are either spam or otherwise highly suspicious and that can be seen easily.

What if company pledges should be manually approved? Automated approval requests could be sent only after the company has the first contributor. That would most probably drastically reduce the issue when combined with #168 and #166. The number of company pledges do not seem that high, that manual approval process would create too much work.

timiwahalahti avatar Mar 08 '22 20:03 timiwahalahti

🤔 I like that idea, but IIRC Andrea's vision for the program was intended to allow "optimistic" pledges, so having a prior contribution wouldn't necessarily be required. It may be worth reconsidering that, though, given the problems we're having. Do you have any thoughts @angelasjin?

Regardless, moderation could still be helpful in clearing up confusion, though, like someone reaching out to explain that having a plugin in the repo isn't the same as contributing to the Plugin Review Team.

iandunn avatar Mar 08 '22 20:03 iandunn

Since we haven't done any clean up of spam pledges at all, I'm inclined to let companies be auto-approved, as long as the plans for regular clean ups and greater connection between contributor teams and pledged contributors come to fruition. If we still are getting an overwhelming amount of spam/fake pledges, then I would reconsider manual approval.

Anything we can do to help clear up confusion and increase communication, I am a big fan of for sure.

angelasjin avatar Mar 09 '22 18:03 angelasjin

I think Andrea's optimistic vision is exactly right and should set the tone for how we improve things. We're asking for volunteers, so we should start by assuming good intent rather than suspected spam.

There are ways we can structure the process so spam and unrealistic submissions will naturally atrophy. For example: accept any and all pledges, but start by flagging them as oboarding / new recruits / apprentice or similar, and only making them privately visible to the pledged team reps. Once they've met some criteria (attending a meeting + completing an onboarding checklist + making a contribution?) they graduate to visible. If they haven't contributed in a long time, they become "past contributors" and are listed separately or not at all.

And on the other side: make the list of companies and pledges only show those that are currently active. Rather than think in terms of nuking spam, use it as an outreach opportunity: send an email to say we noticed [some of] your contributors haven't been active recently; the team has some exciting new projects coming up, so contact xyz to find out how you can help. Give them the benefit of the doubt: it's possible the companies don't know their employees have dropped out of contact, or that there's been some mismatch of expectations.

tellyworth avatar Mar 16 '22 22:03 tellyworth

I think that's a really good idea! I just published a proposal on make/Project, do you mind posting it over there so we can discuss it more broadly?

iandunn avatar Mar 16 '22 23:03 iandunn