Research Software Engineering an der RWTH Aachen


Diese Seite wie auch die darin diskutierten Angebote der RWTH befinden sich zum Teil noch im Aufbau. Wir bitten um Geduld.

Zweck dieser Seite

Software ist sowohl ein zentraler Bestandteil als auch ein wichtiges Ergebnis der modernen akademischen Forschung. Sie sollte langlebig und nachvollziehbar nutzbar sein und besitzt aufgrund kontinuierlichen Ausbaus mittlerweile oft eine hohe Komplexität.

Definition: Forschungssoftware

Forschungssoftware umfasst alle Formen von Beschreibungen, Dokumentation, ausführbaren Modellen, Konfigurationsdateien, darin eingebettete Datensätze, Skripte und daraus generierte ausführbare Programme, die im Rahmen der Forschung oder für Forschungszwecke entwickelt und genutzt werden. [GKL+21]

Definition: Research Software Engineering

Research Software Engineering ist die Verwendung von Software Engineering (SE)-Praktiken für Forschungssoftware, d. h. Software, die für wissenschaftliche Forschungsprojekte erstellt wurde und hauptsächlich in diesen verwendet wird. [Wikipedia]

An der RWTH Aachen hat sich eine Regionalgruppe der RSE zusammengefunden, die das Thema RSE adressiert und RSE-Themen behandelt.

Die RSE-Gruppe der RWTH Aachen beschreibt eine Reihe von technischen und organisatorischen Unterstützungsaktivitäten zur effizienten Entwicklung von Forschungssoftware an der RWTH Aachen die von mehreren Institutionen der RWTH zur Verfügung gestellt werden.

RSE adressiert die organisatorische, fachliche und methodische Einbettung effizienter und qualitativ hochwertiger Softwareentwicklung in den Forschungsprozess. Das bedeutet, dass alle jeweils relevanten Entwicklungsaktivitäten unter der Berücksichtigung der wissenschaftlichen-technischen Zielsetzung und jeweiliger Richtlinien und Normen so gewählt werden, dass die Qualität des Ergebnisses und Effizienz der Entwicklung (also Arbeitszeit pro Output) adäquat adressiert werden.

Dies beinhaltet die professionelle Qualifikation der Entwickelnden, um gegebenenfalls Projektplanung, fachliche Anforderungen, fachliche und mathematische Korrektheit, Architektur, Entwurf, Modellierung, Konstruktion/Programmierung, Qualitätssicherung, Optimierung, Evolution, Wartung, Versionierung, Bereitstellung in Varianten und Nachnutzung ökonomisch und ökologisch effizient zu managen und damit zu nachhaltiger Forschungssoftware beizutragen. Hervorzuheben sind Aktivitäten wie:

Die von der RWTH Aachen verabschiedete RWTH Leitlinie für die effiziente Entwicklung von Forschungssoftware“ (im Folgenden auch „RWTH-Leitlinie) enthält eine genauere Beschreibung aller in diesem Kontext von der RWTH Aachen angebotenen Services.

Für deren konkrete Ausgestaltung findet sich auf dieser Webseite zusätzliches Material sowie weiterführende Links. Über Updates wird via der moderierten Mailing Liste der RSE Community informiert.

Überblick über die angebotenen Services

Diese Seite wie auch die darin diskutierten Angebote der RWTH befinden sich zum Teil noch im Aufbau. Wir bitten um Geduld.

Weitergehende Unterstützung

Gute und effiziente Softwareentwicklung benötigt gute Entwicklungsskills weit jenseits des reinen “Codings”. Die RWTH Aachen bietet deshalb kontinuierlich verbesserte und ausgebaute Angebote, die die Entwicklung und die Verbesserung der Skills der Entwickler*innen unterstützen. Dazu gehören

Die RSE-Gruppe bietet bei Bedarf und auf Anfrage Kontakte zu entsprechenden Expertinnen und Experten an, die auch in konkreten Projekten zu zur Unterstützung On-the-Job zur Verfügung stehen würden. In diesen Kontext wird darauf hingewiesen, kann man das die DFG-Anträge zum Beispiel spezielle RSE-Anteile integriert werden können.

Das kann zum Beispiel genutzt werden für eine fachliche Unterstützung für dezentrale Forschungseinheiten, die sich eine eigene RSE-Stelle nicht leisten können oder wollen (siehe unten).

Wichtige technische Services stellt die RWTH Aachen via ihren IT-Services zur Verfügung (siehe unten).

Lizenzvergabe und -nutzung

(siehe auch Kapitel 4 der RWTH-Leitlinie)

