Zum Hauptinhalt springen

Softwarequalität erkennen: Badges

Einführung in unser Badgeprogramm

openCode prüft öffentliche Softwareprojekte nach bestimmten Kriterien und erzeugt auf dieser Basis Badges. Die Badges werden im Softwareverzeichnis angezeigt und zeigen die Qualitäten des Projektes in Bezug auf Wartung, Wiederverwendung und Sicherheit



Jedes Badge basiert auf einer Reihe von Kriterien, die das Softwareprojekt erfüllen muss, um das Abzeichen zu erhalten:

Badge für aktive Wartung Kopiert!

Level 1: Aktive Wartung

Das Projekt erfüllt die Mindestanforderungen für ein gewartetes Projekt. Es wird weiterentwickelt und auf Probleme wird schnell reagiert. Es gelten folgende Kriterien:

  • Mindestens 5 Commits (versionierte Codeänderungen) in den letzten 6 Monaten.
  • Die durchschnittliche Reaktionszeit auf Issues, welche innerhalb der letzten 3 Monate entstanden sind, beträgt weniger als 7 Tagen.

Level 2: Verlässliche Wartung

Das Projekt erfüllt die Anforderungen für ein zuverlässig gewartetes Projekt. Es werden regelmäßig neue Versionen veröffentlicht, auf Probleme wird schnell reagiert und es gibt eine aktive Community. Es gelten folgende Kriterien:

  • Alle Kriterien aus Levels 1
  • Mindestens 1 Veröffentlichung (Release oder Git-Tag) innerhalb der letzten 6 Monate.

Level 3: Krisensichere Wartung

Das Projekt erfüllt die Anforderungen für ein krisensicher gewartetes Projekt. Es werden regelmäßig neue Versionen veröffentlicht, auf Probleme wird schnell reagiert und es gibt eine breite und aktive Community. Es gelten folgende Kriterien:

  • Alle Kriterien der Level 1 und 2
  • Mehrere Maintainer (Einzelpersonen) tragen aktiv zum Projekt bei. Das Projekt hat im Betrachtungszeitraum von 6 Monaten einen Contributor Absence Factor von mindestens 2.

Badge für aktive Nachnutzung Kopiert!

Drei blaue Abzeichen zur Nutzung mit weißen Häkchen und Sternen, beschriftet mit 'Bereit zur Nutzung' (ein Stern), 'Aktiv genutzt' (zwei Sterne) und 'Häufig aktiv genutzt' (drei Sterne), jeweils mit dem openCode-Logo.

Open Source steht für mehr als Software-Entwicklung: Es ist ein Konzept, das auf Transparenz, dem Wert gemeinsamer Weiterentwicklung und einem offenen Austausch von Wissen basiert.

Das Sichtbarmachen von aktiven Softwarenutzer:innen hilft anderen bei der Implementierung oder Weiterentwicklung und hat daher hohe Priorität für openCode.

Projekte können ein Badge durch den Beitrag von registrierten Mitarbeitenden und Auftragnemenden der öffentlichen Verwaltung erhalten. Dies hilft anderen registrierten Nutzer:innen bei der Implementierung oder Weiterentwicklung der Anwendung. So soll sichergestellt werden, dass nur produktive Einsätze veröffentlicht werden, die im Interesse der öffentlichen Hand liegen.

Level 1: Bereit zur Nutzung

Das Projekt erfüllt die Anforderungen für eine spätere Verwendung. Dafür werden Pakete bereitgestellt. Es gelten folgende Kriterien:

  • In den letzten 6 Monaten wurde mindestens ein Paket veröffentlicht. Paketsysteme erleichtern die Installation und Verwendung der Software.
  • In den letzten 6 Monaten gab es mindestens eine erfolgreiche CI-Pipeline. Ein Continuous Integration Durchlauf deutet darauf hin, dass das Projekt regelmäßigen automatisierten Tests unterzogen wird, wodurch Fehler frühzeitig erkannt und die Qualität der Software sichergestellt werden.

Level 2: Aktiv genutzt

Das Projekt wird von mindestens einer Organisation produktiv genutzt. Es gelten folgende Kriterien:

Level 3: Häufig aktiv genutzt

Das Projekt wird von mindestens 10 Organisationen produktiv genutzt. Es gelten folgende Kriterien:

Badge für Open-Source-Lizenzierung Kopiert!

Dieses Badge zeigt an, ob ein Projekt Open Source lizenziert ist und die gewählte Lizenz von der ZenDiS freigegeben wurde (Liste der freigegebenen Lizenzen)

Das Open-Source-Badge wird nicht in verschiedenen Stufen vergeben. Den relevanten Check finden Sie hier →.

Badge für Sicherheit Kopiert!

Drei blaue Sicherheits-Abzeichen von openCode mit Schildsymbol: Basis Sicherheit (1 Stern), Erweiterte Sicherheit (2 Sterne), Umfassende Sicherheit (3 Sterne).

Das Sicherheitsbadge gibt Auskunft über den Sicherheitsstatus eines Projekts bzw. Repositorys. Das Badge basiert auf den folgenden Kriterien:

Level 1: Basis Sicherheit

  • Reaktionszeit auf Issues: Die durchschnittliche Reaktionszeit auf Issues, welche innerhalb der letzten 3 Monate entstanden sind, beträgt weniger als 7 Tage.
  • Geschützte Branches: Der Haupt-Branch (main) ist so konfiguriert, dass er geschützt (protected) ist und es sind keine Force-Pushes auf den default Branch erlaubt.
  • Sicherheitsrichtlinie: Prüft, ob eine Datei SECURITY.md im Stammverzeichnis des Default-Branches existiert.

Level 2: Erweiterte Sicherheit

  • Alle Kriterien aus Level 1
  • Code Review: Prüft, ob mind. 75 % der Merge Requests in den letzten 6 Monaten durch einen Maintainer geprüft wurden.
  • Signierte Tags: Prüft, ob mind. 80 % der Tags der letzten 6 Monate signiert wurden.

Level 3: Umfassende Sicherheit

Lieferketten Badge Kopiert!

Das Lieferketten Badge bewertet die Transparenz und Nachvollziehbarkeit der Software-Lieferkette eines Projekts nach (SLSA-Standards). Es gibt Auskunft darüber, wie gut dokumentiert und abgesichert der Weg vom Quellcode bis zum fertigen Artefakt ist. Das Badge umfasst Aspekte wie Projektdokumentation, Build-Provenance und kryptografisch signierte Attestierungen.

Das Badge basiert auf den folgenden Kriterien:

Level 1: Transparente Software-Komponenten

  • Changelog vorhanden: Prüft, ob eine Changelog-Datei im Stammverzeichnis existiert für Transparenz über Projektänderungen und Versionsnachverfolgung.
  • Contribution Guidelines vorhanden: Prüft, ob eine Contribution Guideline-Datei existiert für klare Beitragsrichtlinien und transparente Entwicklungsprozesse.
  • Container Attestation Bronze: Prüft, ob Container-Images eine SBOM-Attestierung besitzen für vollständige Transparenz über enthaltene Komponenten.

Level 2: Transparenter Build-Prozess

  • Alle Kriterien aus Level 1
  • Container Attestation Silver: Prüft, ob Container-Images eine VEX-Attestierung besitzen für Bewertung der Ausnutzbarkeit bekannter Schwachstellen.

Level 3: Transparente Software-Lieferkette

  • Alle Kriterien der Level 1 und 2
  • Container Attestation Gold: Prüft, ob Container-Images Build/Source Provenance und SARIF-Attestierungen besitzen für vollständige Nachvollziehbarkeit der Lieferkette.