Konzepte

Der Gesundheitsindex

Wie inspect.software den 1–100-Index für Open-Source-Gesundheit berechnet — Komponenten, Metriken, gewichtete Kategorien und die Regeln für fehlende Daten.

Methodik v2.10.0Aktualisiert 2026-08-04

Jedes Repository im öffentlichen Register trägt einen Gesundheitsindex: eine einzelne ganze Zahl zwischen 1 und 100, die öffentlich sichtbare Engineering-, Pflege-, Sicherheits- und Governance-Praxis zusammenfasst. Der Index existiert, damit eine Bibliothek auf einen Blick mit ihren Alternativen verglichen werden kann — er ist jedoch die Spitze einer vollständig transparenten Hierarchie, nie eine Blackbox.

Signale, keine Garantien. Ein hoher Index spiegelt öffentlich sichtbare gute Praxis wider. Er ist kein Code-Audit und keine Sicherheitsgarantie — siehe wie die Ergebnisse zu lesen sind.

Die dreistufige Hierarchie

Der Index wird über drei dokumentierte Ebenen aggregiert:

  1. Komponenten — einzelne beobachtbare Fakten (eine Lizenzdatei existiert, das jüngste Release erschien vor 40 Tagen, der Bus-Faktor beträgt 3). Jede Komponente trägt ein festes Gewicht innerhalb ihrer Metrik.
  2. Metriken — gewichtete Summen von Komponenten, jede eine ganze Zahl in 1–100. Beispiele: Entwicklungsaktivität, Maintainer-Resilienz, Sicherheitslage.
  3. Kategorien — gewichtete Mittel ihrer Metriken, ebenfalls in 1–100. Die sechs gewichteten Kategorien sind Vitalität, Community & Verbreitung, Nachhaltigkeit & Governance, Engineering-Qualität, Sicherheit und — mit bewusst kleinem Gewicht — KI-Bereitschaft.

Der gesamte Gesundheitsindex beginnt als gewichtetes Mittel der verfügbaren Kategorien:

Das effektive Gewicht einer Metrik im Gesamtindex ist Kategoriegewicht × Gewicht innerhalb der Kategorie. Jeder Bericht zeigt diese Zahl auf jeder Metrikkarte, und jeder veröffentlichte Wert wird einer von sieben Bewertungsstufen zugeordnet.

Kalibrierung auf das öffentliche Register

Das gewichtete Mittel wird anschließend über eine feste monotone Kurve, die an der empirischen Verteilung des öffentlichen Registers verankert ist, auf die veröffentlichte Indexskala kalibriert. Erst die Kalibrierung gibt den Stufen ihre Perzentilbedeutung — Außergewöhnlich ist tatsächlich die Spitzengruppe des Registers — und sie lässt den Index den gesamten Bereich 1–100 nutzen, statt die Hälfte des Registers in zwanzig Punkte davon zu drängen. Die Kurve sättigt am oberen Ende: Ein rohes gewichtetes Mittel von 91 oder mehr wird als 100 veröffentlicht — auch deshalb kann ein Repository ohne Signale zur KI-Bereitschaft (4% des Rohgewichts) weiterhin 100/100 erreichen. Das rohe gewichtete Mittel bleibt in jedem Bericht unter overall.inputs.weighted_overall_raw sichtbar, sodass die Arithmetik vollständig prüfbar bleibt. Kategorie- und Metrikwerte werden unkalibriert veröffentlicht — die Kurve beschreibt allein den Gesamtindex und ist allein auf ihn angepasst.

Warnsignale deckeln den Index

Vier Richtlinien stehen außerhalb des gewichteten Mittels. Keine von ihnen belohnt ein sauberes Ergebnis — ein Repository ohne Befund behält schlicht seinen kalibrierten Index —, doch ein bestätigter Befund multipliziert den veröffentlichten Wert und hält ihn in den schwersten Fällen unter einer angegebenen Obergrenze:

