TL;DR: openDesk Contributor Agreement
Sie möchten zu openDesk beitragen. Prima. openDesk ist eine community-getriebene Plattform, und jeder Beitrag beginnt mit einem Schritt: dem Unterzeichnen der Contributor License Agreement (CLA). Dieser Leitfaden erklĂ€rt, was die CLA ist, warum es sie gibt und wie Sie den Prozess in unter zehn Minuten abschlieĂen.
Wozu eine CLA?
openDesk wird unter der Apache License 2.0 veröffentlicht, einer freizĂŒgigen Open-Source-Lizenz, die jedem die Freiheit gibt, die Software zu nutzen, zu Ă€ndern und weiterzuverbreiten. Aber openDesk wird von mehreren Organisationen entwickelt. Hochschulen, Dienstleister und einzelne Beitragende reichen alle Code ein. Die CLA stellt sicher, dass jeder Beitrag eine klare Rechtszusage enthĂ€lt.
Ohne CLA drohen rechtliche Unsicherheiten. Hatte der Beitragende das Recht, diesen Code einzureichen? Kann sein Arbeitgeber Anspruch darauf erheben? Die CLA klĂ€rt diese Fragen, bevor der Code ins Repository gelangt. Sie schĂŒtzt sowohl die Beitragenden (niemand kann behaupten, sie hĂ€tten nicht zugestimmt) als auch das Projekt (die Codebasis bleibt sauber lizenziert).
Der Zwei-Schritte-Prozess
Beitragen lÀuft in zwei Schritten ab:
- Stellen Sie einen Zugriffsantrag. Sie beantragen Zugriff auf das Projekt in GitLab.
- Erstellen Sie einen signierten Commit. Ihr erster Merge-Request muss mindestens einen mit Ihrem GPG- oder SSH-SchlĂŒssel signierten Commit enthalten.
Das ist alles. Sobald Sie beide Schritte abgeschlossen haben, ĂŒbernimmt der Bot.
Wie der Bot arbeitet
Der CLA-Bot lĂ€uft alle 15 Minuten. Er prĂŒft auf neue ZugriffsantrĂ€ge in GitLab, verifiziert die signierten Commits und gewĂ€hrt automatisch Zugriff. Sie brauchen nicht auf einen menschlichen PrĂŒfer zu warten. Wenn Ihr Commit ordnungsgemÀà signiert und Ihr Zugriffsantrag gestellt ist, erledigt der Bot den Rest.
Im Einzelnen prĂŒft der Bot:
- Ob der Commit kryptografisch signiert ist (GPG oder SSH).
- Ob die zum SchlĂŒssel gehörige E-Mail-Adresse mit Ihrem GitLab-Profil ĂŒbereinstimmt.
- Ob die Commit-Nachricht den
userid:username-Eintrag enthÀlt (mehr dazu unten).
Alles in Ordnung? Der Zugriff wird im nÀchsten Bot-Zyklus gewÀhrt. Keine manuelle Freigabe erforderlich.
Wie ein signierter Commit aussieht
Ein signierter Commit erscheint im Git-Log so:
commit a1b2c3d4e5f6...
Author: Ihr Name <ihre.email@example.com>
Date: Mon Jul 7 14:23:00 2026 +0200
Implementierung des Widget-Moduls
userid:ihr-gitlab-benutzername
Der entscheidende Teil ist die letzte Zeile des Commit-Textes. Sie muss userid: gefolgt von Ihrem GitLab-Benutzernamen enthalten. So ordnet der Bot den signierten Commit Ihrem Zugriffsantrag zu.
Commit-Signierung einrichten
Falls Sie noch nie einen Commit signiert haben, hier die Kurzfassung.
GPG-Signierung:
- GPG-SchlĂŒssel erzeugen:
gpg --full-generate-key - SchlĂŒssel-ID anzeigen:
gpg --list-secret-keys --keyid-format=long - Git konfigurieren:
git config --global user.signingkey <SCHLĂSSEL-ID> - Signierung global aktivieren:
git config --global commit.gpgsign true - Ăffentlichen SchlĂŒssel im GitLab-Profil hinterlegen (Einstellungen > GPG Keys).
SSH-Signierung:
- Vorhandenen SSH-SchlĂŒssel nutzen oder einen neuen erzeugen.
- Git konfigurieren:
git config --global gpg.format ssh - SignierschlĂŒssel setzen:
git config --global user.signingkey ~/.ssh/id_ed25519.pub - Ăffentlichen SchlĂŒssel im GitLab-Profil hinterlegen (Einstellungen > SSH Keys).
Dann den Commit signieren: git commit -S -m "Ihre Nachricht" (die Option -S aktiviert die Signierung).
Nach der ZusammenfĂŒhrung Ihres Merge-Requests
Sobald Ihr erster Merge-Request angenommen und vom Bot verarbeitet wurde, erhalten Sie einen persönlichen Fork-Namespace auf GitLab. Das ist Ihr eigener Arbeitsbereich innerhalb des openDesk-Projekts, benannt nach Ihrem GitLab-Benutzernamen. Sie können ihn nutzen, um Merge-Requests zu erstellen, an Funktionen mitzuarbeiten und Ihre BeitrÀge zu verwalten, ohne das Hauptrepository zu beeinflussen.
Wo Sie die Repositories finden
Das openDesk-Projekt umfasst mehrere Repositories mit jeweils spezifischem Fokus:
- Deployment: Die helmfile-basierte Deployment-Konfiguration fĂŒr openDesk CE.
- Bildungsvariante: openDesk Edu mit integrierten Diensten fĂŒr Hochschulen.
- Werkzeuge: Import-Skripte, Backup-Operatoren (k8up) und Hilfsprogramme.
- Dokumentation: Architektur-Dokumentation, EntwicklerleitfĂ€den und BetriebshandbĂŒcher.
- Charts: Lokale Helm-Chart-Anpassungen und von der Community gepflegte Chart-Pakete.
- Compose-Variante: Eine Docker-Compose-Alternative fĂŒr kleinere Installationen.
Alle Repositories leben in der openDesk-GitLab-Gruppe. Durchstöbern Sie die Projektliste, finden Sie etwas das Sie interessiert, und beginnen Sie mit dem Beitragen.
Das CLA-Repository
Die CLA-Infrastruktur ist ebenfalls Open Source. Sie können den Bot-Code einsehen, den Vertragstext prĂŒfen und selbst Verbesserungen an den CLA-Werkzeugen beitragen. Alles befindet sich im cla-signer-Repository.
Bereit zum Beitragen? Stellen Sie Ihren Zugriffsantrag auf GitLab, signieren Sie Ihren ersten Commit, und werden Sie Teil der openDesk-Community.