Weiterentwickeln statt neu erfinden: Warum wir Open Source lieben

Manchmal werden wir gefragt, warum wir bestimmte technische Lösungen wählen. Das ist natürlich nicht so pauschal zu beantworten, aber es gibt doch immer wieder Kriterien, nach denen wir vorhanden Lösungen bewerten oder unsere Architektur ausrichten. Dabei haben wir als Agentur vor allem die Interessen unserer Kunden im Blick. Häufig dargestellte Werte in einem IT Projekt sind Kosteneffizienz, Wartbarkeit, Skalierbarkeit und Robustheit.

Wie versuchen wir also diese Werte in unseren Entwicklungen abzubilden?

Für uns lautet die Antwort meist Open Source.

Offen für alle – offen für Neues

Die langjährige Bindung unserer Genoss*innen und Partner*innen zu verschiedenen Open-Source-Communities, und insbesondere der Drupal Community, hat uns zusammenwachsen lassen bis hin zur gemeinsamen Agenturgründung.

Aber welche Vorteile bietet Open Source im Kundenprojekt? Vorweg sei gesagt, dass nicht jede quelloffene Software auch gut sein muss. Einige Kriterien für die Bewertung von Open-Source-Software sind die Anzahl aktiver Entwickler*innen, Security-Workflows, Release- und Update-Management und die allgemeine Verbreitung und Dokumentation. Wichtig für die Zuverlässigkeit einer Lösung ist die Ernsthaftigkeit und ein Langzeitcommitment, die Software weiterzuentwickeln.

All diese Punkte finden wir in der Drupal Community exzellent gelöst.Aus meiner Sicht stechen drei Punkte besonders hervor. Zum einen die Security Advisories des Drupal Security Teams. Sie geben Hinweise auf mögliche Sicherheitslücken und koordinieren die Veröffentlichung von Sicherheitspatches, bevor mögliche Lücken ausgenutzt werden. Zum anderen die generelle Code-Qualität im Drupal-Ökosystem. Diese wird gestützt durch Drupal-Coding-Standards, automatisierte Tests und Peer-Reviews von Commits. Der wichtigste Punkt ist für mich die aktive und hilfsbereite Community. Fragen, Anregungen und konkrete Hilfestellung gibt es auf diversen Kanälen: Von drupal.org als Sammelpunkt für Projekte und deren Issues und Diskussionen bis hin zu einem öffentlichen Chat und lokalen Usergroups.

Framework, Software oder Bibliothek – jedes Puzzleteil muss passen

Gibt es also gute Open-Source-Lösungen für unsere Anforderungen, können sie Teil unserer Architektur werden. Dies erleichtert die Wartung dieser Komponenten ungemein, da alle notwendigen Entwicklungen von der Community vorangetrieben werden. Lediglich die Integration in die erstellte individuelle Lösung bleibt. Dies zeigt auch, wie es kostensparend sein kann, Open Source zu nutzen: zum einen bei initialem Entwicklungsaufwand oder möglichen Lizenzkosten, zum anderen bei der Wartung und Weiterentwicklung von Komponenten. Ein kleiner aber wichtiger Nebeneffekt ist das Vermeiden eines Vendor-Locks. Die verwendeten Open-Source-Lösungen sind verbreitet und können von vielen Entwicklern und Agenturen weitergetrieben werden.

Wir nutzen also die Vorteile von Open-Source-Software und erweitern sie um die individuellen Anpassungen, die jedes Projekt erfordert. An das effizienteste und robusteste Tool für den Job bauen wir die Teile an, die notwendig sind, ohne dabei das Rad neu zu erfinden: Wir „stehen auf den Schultern von Giganten“ und profitieren von der langjährigen Entwicklungsarbeit und diversen Expertise der Communities. Das bringt sowohl kurz- als auch langfristig das beste Kosten-Nutzen-Verhältnis für unsere Kunden – und schafft Möglichkeiten anstelle von Abhängigkeiten für die Zukunft unserer Projekte.