Ist der Einsatz von Open-Source Frameworks Stand der Technik?

Beim Einsatz von Open-Source Frameworks und Libraries sind selbstverständlich die 4 Grundsätze des Standes der Technik (Entwicklungsstand, fortschrittlich, bewährt, zielgerichtet) zu beachten.
Ein Großteil der Frameworks und Libraries entspricht demgemäß per se nicht dem Stand der Technik:
- Viele Frameworks und Libraries sind technisch oder funktional derart veraltet, dass sie nicht mehr dem Entwicklungsstand entsprechen, obwohl sie noch weiter gewartet werden - z.B. RMI-IIOP via CORBA.
- Viele wurden schon lange durch ein fortschrittlicheres Framework oder Library ersetzt - z.B. wurde AngularJS 2018 durch Angular ersetzt.
- Ein Großteil der Open-Source Frameworks und Libraries kann auch nicht als "bewährt" bezeichnet werden - das gilt z.B. für die meisten von Entwicklern selbst geschriebenen Frameworks, die sie - da nicht projektspezifisch - als Open-Source Library veröffentlichen
Und dann gibt es (4.) wiederum viele Frameworks und Libraries die für die gegebene Aufgabenstellung nicht zielgerichtet sind, weil sie dafür entweder nicht effektiv (also die Aufgabenstellung erreichend) oder nicht effizient (d.h. günstig) sind. Nicht effektiv ist z.B. die Verwendung von JPA zur Persistierung von Objekten in einer objektorientierten Datenbank; nicht effizient ist die Verwendung von myBatis zur Persistierung von Objekten in einer relationalen Datenbank.
Wurden diese Grundsätze beachtet, dann ist wegen der Zielgerichtetheit das Framework bzw. die Library effizienter als die jeweilige Aufgabenstellung selbst zu programmieren. Es gilt daher folgender Umkehrschluss:
Um dem Stand der Technik zu entsprechen sind Open-Source Frameworks und Libraries überall dort einzusetzen, wo sie selbst dem Stand der Technik gemäß der 4 Grundsätze entsprechen.
Aber wie bei der Verwendung jedweder fremder Komponenten ist auch bei Open-Source Frameworks und Libraries das Haftungsrisiko zu berücksichtigen: Sollten die verwendeten Teile selbst nicht dem Stand der Technik entsprechen, dann entspricht die damit erstellte Software auch nicht dem Stand der Technik. Auch wenn man rechtlich davon ausgehen kann, dass Open-Source Frameworks und Libraries dem Stand der Technik entsprechen, so wird es im Klagsfall schwierig sein, sich bei den Erstellern des Frameworks bzw. der Library schadlos zu halten. Dafür aber ist es bei Open-Source Komponenten möglich, diese selbst zu reparieren. Bei größeren und komplexeren Komponenten ist das aber eher nur eine theoretische Möglichkeit. Man ist also gut beraten, vertraglich zu vereinbaren, wie mit fremden Komponenten hinsichtlich des Standes der Technik umzugehen ist.2
Fazit: Der Einsatz von Open-Source Frameworks ist nicht nur Stand der Technik, es ist gemäß Stand der Technik sogar zwingend nötig, geeignete Open-Source Frameworks einzusetzen. Es sollte aber unbedingt mit dem Endkunden vertraglich vereinbart werden, wie mit Problemen bei fremden Komponenten umzugehen ist.
1. im Schnitt werden 80 OpenSource Projekte als direkte Abhängigkeit eingebunden, diese wiederum basieren auf noch wesentlich mehr weiteren OpenSource Projekten (siehe State of Open Source Security Report 2022).
2. z.B. Haftung für Auswahl und korrekte Einbindung der Fremdkomponenten, aber nicht für deren Mängel (Beratungshaftung, Sachverständigenhaftung §1299ff ABGB). Unterstützung bei Mängelbeseitigung und Priorisierung (Ticketanlage, Support, ...)
Kommentare
Kommentar veröffentlichen
Wenn du auf meinem Blog kommentierst, werden die von dir eingegebenen Formulardaten (und unter Umständen auch weitere personenbezogene Daten, wie z. B. deine IP-Adresse) an Google-Server übermittelt. Mehr Infos dazu findest du in der Datenschutzerklärung von Google (https://policies.google.com/privacy).