Software ist ein wesentlicher Bestandteil für fortschrittliche Forschung und Entwicklung im Bereich des Leichtbaus. Längst schon werden Softwarepakete nicht mehr nur für einzelne Projekte oder Arbeiten geschrieben, sondern kontinuierlich über ein Projektende hinweg von mehreren Personen weiterentwickelt und verwendet. Dabei entstehen Softwarepakete für diverse Anwendungen, von einfachsten Analysetools bis hin zu hoch spezialisierten Lösungen, wie beispielsweise zur Optimierung von Flugzeugkomponenten. Um die Qualität der Software auf einem hohen Niveau zu halten und somit die Ergebnisse unserer Forschung zu verbessern, bietet das Institut diverse Leitfäden, institutsinterne Schulungen und Supportangebote an.
Die Tür zum Wissen öffnen: Open Source statt Closed Source
Unser Institut unterstützt eine „inner source“-Politik und fördert die abteilungsübergreifende Nutzung und Weiterentwicklung von Software Tools sowie deren Veröffentlichung auf etablierten Plattformen. Dabei regelt ein interner Code of Conduct den Umgang der Mitarbeitenden bei der Nutzung, Wartung und Weiterentwicklung der Software. Dadurch können wir bestehendes Wissen übernehmen und weiterentwickeln, um so nachhaltigere Wissenschaft zu betreiben. Um die interne Sichtbarkeit der Software zu erhöhen, finden institutsinterne Veranstaltungen statt, in denen Software-Entwickelnde ihre Software vorstellen.
Zusätzlich betreiben wir die die institutsinterne Plattform Nimbus, ein Docker-Swarm-basierter Cluster für die Bereitstellung von containerisierten Webanwendungen im Self-Service. Viele Softwarepakete stehen dort bereits als Webdienste (Services) zur Verfügung und können sowohl direkt genutzt als auch als Basis für weitere Projekte verwendet werden. Das reduziert den Arbeitsaufwand, die Software auf den eigenen Systemen lauffähig zu bekommen, erheblich. Dadurch liegt der Fokus auf der wissenschaftlichen Aufgabenstellung und eine niederschwellige Nutzung einer stets aktuellen Softwareversion innerhalb des Instituts wird ermöglicht – institutsübergreifend und punktuell sogar weltweit.
Zusätzlich gibt es viele Open Source Veröffentlichungen, welche als Paket oder Bibliothek über GitLab oder GitHub zur Verfügung gestellt werden. Beispiele hierfür sind die Plattform Perihub, welche es den Nutzenden erlaubt komplexe peridynamische Analysen durchzuführen, sowie das Predesign Tool für Tankstrukturen tankoh2 und die Software PreDoCS, die eine schnelle Bewertungen von Konzepten für Flugzeugstrukturen ermöglicht.
Hürden senken: Self Service als Schlüssel zur Effizienz
Um die Einstiegshürden zu reduzieren, plant das Institut die Open Source Software Coder zu etablieren. Mit dem Start dieser webbasierten Software können vordefinierte Entwicklungsumgebungen inklusive notwendiger Infrastruktur (beispielsweise IDE, Docker Container, benötigte Python Pakete und Datenbanken) erstellt und verwendet werden. Dies ermöglicht eine direkte Programmierung ohne Einarbeitung in die technischen Details der Infrastruktur und der Entwicklungsumgebung. Zusätzlich schaffen wir Standards (z.B. Templates für Containerisierung, Best Practice Bibliotheken und Umgebungen), welche die Softwarequalität steigern. Ein weiterer Fokus bei der Verwendung von Coder ist die Verwendung von Best Practices wie GitOps.
Um die Hürde beim Schreiben und anschließenden Suchen in Datenbanken (beispielsweise zur DLR Entwicklung Shepard https://gitlab.com/dlr-shepard ) zu verringern, haben wir am Institut die Software CAP (Collaborative Analyse Plattform) entwickelt. CAP stellt eine API-Schnittstelle bereit, die direkt zum Strukturieren, Schreiben und Lesen von Daten (inklusive Metadaten) eingebunden werden kann. Eine Einarbeitung in die Datenbankschnittstelle ist nicht notwendig. Auch die Wartung der Schnittstelle (z.B. bei Updates) wird stark vereinfacht, da diese zentral in CAP stattfindet. Durch die einheitliche Ablage von Daten wird weiterhin die Standardisierung unterstützt und eine Steigerung von Qualität und Effizienz im Datenmanagement ermöglicht. CAP legt damit die Grundlage für eine FAIR’e (Findable, Accessible Interoperable, Reproducible) Prozessführung im Datenmanagement.
Perspektivisch möchten wir eine höhere Entwicklungsgeschwindigkeit durch einen Self Service Ansatz beim Bereitstellen von Webservices (auf nimbus und cumulus) erzielen und somit die intrinsische Motivation stärken, aus einem Script einen Webservice für „alle“ zu entwickeln.
Wissen vermarkten: Weitere Möglichkeiten der Veröffentlichung von Software
Aktuell erfolgt die Veröffentlichung der Softwarepakete als Open Source- oder Inner Source-Projekt (DLR intern oder institutsintern verfügbares Projekt). Eine weitere angestrebte Möglichkeit ist die Vermarktung bzw. kommerzielle Lizenzierung der Softwarepakete oder Teilen davon, zum Beispiel bei direkten Anfragen aus der Industrie oder Community. Typisch sind die Veröffentlichung einer Basis Open Source Version eines Tools und die anschließende Vermarktung von Serviceleistungen, wie Feature-Entwicklungen, Support und initialer Installation. Dies ermöglicht die Nutzung sowohl von Open Source-Vorteilen als auch kommerzielle Lizenzierungen.