Wikiversity:Fellow-Programm Freies Wissen/Einreichungen/Data Version Control: Best Practice for Reproducible, Shareable Science?/Book

Aus Wikiversity
Zur Navigation springen Zur Suche springen

Online Project Book[Bearbeiten]

Milestones[Bearbeiten]

  1. Umfrage zu Data Version Control durchführen
    1. Update 1 (Dezember 2020): Erste Version der Umfrage wurde erstellt und als Diskussionsgrundlage abgelegt (https://osf.io/rupbg/)
    2. Update 2 (März 2021): Die Umfrage ist online und wurde an den Verteiler geschickt
    3. Update 3 (April 2021): Auswertung auf Wikiversity Seite liegt vor
  1. Hands-on Test des ersten Tools
    1. Update 1 (November 2020): Erste Code Version für den Test von dvc (https://dvc.org) wurde erstellt und als Jupyter Notebook abgelegt (https://osf.io/35rpy/)

Offene Milestones

  1. Blogeintrag zur Auswertung der Umfrage
  2. Blogeintrag zur Auswertung des ersten Tools

Vorgehensweise[Bearbeiten]

Ende 2020

Im Oktober haben wir uns zum ersten Mal in unserem Team bestehend aus unserer Mentorin Tamara und ihrem zweiten Mentee Antonia in einer Videokonferenz ausgetauscht. In Abstimmung mit Tamara habe ich dabei die weitere Vorgehensweise des Projekts definiert. Speziell wurden dabei zwei parallele Projektstränge erkannt.

  1. Erstellung, Durchführung und Auswertung einer Umfrage, um die Anforderungen von anderen Forschern an die Erfassung der Änderungen von Forschungsdaten zu klären. Die Ergebnisse dieser Umfrage sollen dann als Grundlage für die Evaluierung von Tools zur Versionierung von Forschungsdaten dienen. Wie bei den Milestones beschrieben wurde die erste Version der Umfrage hochgeladen und nun in den nächsten Wochen verfeinert werden.
  2. Erstellung von ersten Code-Beispielen, wie eine praktische Einbindung von Datenversionierung in ein empirisches Forschungsprojekt erfolgen kann. Mit Code-Beispielen lassen sich die Vorteile von Datenversionierung sehr leicht demonstrieren. Außerdem bekomme ich so einen guten Überblick über die technischen Besonderheiten der einzelnen Tools.


Im November habe ich das erste Tool genauer unter die Lupe genommen. Durch eine (noch nicht umfassende und systematische!) Recherche bin ich auf einen kleinen Kandidatenkreis von Tools gestoßen, die es sich zur Aufgabe gemacht haben, eine Versionierung von Daten zu ermöglichen:

  • Dolt
  • DVC
  • GIT LFS

Diese Liste gilt es sukzessive zu erweitern und systematisch aufzubereiten. Allerdings ist es Ziel meines Projekts auch "hands-on" Anleitungen für andere Wissenschaftler zu erstellen und daher habe ich mich dazu entschlossen bereits ein Tool einer tiefergehenden Evaluierung zu unterziehen. Als erstes Tool wurde DVC ausgewählt. DVC ist "storage-agnostic" und kann mit verschiedenen externen Speichermedien umgehen. Dies birgt große Vorteile für die spätere Verwertungsstrategie im Sinne von Open Science, da sich Forscher nicht auf einen kommerziellen Speicheranbieter festlegen müssen.

Um erste Hands-On Experience mit DVC zu erlangen wurde ein Jupyter Notebook angelegt und mit einem Beispieldatensatz eine Versionskontrolle von Daten durchgeführt (Versionierung des initialen Datensatzes, Modifikation des Datensatzes, Wiederherstellung des initialen Datensatzes). Die (bisher unkommentierten) Ergebnisse wurden abgelegt (siehe Milestones) und werden nun zu einer ersten Anleitung weiterentwickelt.

Anfang 2021

Ich habe die Umfrage mittlerweile durchgeführt und die Ergebnisse sind hier auf Wikiversity veröffentlicht. Vielen Dank an alle, die daran teilgenommen haben.

Survey results
Question Answer Frequency
Position Doctoral researcher 4
Postdoctoral researcher 12
Research Software Engineer 1
Researcher 1
Typical group size
of research projects
I mostly work on my own 6
2-3 8
4-5 1
6-7 0
>=8 3
Type of data
(multiple answers possible)
Qualitative data (e.g., interview data, product reviews) 7
Quantitative data (e.g., survey data, observational data, web logs) 16
Geospatial data 5
Digital image data 3
Digital audio data 2
Digital video data 1
Average file size < 1 MB 1
>= 1 MB and < 10 MB 6
>= 10 MB and < 100 MB 0
>= 100 MB and < 1 GB 4
>= 1 GB and < 10 GB 4
>= 10 GB and < 100 GB 1
>= 100 GB and < 1 TB 1
Programming languages / tools
used for data pre-processing
(multiple answers possible)
Python 9
R 5
Stata 4
SPSS 1
SAS 1
Excel 5
Word 1
Programming languages / tools
used for data analysis
(multiple answers possible)
Python 7
R 6
Stata 4
Excel 4
Word 1
Data storage of
preliminary versions
(multiple answers possible)
Google Drive 5
OneDrive 1
zenodo 1
Dropbox 4
Nextcloud 4
Own computer 11
University servers 8
External hard drive 5
osf.io 4
Other 4
Data storage of
final versions
(multiple answers possible)
Google Drive 2
OneDrive 1
zenodo 4
Dropbox 1
Nextcloud 2
Own computer 9
University servers 7
External hard drive 4
osf.io 3
Other 7
Methods used for version control of
manuscripts (e.g., Word files, LaTex)
(multiple answers possible)
Different file names (manuscript_v1.0, manuscript_10feb) 10
Built-in version control offered by cloud services 7
Specific tools for version control (e.g., GitLab, GitHub, Bitbucket) 4
Methods used for version control of
data analysis (e.g., Python scripts, DO-files)
(multiple answers possible)
Different file names (regression_v1.0, regression_10feb) 3
Built-in version control offered by cloud services 3
Specific tools for version control (e.g., GitLab, GitHub, Bitbucket) 9
Other 1
None 2
Methods used for version control of
datasets (e.g., csv, xls, or dta files)
(multiple answers possible)
Different file names (data_v1.0, data_10feb) 9
Built-in version control offered by cloud services 4
Specific tools for version control (e.g., GitLab, GitHub, Bitbucket) 3
Other 1
None 1