Warum wir glauben, dass Software wieder Beziehungen lernen muss

Warum wir glauben, dass Software wieder Beziehungen lernen muss

Ein Blick hinter Biocodie: warum wir bei Dragons@Work begonnen haben, Software nicht als Ansammlung von Abhängigkeiten, sondern als Gemeinschaft eigenständiger Einheiten zu denken.

Vor vierzig Jahren bestand ein Programm aus einigen tausend Zeilen Code. Ein Mensch konnte es lesen, verstehen, im Kopf behalten. Heute bestehen Systeme aus Millionen Zeilen, Hunderten Bibliotheken, unzähligen Abhängigkeiten - und trotzdem verhalten sich viele von ihnen noch immer so, als wären sie allein auf der Welt.

Der Schmerz

Jedes Programm kennt heute seine Bibliotheken. Es weiß, welche Funktion es aus welchem Paket importiert, welche Version kompatibel ist, welcher Pfad zur Datei führt. Aber kaum ein Programm versteht, warum eine andere Komponente überhaupt existiert. Es weiß nicht, wer im System eigentlich helfen könnte, wenn eine Aufgabe außerhalb der eigenen Fähigkeiten liegt. Und es hat keine Möglichkeit zu erkennen, wie neue Fähigkeiten entstehen könnten, ohne dass jemand sie von außen hineinprogrammiert.

Fehlt etwas, wird eine weitere Konfigurationsdatei geschrieben. Fehlt mehr, wird eine weitere Abhängigkeit eingebaut. Das System wächst - aber es wächst wie ein Haufen, nicht wie ein Organismus. Jeder Teil für sich funktioniert. Das Ganze bleibt trotzdem blind für sich selbst.

Unsere Frage

Was wäre, wenn Software ihre Beziehungen genauso selbstverständlich verwalten könnte wie ihre Daten? Nicht zentral gesteuert von einer Instanz, die alles kennt. Nicht magisch durch noch mehr Abstraktion versteckt. Sondern so, wie Lebewesen miteinander umgehen: mit Identität, mit Grenzen, mit der Fähigkeit zu erkennen, wann man selbst weiterkommt und wann man auf jemand anderen angewiesen ist.

Aus dieser Frage ist Biocodie entstanden.

Zellen statt Dateien

Biocodie beschreibt Software nicht als Sammlung von Dateien, die irgendwie zusammenwirken sollen. Es beschreibt Software als Gemeinschaft eigenständiger Zellen. Jede dieser Zellen besitzt eine eigene Identität - sie ist nicht austauschbar, sie ist etwas Bestimmtes. Sie trägt Verantwortung für einen klar umrissenen Bereich, statt alles ein bisschen zu können. Sie unterhält Beziehungen zu anderen Zellen, die sie kennt und denen sie vertraut. Sie hat Grenzen, die festlegen, was sie tut und was ausdrücklich nicht ihre Aufgabe ist. Sie kann Hilfe anfordern, wenn eine Aufgabe ihre eigenen Fähigkeiten übersteigt. Und sie kann sich weiterentwickeln, ohne dass jemand das gesamte System dafür auseinandernehmen muss.

Keine dieser Eigenschaften ist neu erfunden. Jede von ihnen existiert längst - in verteilten Systemen, in Microservices, in biologischen Metaphern, die die Informatik seit Jahrzehnten streift. Biocodie versucht, diese Gedanken konsequent zu Ende zu denken.

Das Ziel

Wir versuchen nicht, Software intelligenter zu machen. Künstliche Intelligenz eröffnet viele neue Möglichkeiten - Biocodie beschäftigt sich mit einer anderen Frage: Wie können Programme ihre eigenen Beziehungen verstehen und nutzen? Wir versuchen etwas Bescheideneres und gleichzeitig Schwierigeres: Software verständlicher zu machen. Für sich selbst und für die Menschen, die mit ihr arbeiten.

Denn ein System, das seine eigenen Beziehungen versteht, kann auch von Menschen leichter verstanden werden. Nicht, weil es einfacher wäre. Sondern weil es ehrlicher ist über das, was es ist und was es kann.

Wo wir heute stehen

Biocodie entsteht öffentlich. Nicht hinter verschlossenen Türen, nicht als fertiges Produkt, das eines Tages verkündet wird. Sondern Commit für Commit, mit Diskussionen, mit Irrtümern, mit Ideen, die sich als Sackgasse erweisen, und anderen, die genau den richtigen Weg zeigen.

Vielleicht wird aus Biocodie irgendwann eine neue Art, Software zu bauen. Vielleicht bleibt es ein Gedanke, der andere Ansätze beeinflusst, ohne selbst zur Blaupause zu werden.
Wir wissen es nicht. Aber wir glauben, dass die Frage – Beziehungen statt Abhängigkeiten – wichtig genug ist, um sie öffentlich zu stellen.

Denn wenn Programme ihre eigenen Beziehungen verstehen, müssen Menschen sie nicht mehr vollständig im Kopf behalten.

Neue Fähigkeiten lassen sich ergänzen, ohne das ganze System zu gefährden. Fehler werden nachvollziehbarer. Software wird verständlicher – für sich selbst und für die Menschen, die mit ihr arbeiten.

Und genau dazu laden wir dich ein: mitzudenken, mitzufragen und mitzuzweifeln.

Michael von den Drachen

entwickelt Bücher, Software und offene Regelwerke rund um technische Systeme, digitale Unabhängigkeit und langlebige Softwarearchitekturen.
Mehr über Michael →
Warum wir glauben, dass Software wieder Beziehungen lernen muss
← Nächster Artikel Warum wir angefangen haben, über organische Software nachzudenken
Warum wir glauben, dass Software wieder Beziehungen lernen muss
Vorheriger Artikel → Warum Gedanken eine Heimat brauchen