An ORCID iD is a universally unique digital identifier for a researcher. While ORCID iDs are not the focus of this tutorial, it is still highly recommended for you as a researcher to have one such that all papers you have written can be linked back to you.
The Open Science Framework, commonly known as OSF, is a project manager which allows researchers to provide, document, archive, collaborate, share, and register methodologies, materials, data, and outcomes. We will provide a live example on how to create and navigate an OSF project, so it is highly recommended to have one so you can follow along. OSF accounts can be created from an ORCID iD.
AsPredicted is an alternative to OSF registrations where a research can create a preregistration for their given project. While this tutorial will focus on using OSF for registrations, many researchers use AsPredicted to host their preregistrations, so it is worthwhile to be aware of and understand it.
Git is a version control system for project management. Git projects stored on a remote git host (e.g. GitHub (ToS), GitLab (ToU), etc.) can be integrated into an OSF project for proper version control. Almost all public materials that use a codebase are hosted within a git repository, so you will need to be aware of some basic commands to clone existing repositories and create your own.
Git is licensed under the GPL-2.0 License.
If you would like to use a GUI Client instead of inputting the commands through the terminal, a Git Client can be used instead. In addition to the built-in tools, there a number of third-party tools. Make sure to adhere to the Licenses and ToU / ToS provided.
Visual Studio Code is a rich text editor created by Microsoft commonly used for programming and integration. Users can build extensions for better support of a particular file. There are other rich text editors or IDEs used by other researcher; however, this tutorial will be centered around using VSCode.
Docker is a combination of open source projects used to create and manage applications. One of the core features of Docker is the development and distribution of containers: a snapshot of the current working environment, such as an OS. These are particularly useful to ship alongside existing materials such that the user is able to use your environment for reproducibility or replicability of the available research. We will be using Docker to create and distribute containers for the existing papers, so it is highly recommended to download and set up.
Python is a programming language generally used to produce relatively efficient proof-of-concept code. Researchers typically use Python since it is relatively simple to understand / use and has a large number of packages / modules that can be consumed. It is highly likely one of the projects on the agenda will be written in Python 3, so it is recommended to have or setup through a Docker container.
Python 3 is licensed under the PSF License Agreement.
R is a programming language used for statistical computation and graphic representations. Researchers who require more complex mathematics typically use R as the language and packages are written by other mathematicians. It is highly likely one of the projects on the agenda will be written in a version of R, so it is recommended to have or setup through a Docker container.
R is licensed under GPL-2.0 License.
RStudio is an IDE created by Posit for programming with R. It is one of the most commonly used IDEs by researchers for R development. While this tutorial will focus more on VSCode, if an R project is used, we will review the subsequent steps for setup in RStudio due to its popularity.
RStudio is licensed under AGPL-3.0 License.
Node.js is licensed under the MIT License with included external libraries under a variety of licenses.
npm is a package manager for Node.js. Most applications created by researchers are most likely built with npm since it tends to have easy runtime support and standardized access to published packages. It is highly recommended to review this topic in case you would like to build a front-end web application yourself.
nvm is a version manager for Node.js and npm. This is particularly useful if you need to use someone else's environment or make your own more robust.
All nvm implementations recommended by npm are licensed under the MIT License.