
Codebasis
Die Codebasis ist die Gesamtheit aller Textdateien, aus denen ein Programm gebaut wird. Sie ist das eigentliche Arbeitsmaterial von Software-Entwicklern und wächst bei großen Produkten auf Millionen von Zeilen an.
Jedes Programm besteht am Ende aus Text. Menschen schreiben diesen Text in einer Programmiersprache, also in einer festen Schreibweise, die ein Computer eindeutig verstehen kann. Alle diese Textdateien zusammen, die zu einem Produkt gehören, nennt man die Codebasis. Bei einer kleinen Handy-App sind das vielleicht ein paar tausend Zeilen. Bei einem Betriebssystem oder einem Online-Banking-System können es viele Millionen Zeilen sein, verteilt auf zehntausende Dateien. Die Codebasis ist damit nicht das fertige Programm, sondern der Bauplan, aus dem das Programm jedes Mal neu erzeugt wird.
Warum Firmen ihre Codebasis wie ein Vermögen behandeln
Für viele Technologieunternehmen ist die Codebasis der wertvollste Besitz überhaupt. Fabriken, Lagerhallen oder Maschinen gibt es dort oft gar nicht. Was das Unternehmen ausmacht, steckt in diesen Textdateien. Wenn eine Firma gekauft wird, prüfen Käufer deshalb genau, in welchem Zustand der Code ist.
Der Zustand entscheidet über Tempo. Eine aufgeräumte Codebasis erlaubt es, eine neue Funktion in Tagen zu bauen. Eine verwahrloste braucht für dieselbe Funktion Monate, weil niemand mehr sicher sagen kann, was eine Änderung an anderer Stelle kaputt macht. In der Branche nennt man diesen aufgelaufenen Rückstand technische Schulden: Man hat früher schnell gearbeitet und zahlt später mit Verzögerung dafür.
Dazu kommt das Risiko. Ein einziger Fehler in einer einzigen Zeile kann eine Sicherheitslücke öffnen, durch die Angreifer Kundendaten abgreifen. Solche Vorfälle kosten Firmen regelmäßig dreistellige Millionenbeträge und sind ein Grund, warum Aktienkurse nach einem Datenleck fallen.
Wie tausende Entwickler an denselben Dateien arbeiten
Damit nicht alle durcheinander schreiben, liegt die Codebasis in einer Versionsverwaltung. Das ist ein Programm, das jede einzelne Änderung mit Zeitpunkt und Urheber speichert. Der Standard dafür heißt Git. Man kann damit jederzeit auf einen früheren Stand zurückspringen, so ähnlich wie bei der Versionshistorie eines Online-Dokuments, nur viel genauer.
Der übliche Ablauf ist immer gleich. Ein Entwickler kopiert sich den aktuellen Stand, ändert etwas in einem abgetrennten Zweig und schlägt die Änderung dann zur Aufnahme vor. Mindestens ein Kollege liest sie durch, dieser Schritt heißt Code-Review. Parallel laufen automatische Tests, also kleine Prüfprogramme, die kontrollieren, ob noch alles funktioniert. Erst danach wandert die Änderung in den Hauptzweig.
Große Firmen organisieren das unterschiedlich. Google legt fast allen Code in ein einziges riesiges Verzeichnis, ein sogenanntes Monorepo. Andere zerlegen ihre Codebasis in viele kleine, getrennt verwaltete Teile. Beides hat Vor- und Nachteile: Ein Monorepo macht Änderungen an vielen Stellen gleichzeitig einfach, wird aber schnell unhandlich groß.
Codebasen in den Tech-News und in KI-Produkten
Der Begriff taucht auf, sobald über Open Source berichtet wird. Open Source bedeutet, dass die Codebasis öffentlich einsehbar ist und jeder Änderungen vorschlagen darf. Der Linux-Kernel, das Herzstück vieler Server und aller Android-Handys, ist das bekannteste Beispiel. Plattformen wie GitHub machen solche Codebasen für alle zugänglich.
In der KI-Diskussion spielt die Codebasis eine doppelte Rolle. Erstens wurden Sprachmodelle mit riesigen Mengen öffentlichen Codes trainiert, was zu Streit über Urheberrechte geführt hat. Zweitens greifen Werkzeuge wie GitHub Copilot oder Cursor direkt in die Codebasis ein und schlagen Änderungen vor. Manche Unternehmen berichten, dass inzwischen ein erheblicher Teil ihres neuen Codes maschinell entsteht.
Ein verbreiteter Irrtum ist, dass eine große Codebasis ein gutes Zeichen sei. Das Gegenteil trifft eher zu. Erfahrene Teams freuen sich, wenn sie Zeilen löschen können, denn jede Zeile muss gepflegt, getestet und verstanden werden. Weniger Code bei gleicher Funktion bedeutet weniger Angriffsfläche und weniger Kosten.