1 of 26

Comparing platforms for collaboration

2 of 26

Table for collaboration comparison (by Dylan et al.)

3 of 26

GitHub uses

4 of 26

Box that describes various ways to use github

5 of 26

Table listing uses

Use

Example

Virtual Lab notebook

Project websites

Course management system

Collaborative coding

Writing manuscript

Storing data

Making your scripts and data citable

Developing data standards

Personal website & Blog

https://ikashnitsky.github.io/

6 of 26

Stakeholders brainstorming

7 of 26

From Stoudt et al. 2021

We’ve talked about a figure that somehow captures the ‘immediate audience’ part of this diagram. I like how it fairly seamlessly combines lots of useful information without being overwhelming and takes us from immediate audience-->end goals.

8 of 26

9 of 26

Highly collaborative

Individual

Ways to use GitHub

Difficulty

Example

Storing data

Virtual Lab notebook

Responding to reviewers

Websites

https://github.com/cabinetofcuriosity

Making code citable

Course material

Coding clubs

https://github.com/riffomonas/code_club

Collaborative coding

Writing manuscript

https://github.com/PoisotLab/manuscript-template

Open science discussions (e.g., github issues)

Developing data standards

Project continuity

Asynchronous working

GitHub Organizations

10 of 26

11 of 26

Individual

Highly collaborative

Storing data

Virtual lab notebook

Responding reviews

Websites

Citable code

Course materials

Coding clubs

Collaborative coding

Writing reproducible manuscripts

Open science discussions

Collaborative manuscript writing

Developing data/scientific standrds

Manage oganizations

12 of 26

Backing up own data and use it on different machines

Backing up team/lab group’s data and code

GitHub uses

GitHub user

Individual (grad student, researcher, professor) with less emphasis on collaboration

Small lab group / research team

Large team / organization

Individual (grad student, researcher, professor) who wants to collaborate.

Hosting websites

Collaborative space for lab notes / working group notes

13 of 26

14 of 26

15 of 26

16 of 26

Resource map

17 of 26

Trainings via the Carpentries

GitHub’s own tutorials

Just starting out

(Welcome to GitHub!)

A couple of years of experience

Getting more out of GitHub

18 of 26

Network of papers that use github

19 of 26

20 of 26

21 of 26

Other ideas

22 of 26

“Growing influence of GitHub [in Eco/Evo/Enviroscience]

Creating something like this but for our specific disciplines might be insightful? The paper doesn’t really convey how they searched for the articles and then combed through the citations/data sharing sections of the papers, but I think the take home message is really clear from these types of figures. I wonder how steep the curves are for Ecology, Evolution, Environmental science etc.

23 of 26

If we want to show any markdown → website renderings, this format from Bryan 2018 might be useful

24 of 26

“GitHub as an ecosystem”

25 of 26

Something that specifically highlights all the non-programming aspects of repository design and documentation that all project stakeholders can/should engage with. Like code review but for repositories.

  • README
  • About
  • contribute
  • citation
  • license
  • version
  • getting started
  • funding
  • history
  • resources

This list from Figure 1 in Rob’s other paper is helpful and could be added to

*Or could make it specifically about how to craft a good README file to accompany a manuscript’s repository

26 of 26

Collaborator Personas

  • Code author (s)
  • Code contributor
  • Code advisor (someone who knows how to code, but will not push code or make pull requests)
  • Co-writer (contributes writing, but not code or analysis)
  • Code-reviewer (either manuscript reviewer interested in seeing code, or friendly code review)
  • Reader? (after published, has questions about code or manuscript)

Co-writer

  • Main code author can share reports and figures with Github pages
  • Use discussions tab to track conversations about writing
  • HackMD or Manubot

Code advisor

  • Main code author can link to specific lines of code, viewable on GitHub.com
  • Code advisor can open issues referring to specific lines of code
  • If PRs made, can act as PR reviewer

Code Contrubitor

  • Code author can give permissions to push to repo, or can work on a fork
  • Use issues and assignment features to divide up coding tasks
  • Use discussions to talk over bigger picture decisions

Code author

  • Archive code and data with Zenodo
  • Share reports to collaborators with GitHub pages
  • Issues to manage revisions
  • GH actions to ensure reproducibility (?)
  • README to direct collaborators on how to contribute (e.g. links to GitHub pages, tutorials, other .md files, issues or discussion tabs, etc.)