Um die effiziente Entwicklung von Forschungssoftware mit hohen Qualitätsstandards zu unterstützen, gestaltet die RWTH Aachen den regulatorischen Rahmen aus und stellt Beratungs-, Unterstützungs- und Weiterbildungsangebote bereit. Für Details sind die RWTH Aachen Leitlinie zu konsultieren. Außerdem sind auch alle gesetzlichen und/oder fachspezifischen, weiterführenden Richtlinien und technischen Normen zu beachten, z. B.

Wissenschaftliche Verwertung

Die Veröffentlichung von Software als Open Source ist ein zentrales Element der wissenschaftlichen Verwertung. Die RWTH Aachen empfiehlt die Auswahl der passenden Lizenz stets nach den Anforderungen des Projekts bzw. der eigenen Softwareentwicklung auszurichten. Die Open Source Initiative bietet mit diversen anerkannten Lizenzen einen wichtigen Wegweiser für diese Auswahl:

Wirtschaftliche Verwertung

Die Vergabe von proprietären Lizenzen für die wirtschaftliche Verwertung wird durch die RWTH Innovation begleitet, die bei der Vertragsgestaltung, den Verhandlungen und der Festlegung der Lizenzbedingungen eng mit den Softwareentwickler*innen und den beteiligten Lehrstühlen zusammenarbeitet und dabei eine strukturierte Unterstützung anbietet, die folgenden Aktivitäten umfasst, soweit kein standardisierter Verwertungsweg verfügbar ist:

Die Wahl der Lizenz obliegt dabei der Inhaber*in der Nutzungs- und Verwertungsrechte. Je nach Projektkontext sind dies die RWTH Aachen oder die Urheber*innen selbst, z. B. im Falle eines verbeamteten Hochschullehrenden mit eigenem Forschungsfeld bei freien Entwicklungen ohne Projektbezug und/oder Auftrag [BMBF23]. Wenn Studierende oder Forschende ohne Anstellungsverhältnis oder vertragliche Regelung mit der RWTH Aachen in die Entwicklung eingebunden werden, werden vorab Vereinbarungen mit der RWTH Aachen getroffen, mit denen die für den Projektkontext notwendigen Nutzungs- und Verwertungsrechte der RWTH Aachen eingeräumt werden. Diese stellen sicher, dass die RWTH Aachen ihren Verpflichtungen den Projektpartner*innen gegenüber vollumfänglich nachkommen kann.

Das Recht der Lizenzwahl und der Veröffentlichung wird dabei standardmäßig an die Projektverantwortlichen bzw. Führungskräfte delegiert. Ist die Delegation mit den Lehrstuhlinhaberinnen, Inhaberinnen des Lehr- und Forschungsgebiets oder Juniorprofessorinnen bzw. Institutsverantwortlichen abgestimmt, bedarf es keiner weiteren formalen Delegation. Bei Fragen und Unklarheiten zur Weitergabe von Software oder zur Lizenzwahl können sich Software-Entwicklerinnen und Projektbeteiligte an die auf der RSE-Webseite genannten Ansprechpersonen der RWTH Innovation wenden, um gemeinsam die jeweilige Situation zu analysieren und die bestmögliche Lösung zu finden.

Regelungen zu Verwertungsrechten der Beitragenden an der Software in Kooperationsprojekten können in einem Contributor License Agreement (CLA) festgelegt werden. Für derartige Vereinbarungen mit Dritten bietet die RWTH Innovation Standards an.

Einige typische Lizenzarten

Es gibt freizügige (permissive) Open Source Lizenzen, (restriktive) Copyleft Open Source Lizenzen sowie proprietäre Lizenzen.

Beliebte permissive Open Source Lizenzen:

Beliebte Copyleft Open Source Lizenzen:

Copyleft Lizenzen vergeben ähnliche Rechte wie die permissiven Lizenzen, sichern aber, dass der Code und seine Derivate frei zugänglich bleiben.

Die AGPL ist der GPL sehr ähnlich, fügt jedoch eine Klausel für Software, die über ein Netzwerk ausgeführt wird, hinzu:

Proprietäre Lizenzen (eingebettet in Verträgen):

Wird eine stärker individuell ausgestaltete Lizenz angestrebt, wird empfohlen dafür entweder nur eine einzige proprietäre Lizenz zu verwenden oder im Rahmen des Dual-Licensing eine solche neben einer Open Source Lizenz anzubieten. Hier hilft die RWTH Innovation GmbH.

