It has come to my and many others (see #contribution-recognition-feedback on slack) their attention that a lot of employees of Dotsquares are posting useless re-rolls of patches to the latest Drupal core version. Their patches are almost every time incomplete, omitting important changes and files from the patch, and they never post an interdiff which would have shown those issues.

Here is a list of examples (collected from Slack):

- https://www.drupal.org/project/drupal/issues/2835545#comment-14910052
- https://www.drupal.org/project/drupal/issues/1671190#comment-14910068
- https://www.drupal.org/project/drupal/issues/2723159#comment-14910027
- https://www.drupal.org/project/drupal/issues/502430#comment-14909982
- https://www.drupal.org/project/drupal/issues/2980299#comment-14838526
- https://www.drupal.org/project/drupal/issues/3063687#comment-14838303
- https://www.drupal.org/project/drupal/issues/1897612#comment-14909977
- https://www.drupal.org/project/drupal/issues/2918354#comment-14909923
- https://www.drupal.org/project/drupal/issues/1886616#comment-14909917
- https://www.drupal.org/project/drupal/issues/2472119#comment-14910191
- https://www.drupal.org/project/drupal/issues/2824097#comment-14910211
- https://www.drupal.org/project/drupal/issues/962664#comment-14836872
- https://www.drupal.org/project/drupal/issues/1986330#comment-14904287
- https://www.drupal.org/project/drupal/issues/2645202#comment-14908513
- https://www.drupal.org/project/drupal/issues/2662548#comment-14904083
- https://www.drupal.org/project/drupal/issues/2920713#comment-14908533
- https://www.drupal.org/project/drupal/issues/3031938#comment-14904109
- https://www.drupal.org/project/drupal/issues/2532200#comment-14908177
- https://www.drupal.org/project/drupal/issues/2973455#comment-14904028
- https://www.drupal.org/project/drupal/issues/3107548#comment-14829959

Not sure what the next steps are here. But they do more of those type of contributions (readme changes, info.yml changes,...)

Comments

BramDriesen created an issue. See original summary.

bramdriesen’s picture

Title: Employees of Dotsquares are posting mass re-roll patches which are invalid » Employees of Dotsquares are posting mass re-roll patches which are invalid and/or incomplete
bramdriesen’s picture

catch’s picture

The worst example of this is when it breaks an existing patch, for example:

- a patch a couple of months old against 9.5.x, that still applies against 10.1.x
- instead of retesting the patch against 10.1.x, a 're-roll' is posted that doesn't include new files from the original patch. This can either result in failing tests, or new tests going missing etc.

You then have to compare the old and new versions of the patch to see what information has been lost, when the original patch was fine.

Sometimes new (or even old) contributors post unnecessary re-rolls or make mistakes, but this is happening across hundreds of issues at scale and is actively making things worse. Various people have noticed these issues in the re-rolls and pointed them out on-issue, but that feedback hasn't been taken on so there is a continuous barrage of more incomplete/wrong re-rolls.

Less bad is re-posting an identical patch to a previous one, but that still adds noise to the issue especially with the frequency it's being done.

I've manually removed core commit credit from the following already-committed issues so far this morning after doing some spot-checks:

https://www.drupal.org/project/drupal/issues/2787529#comment-14809605
https://www.drupal.org/project/drupal/issues/3178919#comment-14824904
https://www.drupal.org/project/drupal/issues/3266688#comment-14787801
https://www.drupal.org/project/drupal/issues/3191623#comment-14823521
https://www.drupal.org/project/drupal/issues/2991232#comment-14791662

bhanu951’s picture

Adding to the list

https://www.drupal.org/project/drupal/issues/2329937#comment-14910269

Missing changes in single patch

core/lib/Drupal/Core/Field/TypedData/FieldDefinitionOptionsProviderTrait.php
core/lib/Drupal/Core/Field/TypedData/FieldStorageDefinitionAwareOptionsProviderInterface.php
core/lib/Drupal/Core/Field/TypedData/FieldStorageDefinitionAwareOptionsProviderTrait.php
core/lib/Drupal/Core/Field/TypedData/LegacyOptionsProvider.php
core/lib/Drupal/Core/Plugin/Context/ContextAwareOptionsProviderInterface.php
core/lib/Drupal/Core/TypedData/Options/CallableOptionsProvider.php
core/lib/Drupal/Core/TypedData/Options/DefinitionAwareOptionsProviderInterface.php
core/lib/Drupal/Core/TypedData/Options/DefinitionAwareOptionsProviderTrait.php
core/lib/Drupal/Core/TypedData/Options/DependentOptionsProviderInterface.php
core/lib/Drupal/Core/TypedData/Options/OptionsProviderResolver.php
core/lib/Drupal/Core/TypedData/Options/SimpleOptionsProviderBase.php
core/modules/system/src/Tests/TypedData/OptionsProviderTest.php

bramdriesen’s picture

Issue summary: View changes

Adding more to the list.

bramdriesen’s picture

Issue summary: View changes
bramdriesen’s picture

Issue summary: View changes
bhanu951’s picture

alvar0hurtad0’s picture

Hello,

Maybe each company doing these practices will be discuss separately. As a module maintainer I've seen some other companies constantly monitoring coding standards in order to make an automatic fix and send the patch.

for example https://www.drupal.org/project/href_lang_exchange/issues/3285041#comment...

bhanu951’s picture

One more

https://www.drupal.org/project/drupal/issues/2802837#comment-14910809

This patch doesn't belong to the issue in which it was posted.

xjm’s picture

Status: Active » Needs review

It appears that they recently qualified and paid for gold tier (as of around Feb. 3 2023).
https://www.drupal.org/node/3225823/revisions/view/12926828/12956364

I do not think a company should be eligible for certified partner tiers when it engages in this sort of disruptive issue queue behavior.

hestenet’s picture

Assigned: Unassigned » hestenet

I am working with our partner team to schedule a conversation with their company leadership.

avpaderno’s picture

Component: Spam » User account
bramdriesen’s picture

Issue summary: View changes

Added a few more. A core maintainer might want to go through the list and remove credits where needed.

bramdriesen’s picture

Update from @hestenet in Slack:

I had a good conversation with Dotsquares leadership this evening (their morning).

It will take some time, but they were very receptive to working with me to improve their contribution process.

I took it as a good sign that they halted the problematic activities prior to the conversation.

I covered a number of the points we raised above:

  • Credit for things that could be automated
  • Not doing QA/basic checking to see if a contribution applies
  • Not re-rolling needlessly
  • etc

I've also updated a presentation I've been using for a little while as an entry point to talking to organization leadership about contribution. I expect this group might also have thoughts or feedback on it: https://docs.google.com/presentation/d/1jvU0-9Fd4p1Bla67x9rGALyE7anmzjhQ...
(The Do's and Don'ts section at slide 37 is probably the most immediately relevant, but this presentation is meant to be used more generically)

I have a number of next steps to follow up with them, the two most relevant ones being:

  • I'm going to work with the team that is developing their Standard Operating Procedures for contribution - and help integrate best practices
  • I'm going to help them find in-person and virtual opportunities for contributor onboarding.
hestenet’s picture

Thank you, @BramDriesen - I forgot to loop back around here.

tunic’s picture

avpaderno’s picture

Now the open issues are like #3343900: Implement hook_help(), which is created just to copy a sentence without even checking it makes sense, grammatically or not.

I can understand the willingness to help, but project maintainers do not need a patch or a MR to copy a single sentence from the project page; they could have done that by themselves, if they wanted.

avpaderno’s picture

That is similar to those patches whose purpose is just to remove the LICENSE.txt file. For a project maintainer, it costs less time to remove that single file without using MRs or patches.

bramdriesen’s picture

To summarise, we have seen the following batch of issues:

  • Removing license.txt files
  • Updating README.md/.txt formatting
  • Adding hook_help
  • Batch re-rolling Drupal Core patches which were broken
  • Updating core version requirements in info.yml (D8)
  • Dependencies must be prefixed with the project name

Just spotted the last one in some of their recent posts. And this again feels scripted, from issue creation to status update ready for review with a commit and merge request in less then two minutes.

smustgrave’s picture

Got a new readme update #3343722: Clean up documentation

To be positive it's only been about 2 in the last week or two so drastic improvement from before.

smustgrave’s picture

Hopefully don't jinx it but dotsquared seems to have stopped posting. Should this be closed out?

avpaderno’s picture

Status: Needs review » Fixed

I guess we can close this.

Status: Fixed » Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.