yt-project/yt-4.0-paper

Reach out to all potential authors

matthewturk opened this issue · 10 comments

In keeping with our inclusive and broad authorship policy, we should reach out to all potential authors. This will need to balance the concerns of inviting authorship without being annoying by sending unsolicited emails.

I believe the procedure should go something like:

  • Draft the invitation email
  • Construct comprehensive list of all contributors
  • Send email, with instructions, and cutoff date of 30 days hence

Previously, we had required that individuals provide their own pull request to the repository. I am now wondering if we could automate this somewhat, possibly by having a form submission that issued pull requests.

Additionally, to avoid merge conflicts, I think that we should have this done in a staging area, wherein new authors are added to new files, then those are collected into a single yml. Right now it's too easy to get conflicts from appending authors to the authorlist.

Dear [name],

We hope you are doing well! You are receiving this email because you have been identified as having contributed to the yt (yt-project.org) codebase (https://github.com/yt-project/yt ).
Right now, a paper is being prepped on the changes in yt since the last paper (which was submitted in 2010, so it's nearly a teenager at this point; how time flies) and our authorship policy ( https://github.com/yt-project/yt-4.0-paper#authorship-policy ) is designed to be inclusive and expansive, recognizing the many different ways that contributions can be made to a paper describing a community software package.

So, we'd like to invite you to consider being an author! If you'd like to follow the procedure outlined above, you are more than welcome to. But, we've also made available a Google Form to streamline the process:

LINK TO THE FORM

If you have any questions, comments or suggestions, please feel free to reach out to matthewturk@gmail.com. Thanks very much!

-Matt

Not sure if I should sign it myself, or something like "on behalf of the paper team." I've got the form drafted, and it asks name, ORCID, affiliation, contact email, github handle, if they would be able to help with writing, editing, organizing/managing or "other" and a free-form feedback block.

@matthewturk looks good

I'm next going to identify all the authors of changesets, and I'll store them somewhere for reference, and then invite them.

I'll probably encode them with unicode and XOR with 0x4d3d3d3 for privacy.

import base64
import numpy as np
from itertools import cycle

key = np.array([0x4d3d3d3], dtype='u4').view('u1').tolist()

s = "something here".encode('UTF-8')
e = bytes( [(a ^ b) for a, b in zip(s, cycle(key)) ])
print(base64.b64encode(e))

Seems good, and I am happy to have you sign your name, it makes it more personal. If after your name you wanted to put in parenthesis "(on behalf of the paper team)" you are welcome to go for it, but I am completely nuetral.

Looks good, Matt! I like @stonnes 's suggestion too, but otherwise, it all seems great!

This looks good to me. I'm happy for you to sign it.

This is my next project.

I tweaked the email, and I'm prepping to send it out.

We hope you are doing well! You are receiving this email because you have been identified as having contributed to the yt (yt-project.org) codebase (https://github.com/yt-project/yt ).

Right now, a paper is being prepped on the changes in yt since the last paper (which was submitted in 2010, so it's nearly a teenager at this point; how time flies) and our authorship policy:

https://github.com/yt-project/yt-4.0-paper#authorship-policy

is designed to be inclusive and expansive, recognizing the many different ways that contributions can be made to a paper describing a community software package. So, we'd like to invite you to consider being an author! If you'd like to follow the procedure outlined above, you are more than welcome to. But, we've also made available a Google Form to streamline the process:

https://forms.gle/D1vUreEn5HL2YpTX6

If you have any questions, comments or suggestions, please feel free to reach out to matthewturk@gmail.com. Thanks very much!

-Matt (on behalf of the paper team)

The google scripts API rate limiting required me to run this three times, but today I sent out the final batch.

Here's my silly little script:

function sendEmails() {
  var sheet = SpreadsheetApp.getActiveSheet();
  var startRow = 117;  // First row of data to process
  var numRows = 100;   // Number of rows to process
  // Fetch the range of cells A2:C3
  var dataRange = sheet.getRange(startRow, 1, numRows, 3)
  // Fetch values for each row in the Range.
  var data = dataRange.getValues();
  var message = sheet.getRange(1,1).getValue();
  for (i in data) {
    var row = data[i];
    if (row[0] == "") {
      Logger.log("Skipping ", i);
      continue;
    }
    Logger.log(row)
    var name = row[0];  // First column
    var emailAddress = row[1];    // File name provided.
    var skip = row[2];
    if (skip == "SKIP") continue;
    var subject = "yt 4.0 paper authorship invitation";
    MailApp.sendEmail(emailAddress, subject, 'Dear ' + name + ',\n\n' + message);
  }  
}

I've been getting some bounces, which I'm trying to work around and have had some successes. I'm tracking those at yt-project/yt#4348