Die Erstellung und Verhandlung jeglicher Lizenzverträge, die eine proprietäre Nutzung einräumen, wird an der RWTH Aachen federführend von der RWTH Innovation verantwortet. Hier empfiehlt sich eine Beratung durch die RWTH Innovation. Im Rahmen von Forschungs- und Entwicklungsprojekten, in denen die Entwicklung von Software durch die RWTH Aachen Hauptvertragsbestandteil ist, bietet das Sachgebiet Wirtschaft der Abteilung 4.2 -Drittmittelmanagement der RWTH Aachen Standard-Vorschläge in drei unterschiedlichen Vertragsmodulen an:

Unterstützung bei der Erstellung und Erweiterung von Forschungssoftware

(siehe auch Abschnitte 5.1., 5.2. der RWTH-Leitlinie)

Diese Seite wie auch die darin diskutierten Angebote der RWTH befinden sich zum Teil noch im Aufbau. Wir bitten um Geduld.

Aus Effizienzgründen und Gründen der Qualität ist es ggf. sinnvoll sich temporäre Beratungs- und Unterstützungsleistungen zu suchen in den Bereichen

Die RSE-Gruppe kann hier mit Kontakten zu verschiedenen Lehrstühlen vermitteln, um ggf. solche Unterstützung durch Fachexperten zu erfragen oder diese in einen Drittmittel-Antrag zu integrieren.

Zur konkreten personellen Unterstützung von RSE-Projekten sind denkbar:

Unterstützungsleistungen in der Weiterbildung

(siehe auch Abschnitt 5.3. der RWTH-Leitlinie)

Die konkrete Ausgestaltung von angebotenen Schulungen ist noch zu definieren. Eine allererste sehr unvollständige Sammlung an aktuellen Angeboten ist hier zu finden:

Diese Seite wie auch die darin diskutierten Angebote der RWTH befinden sich zum Teil noch im Aufbau. Wir bitten um Geduld.

Community der Research Software Engineers

(siehe auch Abschnitt 5.4. der RWTH-Leitlinie)

Diese Seite wie auch die darin diskutierten Angebote der RWTH befinden sich zum Teil noch im Aufbau. Wir bitten um Geduld.

Unterstützungsleistungen durch technische Services

(siehe auch Abschnitt 5.6. der RWTH-Leitlinie)

Technische Services der RWTH

Software-Services, Computing-Kapazitäten und Rechner-Infrastruktur stehen gegebenenfalls kostenlos oder im IT Center auch gegen eigene Aufwandskosten für die wissenschaftliche Softwareentwicklung zur Verfügung.

Aufgrund der Vielzahl an sinnvollen und vor allem wegen Kooperationen mit anderen Universitäten und Forschungseinrichtungen notwendigen Services kann natürlich das IT Center keine vollumfängliche Sammlung zur Verfügung stellen.

Die Infrastruktur des IT Centers bietet unter Beachtung der DSGVO und notwendiger Sicherheitsaspekte deshalb bestimmte, häufig angefragte Services im Netz an, andere Services sind direkt beim Anbieter zu nutzen und selbst auf DSGVO-Konformität und Sicherheit zu achten:

Weitere technische Services

Im Internet finden sich mittlerweile eine Vielzahl weiterer, oft kostenloser, aber manchmal auch kostenpflichtiger Services, die sich in der Wissenschaftscommunity bewährt haben. Hier eine Auswahl (die wir auch dynamisch ergänzen):

Für einzelne Services, insbesondere die Nutzung von GitLab für das kollaborative Schreiben von Anträgen, Dokumenten oder Programmen, für das Projektmanagement, etc. werden regelmäßig Kusre bzw. Seminare angeboten.

Weitere Unterstützungsleistungen

(siehe auch Abschnitt 5.8. der RWTH-Leitlinie)

Weitere durch die Universität angebotene Unterstützungsleistungen umfassen (nach Verfügbarkeit):

  1. Beratung und Hilfestellung bei der Publikation von Forschungssoftware. Die Bibliothek und das RSE-Center bieten Hilfe bei der Veröffentlichung von Forschungssoftware, von der Vorbereitung der Bereitstellung über die Auswahl des geeigneten Publikationsmediums bis zu domänenspezifischen Publikationsplattformen.

  2. Bereitstellung, Weiterbildung und Unterstützung im Erstellen sowie Umsetzung von Softwaremanagement-Plänen (SMPs): SMPs dienen der Projektplanung, aber auch den Berichtspflichten, denen Forschende nachkommen müssen. Die Universität stellt die Plattform RDMO zur Erstellung neuer SMPs bzw. Nutzung von SMPs-Templates zur Verfügung.

  3. Die Datenschutzbeauftragten sind unter https://www.rwth-aachen.de/Datenschutz erreichbar.

  4. Ethische Fragen können u. a. an die fakultätsübergreifende Ethikkommission gestellt werden.

Organizers and Support

Diese Webseite wird aktuell maintained von