Open Source Software in Medizingeräten und Lizenzen
20. September 2022Nach Erstellung der SOUP-Dokumente ist man fertig. Oder doch nicht?
Die Entwicklung eines Medizingerätes ist ein sehr komplexes Unterfangen: Es müssen Anforderungen präzise und nachvollziehbar festgehalten werden, eine Umsetzung in Hard- und Software erfolgen sowie ausgiebig Tests zur Sicherstellung der korrekten und gefährdungsfreien Funktionalität des Gerätes durchgeführt werden. Zu guter Letzt müssen auch all diese Prozesse umfangreich dokumentiert und die Zulassungsdokumentation erzeugt werden.
Auch im Rahmen von benutzten – nicht selbst entwickelten – Softwarekomponenten ist die Dokumentation ein Schlüsselpunkt. Diese werden typischerweise auch Off-the-Shelf Software (OTS) oder Software of Unknown Provenance (SOUP) genannt. Derartige Software sind etwa eigenständige Software oder Software-Bibliotheken, die durch ihre jeweilige Lizenz in kommerziellen Systemen genutzt werden dürfen. Es können aber beispielsweise auch Code-Ausschnitte aus Open-Source-Software sein.
Dokumentation der SOUP: Welche Dokumente werden benötigt?
Diese Software wird herkömmlicherweise jeweils in einem SOUP-Dokument dokumentiert. Entsprechend der Off-The-Shelf Software Use in Medical Devices Guidance for Industry and Food and Drug Administration Staff, muss die Dokumentation für eine SOUP folgende Daten über die SOUP enthalten:
- Name und Entwickler der SOUP
- Versionsnummer, Erscheinungsdatum, Patchnummer usw.
- jede SOUP-Dokumentation, die dem Endnutzer gegeben wird
- eine Begründung, warum die SOUP passend für das Medizingerät ist
- eine Aufzählung von erwarteten Limitierungen der SOUP
In dem selben Rahmen verlangt die IEC 62304 eine ähnliche Dokumentation von SOUPs. Laut dieser müssen die folgenden Daten über die SOUP in der Dokumentation enthalten sein:
- Name und Entwickler der SOUP
- der einzigartige Bezeichner der SOUP
- Updates, Bugfixes, Patches usw.
In diesem Beitrag werden wir im Folgenden beleuchten, warum diese geforderte Dokumentation für eine SOUP nicht ausreichend ist und welche Aspekte fehlen.
1. Was fehlt in einer SOUP-Dokumentation?
Normalerweise werden die fünf oben genannten Punkte in einer SOUP-Dokumentation abgehandelt und beantwortet. Dazu kommen gegebenenfalls durch Risikoanalysen gefundene Risiken sowie der Umgang mit denen, falls schwerwiegende Risiken identifiziert wurden.
Was im Allgemeinen aber in SOUP-Dokumentationen fehlt, ist die Lizenz der genutzten SOUP. Diese wird von Zulassungsbehörden für die Zulassung nicht gefordert und muss daher auch nicht in einer SOUP-Dokumentation enthalten sein. Allerdings ist es ein elementarer und rechtlich bindender Aspekt, Lizenzen von genutzter Software oder genutzten Bibliotheken anzugeben. Einige Lizenzen fordern auch explizit, dass die entsprechende SOUP irgendwo öffentlich angegeben werden muss, wenn sie (kommerziell) verwendet wird.
Deswegen reicht es nicht aus, nur eine entsprechende SOUP-Dokumentation für die jeweiligen Zulassungsbehörden zu schreiben. Auch weitere Aspekte, wie eben zum Beispiel die Lizenz, mit der eine SOUP veröffentlicht wurde, erfordern zusätzliche Dokumentation. Diese Aspekte, die auch außerhalb der Zulassung Dokumentation benötigen beziehungsweise erfordern, werden dabei oft vernachlässigt.
2. Was sind Software Lizenzen und warum sind diese wichtig?
SOUPs werden immer mit einer Lizenz verfügbar gemacht, die angibt, in welchem Rahmen die Software, die Software-Bibliothek oder der Code selbst verwendet werden darf. Diese Lizenz enthält unter anderem folgende Aspekte:
- Sie beschreibt, welche Bedingungen bei der Nutzung der Software gelten, in welchem Rahmen die Software benutzt werden darf, was sie kostet und welche Zugriffsebene auf den Quellcode besteht.
- Sie legt fest, ob die Nutzung der SOUP Auswirkungen auf das entwickelte Medizinprodukt selbst hat. Zum Beispiel ist es möglich, dass Software, die die SOUP nutzt, gar nicht kommerziell vertrieben werden darf oder der gleichen Lizenz wie die SOUP folgen muss.
- Sie regelt, welche Haftungsbeschränkungen, Gewährleistungen und Haftungsausschlüsse gelten.
Es gibt verschiedenste Arten von Softwarelizenzen. Diese lassen sich grob in fünf verschiedene Kategorien einteilen:
- Public Domain: Software und deren Code kann beliebig genutzt und verändert werden.
- Lesser General Public License (LGPL): Auf Open-Source-Bibliotheken kann verlinkt werden und eigene Software kann beliebigen Lizenztyp bekommen.
- Freizügig: Vertrieb oder Modifikation der Software kann Anforderungen unterliegen und verschiedene Auflagen mit sich bringen.
- Copyleft: Software und Code darf als Teil der eigenen Software genutzt werden. Allerdings muss die eigene Software dann dieselbe Lizenz besitzen, wie die genutzte Software mit der copyleft Lizenz.
- Proprietär: Software darf nicht vervielfältigt, verändert oder verteilt werden.
Dabei können die konkreten Lizenzen generell sehr unterschiedlich und individuell sein, orientieren sich aber normalerweise an einer der fünf genannten Kategorien.
3. Was für Software ist lizensiert?
Die Antwort auf diese Frage ist: grundsätzlich jede. Dies betrifft genutzte Programme zur Entwicklung der eigenen Software, Software-Bibliotheken, die in den eigenen Code eingebunden werden, Code-Schnipsel oder Abschnitte, die aus der Software anderer heraus in den eigenen Code kopiert werden, Compiler, Analysewerkzeuge und jedwede weitere Art von Software, die für die Entwicklung des eigenen Medizinproduktes genutzt wird.
Dabei trifft man bei verkaufter Software normalerweise auf proprietäre Lizenzen, weil diese generell nicht weiter verteilt oder verändert werden darf. Dies betrifft zum Beispiel Programme zur Entwicklung oder Analysewerkzeuge. Kleinere Tools (unter anderem zum Entpacken von .zip Dateien) und Werkzeuge (wie Compiler) kommen oft mit Lizenzen wie der LGPL. Dann gibt es noch Software, die open-source online gestellt wird oder Software-Bibliotheken, die hilfreiche Implementierungen bieten. Diese besitzen oft freiere Lizenzen, wie Public Domain, Freizügige oder Copyleft Lizenzen. Allerdings muss man hier sehr aufpassen. Während Public Domain Software einfach genutzt werden kann, muss man bei einer freizügigen Lizenz die entsprechenden Anforderungen beachten und bei copyleft Lizenzen muss man dringend beachten, dass die Lizenz übernommen werden muss. Daher kann gerade Software mit einer copyleft Lizenz normalerweise nicht in Medizinprodukten genutzt werden.