RichtlinieWirkt aufObergrenze
Schädliche AbhängigkeitenSicherheitslage und Gesamtindex19 — Spitze von Kritisch
Verwaisungden Gesamtindex34 bei wahrscheinlich, 19 bei erklärt
Exposition gegenüber HochrisikojurisdiktionenSicherheitslage und Gesamtindex34 — Spitze von Gefährdet
Wachstumsauthentizitätdie Sterne- und Fork-Komponenten der Popularitätkeine

Seit Methodik v1.13.0 verrechnen sich die Richtlinien nicht mehr miteinander. Die strengste, die auslöst, gilt allein, und die übrigen werden berichtet, ohne den Wert erneut zu bewegen: Ein Multiplikator sagt aus, wie schwer ein Befund wiegt, und ein zweifach multiplizierter Wert ist eine Zahl, die keine Richtlinie gewählt hat und keine erklären kann. Repositories, deren Belege die Frage einer Richtlinie nicht beantworten können, lesen sich als ungeprüft und werden für diese Lücke nie bestraft.

Fehlende Daten sind niemals eine Null

Sind die zugrunde liegenden Daten einer Komponente nicht verfügbar — eine Registry veröffentlicht keine Download-Zahlen, die Liste der Beitragenden lässt sich nicht erheben — wird die Komponente ausgeschlossen und die verbleibenden Gewichte renormalisiert. Dieselbe Regel gilt eine Ebene höher: Eine Metrik ohne Daten wird null, und ihre Kategorie verteilt das Gewicht um; eine Kategorie ohne bewertbare Metrik entfällt aus dem Gesamtindex.

Diese Regel ist zentral für die Fairness. Ein Projekt wird nur an dem gemessen, was tatsächlich beobachtbar ist, und Abwesenheit von Evidenz wird als Abwesenheit berichtet — das Feld note der Metrik verzeichnet jede Renormalisierung, sodass stets erkennbar bleibt, was gemessen wurde und was nicht.

Einen Bericht lesen

  • Das Profil lesen, nicht nur die Zahl. Eine 74 aus ausgewogenen Kategorien ist etwas anderes als eine 74, die einen Sicherheitswert von 25 verdeckt. Das Radardiagramm des Berichts macht Spitzen-und-Krater- Profile sofort sichtbar.
  • Die Stufen prüfen. Werte werden sieben standardisierten Stufen von exceptional bis critical zugeordnet; die Stufengrenzen sind Teil der versionierten Methodik.
  • Alles nachrechnen. Jede Metrik gibt ihre Eingaben und die Punkte je Komponente im Bericht wieder, sodass jeder veröffentlichte Wert aus dem data-Abschnitt des JSON-Berichts von Hand verifiziert werden kann.
  • Kandidaten gegeneinander lesen. Ein Index ist nur neben den tatsächlich erwogenen Alternativen aussagekräftig. Die Vergleichsansicht stellt bis zu sechs Einträge auf ein gemeinsames Achsenset — Kategorienprofil, Wachstumsverlauf und jede zugrunde liegende Zahl —, sodass die Spanne zwischen ihnen sichtbar ist statt erschlossen.

Versionierung

Formeln, Gewichte und Stufengrenzen werden als Ganzes versioniert. Jede Änderung erhöht die in jedem Bericht verzeichnete Metrikversion, und die vollständige Historie ist öffentlich — siehe Methodikversionen. Teile der Methodik können je Scan abgeschaltet werden; der Bericht dokumentiert dann genau, was deaktiviert war — siehe Scan-Konfiguration.

Verwandt: Bewertungsstufen · Zertifizierungsstufen · Software-Klassifikation · Signale, keine Garantien · Methodikversionen

Von inspect.software veröffentlichte Ergebnisse sind Signale, keine Garantien — siehe wie sie zu lesen sind. Die vollständige Methodik ist versioniert und öffentlich: Methodik v2.10.0.