Tag 2

Git - GitHub – GitLab

Wir behandeln nun den Unterschied von Git, GitHub und GitLab. Für mich war das schon immer ein Rätsel. Git ist die Basis von GitHub und GitLab. Es ist eine Software zur Bearbeitung von (unter anderem) Code, Plain Text, Tabellen (in CSV) und Markdown. Auch Git wurde von Linus Torvalds erschaffen. Es soll die Arbeit an Textdateien von mehreren Personen an mehreren Computern ermöglichen und dabei alle Änderungen an den Dateien nachvollziehbar machen. Mit GitHub und GitLab können diese Dateien verwaltet und gehostet werden. Die beiden Dienste unterscheiden sich nicht gross voneinander. GitHub ist aber inzwischen von Microsoft aufgekauft worden, während GitLab noch unabhängig ist. Beide Dienste erlauben das Arbeiten auf den jeweiligen Plattformen im Browser, im Terminal oder in verschiedenen Git-Umgebungen wie IDEs und Code-Editoren. IDE ist die Abkürzung von “Integrated Development Environment”, diese dienen der Softwareentwicklung. Es sind Sammlungen der wichtigsten Werkzeuge zur Softwareentwicklung unter einer Oberfläche. Diese Werkzeuge sind beispielsweise Editoren, Compiler, Linker, Debugger und Interpreter. Beispiele für IDEs sind die Open-Source-Anwendungen NetBeans und Eclipse.

Metadatenstandards in Bibliotheken

Kommen wir nun zum eigentlichen Thema von heute – Metadatenstandards in Bibliotheken. MARC21 ist ein bibliographisches Datenformat, ein Standard, der aber viele Freiheiten lässt. Hauptzweck ist die Übertragung von bibliographischen Daten zwischen Bibliotheken. Die MARC-Datenelemente bilden die Grundlage für die meisten heute benutzten Bibliothekskataloge. International gibt es zwischen den MARC-Formaten grosse Abweichungen. Voraussichtlich wird MARC21 vom Datenmodell BIBFRAME abgelöst. BIBFRAME basiert auf RDF und wurde entworfen, um Linked Data zu fördern.

Vergleich von Dublin Core und MARCXML

Auch Dublin Core (DC) ist ein bibliographisches Datenformat, oder genauer gesagt eine Sammlung standardisierter Konventionen. In einer Übung haben wir Beispieldatensätze in Dublin Core und MARCXML verglichen. DC ist schlanker als MARCXML und hat deutlich weniger Tags. Ein Suchresultat von MARCXML ist ca. 5x länger als bei Dublin Core. Dies liegt z.B. daran, dass bei DC die Angabe zur Ausgabe fehlt – eine geringe Anzahl an Elementen hat auch einen Datenverlust zur Folge. Dieser Datenverlust könnte aber auch verhindert werden; man könnte bestimmte Daten auch in anderen Tags abspeichern, diese wären dann aber nicht perfekt konsistent und der erwarteten Nutzung entsprechend. Es ist schlussendlich immer auch im Ermessen der Verfasser*innen. Swissbib hat sich beispielsweise dagegen entschieden und hat nur die Daten abgespeichert, die genau in die jeweiligen Tags passen.

Koha

Koha, das Bibliothekssystem, welches wir in diesem Kurs benutzen werden, basiert auf MARC21. Es ist ein weltweites Open-Source-Projekt, welches hauptsächlich in SQL geschrieben wurde. Momentan tragen monatlich ca. 20 Personen zur Weiterentwicklung des Systems bei – für Open-Source-Software sind das sehr viele. Wir benötigen für die Nutzung von Koha eine Datenbank und werden nicht SQL sondern MariaDB verwenden.

Indikatoren zur Beurteilung von zuverlässiger Open-Source-Software

Ein klassisches Problem bei Open-Source-Software ist bekanntermassen, dass man nicht weiss, wie lange diese noch unterstützt wird und ob es sich also lohnt, eine bestimmte Software überhaupt zu nutzen. Auf GitHub gibt es zu jedem Projekt sogenannte “Insights”, welche einen Hinweis darauf geben können, ob eine Software noch länger verwendet und aktualisiert wird. Ich habe diese mit weiteren Daten zu Koha angereichert und möchte diese zum Schluss noch hier festhalten:

Contributors – Anzahl und Diversität (bei Koha sind es ca. 20 Contributors pro Monat und über 150 Personen, die 10+ Commits gemacht haben)
Commits – wie Regelmässig werden Commits gemacht? (bei Koha zwischen 150 und 450 Commits im Monat)
Issues – wie viele Issues gibt es? wie lange dauert es bis zum Abschluss eines Issues?
Pull Requests – Anzahl externe Beiträge und Dauer bis zum Abschluss eines Requests<p> Aktivität in Mailinglisten, Chat und Foren
Regelmäßigkeit von Videokonferenzen (bei Koha mehrere IRC Meetings pro Monat)
Konferenzen und Anwendertreffen (bei Koha eine pro Jahr)
Anzahl von Installationen / Downloads