Bei Werkzeugmaschinen, in Produktionsstraßen, egal wo in Automatisierungsszenarien: Steuerungssysteme halten alles am Laufen und sorgen für die korrekte Ausführung der Fertigungsschritte. Doch diese SPSen sind zugeschnitten für dedizierte Aufgaben, sie enthalten proprietäre und geschlossene Software, Anpassungen sind nur sehr begrenzt über Parameter möglich. Für fixe und stets gleiche Aufgaben reichte das lange aus, doch bei immer flexibler werdenden Produktionen und kleineren Losgrößen müssen auch Steuerungssysteme flexibel sein.
Und genau deshalb setzen moderne Steuerungsplattformen auf Offenheit und nutzen das Open Source Betriebssystem Linux als Grundlage. Ein Grundgedanke von Open Source und Linux ist die freie Verfügbarkeit und die Anpassbarkeit des Codes. Entwickler müssen nicht mehr mit geschlossenen Systemen kämpfen, teuer und aufwendig notwendige Anpassungen realisieren. Denn ein offener Quellcode lässt sich leicht ändern und verhindert die teure Abhängigkeit von einem Hersteller. Die Offenheit auf Basis von Open Source ermöglicht auch einfacher neuartige Denk- und Vermarktungsansätze für Daten, Produkte und Dienste. Soll die Steuerung morgen beispielsweise einen OPC-UA-Server zur Verfügung stellen, so kann fertiger Open Source Code dafür einfach verwendet werden. Das gilt auch für Implementation wie Machine Learning Algorithmen oder Visualisierungsaufgaben.
Automatisierer setzen auf Open Source
Für diese Flexibilität und Zukunftsfähigkeit setzen sowohl Maschinenbauer als auch Verantwortliche von Produktionsbetrieben zunehmend auf offene Steuerungsplattformen. Dies unterstreicht auch eine Umfrage von A&D mit 363 Teilnehmern aus der Automatisierungsbranche: Zirka zwei Drittel sehen eine hohe Leistungsfähigkeit für künftige Anwendungen, die Steuerung als offene Kommunikationszentrale mit Cloud-Connectivity sowie die Unterstützung beliebiger Programmier-/Entwicklungstools als entscheidend an. Extrem relevant ist den Teilnehmern das Thema „No Vendor Lock-in“: Knapp 80 Prozent fordern offene Schnittstellen bei einer Steuerungsplattform, um den Integrationsaufwand in der eigenen Umgebung zu reduzieren.
Beim Thema Open Source merkt man die gespaltene Haltung der Teilnehmer an, weil hier noch viel Unwissenheit herrscht. Während zwei Drittel den Austausch über Community-Plattformen und offenen sowie frei verfügbaren Quellcode als sehr hilfreich und längst überfällig ansehen, favorisieren noch zirka ein Drittel bewährte SPS-Lösungen mit proprietärer Technik – bei Steuerungsaufgaben wird offenen Community-Lösungen oft nicht vertraut. Allerdings erfolgt hier zunehmend ein Umdenken, denn durch offenen Quellcode erlangen beispielsweise Hersteller von Werkzeugmaschinen die uneingeschränkte Kontrolle über ihre Maschinen - sie wissen genau, wann die Steuerung was und wie ausführt. Bei proprietären Steuerungssystemen gibt es diese Einblicke und Kontrolle nicht. Hinzu kommt eine uneingeschränkte Langzeitverfügbarkeit des Codes, der ständig den eigenen Bedürfnissen und Sicherheitsanforderungen angepasst werden kann. So vermeiden Hersteller auch die Abhängigkeit von Produktabkündigungen eingesetzter Steuerungssysteme.
Community und Repositories
Linux zählt inzwischen zum verbreitetsten Betriebssystem moderner Steuerungen und von IoT-Geräten. Durch das offene Betriebssystem erhalten Anwender die Möglichkeit, Steuerungsaufgaben durch klassische IEC-61131-Bibliotheken ebenso zu realisieren wie auch durch Einbindung von Open-Source-Paketen oder direkter Programmierung mit C/C++. Durch das Open Source Konzept stehen inzwischen für nahezu jede Aufgabe oder Funktion fertige Programme und Quellcode für die Individualisierung zur Verfügung. Durch die Linux-Community werden die Programme, Bibliotheken und Quellcodes ständig weiterentwickelt und in neuen Varianten in frei zugänglichen Repositories wie zum Beispiel auf der Plattform GitHub zum Download bereitgestellt. Die Community hilft bei Problemen, erwartet aber auch die eigene Beteiligung an Lösungen. Und hier liegt auch ein Hauptgrund darin, warum zunehmend ein Umdenken bei Automatisierern erfolgt. Denn durch den frei zugänglichen Quellcode erreichen Open Source Programme in der Regel eine viel höhere Anzahl von Entwicklern im Vergleich zu proprietärer und geschlossener Software von Herstellern. Die Qualität und Laufzeitstabilität ist deshalb bei Open Source Programmen meist höher als bei kommerzieller Software vieler Anbieter. Und gerade diese Faktoren sind im industriellen Einsatz von entscheidender Bedeutung.
Sowohl für Entwickler als auch Unternehmen lohnt deshalb eine aktive Beteiligung in der Community. Werden bei Open Source Projekten, die selbst im Einsatz sind, Hilfestellungen, Bugreports und Erweiterungen in die Repositories zurückgespielt, so profitieren alle davon. Die Komponenten werden sicherer, erhalten regelmäßige Updates und bieten eine höhere Qualität.
Security und Rechtesystem bei Open Source
Ein weiterer Vorteil von Open Source Linux gegenüber anderen Betriebssystemen ist das Thema Rechteverwaltung und Sicherheit. Linux bietet eine sehr granular und individuell anpassbare Rechteverwaltung, um unterschiedlichen Benutzern jeweils angepasste Zugriffsrechte zu erteilen. Die strenge Rechtevergabe sowie die User- und Gruppenverwaltung erlauben beispielsweise den Schutz der Konfigurationsdateien und Steuerungseinstellungen vor unbefugten Zugriff oder unbeabsichtigten Änderungen. So kann ein Maschinenbediener durch entsprechende Rechtevergabe keine Änderungen der Prozessparameter vornehmen – er sieht und darf genau das, was ihm zugewiesen wurde.
Eine strenge Rechteverwaltung schützt das Betriebssystem auch zusätzlich von Cyberangriffen. Gerade das Thema Security ist bei den zunehmend vernetzten Steuerungssystemen immens wichtig. Viele marktübliche und auf Industrie-PCs basierende Steuerungen verwenden Windows als Betriebssystem – mit dem Effekt, dass regelmäßig Sicherheits-Updates eingespielt werden müssen. Gerade in Produktionsumgebungen bedeutet das Unterbrechungen und kann unerwünschte Nebeneffekte hervorrufen. Auf Linux basierend gibt es aber speziell gehärtete Kernel mit „Security by Design“. Das Betriebssystem erlangt zusätzliche Sicherheit durch Reduktion: es gibt nur Code, der für die erwünschten Aufgaben erforderlich ist. Nicht notwendige Software, welche zusätzliche Angriffsvektoren liefern könnte, wird so erst gar nicht auf das System aufgespielt. Ein weiterer Vorteil ergibt sich beim Auftauchen neuer Sicherheitslücken in Open Source Bibliotheken und freien Programmen. Durch die Offenheit lassen sich schnell entsprechende Patches der Community einspielen – man ist nicht auf den Fix des Herstellers angewiesen, der unter Umständen lange auf sich warten lässt.
Entwickler können jederzeit auch selbst auf Datenbanken wie die bekannte National Vulnerability Database zurückgreifen, und recherchieren, ob es für selbst verwendete Komponenten aktuelle Schwachstellen gibt.
Lizenzen – Open Source ist nicht Open Source
Wird von Open Source oder freier Software gesprochen, so denkt man an frei verfügbar und keine Lizenzgebühren – aber auch keine Pflichten? Letzteres stimmt nicht, denn bei der Verwendung von Open Source sind trotzdem Lizenzbedingungen zu beachten und gegebenenfalls zu klären. Müssen also eigene Programme, die auf Open Source Code basieren, weiter frei verfügbar sein? Und darf für die eigene Verwendung Closed Source gemacht und diese Programme kommerziell vertrieben werden?
Im Prinzip sind die Unterschiede zwischen den verschiedenen Open Source-Lizenzen wie GPL (GNU General Public License) oder BSD (Berkeley Software Distribution) bei der internen Verwendung im Unternehmen nur geringfügig. Ein Auge sollten Anwender allerdings auf die Lizenzbedingungen werfen, wenn die Open Source Software weiterentwickelt – beispielsweise für spezielle Steuerungsaufgaben in einer Verpackungsmaschine – und diese dann vertrieben wird. Hier unterscheiden Open Source Programmen zwischen den Lizenztypen „Copyleft“ und „Non-Copyleft“. Verwendet ein Hersteller Open Source Code auf Basis einer Copyleft-Lizenz wie bei der bekannten GPL, so muss der überarbeitete und veränderte Code ebenfalls wieder unter der ursprünglichen Lizenz für die Community freigegeben werden. Damit soll verhindert werden, dass Anwender oder Hersteller den überarbeiteten Quellcode mit veränderten Nutzungsbedingungen vertreiben. Anbieter von Automatisierungslösungen, die in ihrer Lösung beispielsweise Open Source Software mit Copyleft-Lizenz verwenden, müssen also genau prüfen, ob neben der Mitlieferung des Lizenztextes auch der bearbeitete Quellcode zur Verfügung gestellt werden muss. Beispielsweise fordern bestimmte Copyleft-Lizenzen uneingeschränkt die Freigabe jeder bearbeiteten Version der Open Source Software. Es gibt aber auch moderate Copyleft-Varianten, die nur unter bestimmten Voraussetzungen die Veröffentlichung des Quellcodes erfordern.
Anders verhält es sich beim Lizenztyp Non-Copyleft, unter dem etwa Software mit BSD-Lizenz fällt: Hier gibt es keine Vorgaben für die Veröffentlichung eines überarbeiteten Codes. Anwender können also Software mit BSD-Lizenz für ihre Bedürfnisse weiterentwickeln und dann auch proprietär lizenzieren. Damit lassen sich dann kommerzielle Produkte entwickeln, der Quellcode muss nicht offengelegt werden, sondern ist nur eine Option. Beispielsweise haben so Entwickler von Apps für Linux-basierende Steuerungsplattformen die Möglichkeit, ihr geistiges Eigentum zu schützen und Geschäftsmodelle darauf basierend zu entwickeln. Open Source muss beim Lizenztyp Non-Copyleft also nicht Open Source bleiben. Als Beispiel baut Phoenix Contact bei der offenen Steuerungsplattform PLCnext Technology ebenfalls auf ein Linux-Derivat mit einer Non-Copyleft Lizenz und lässt dem Anwender somit insgesamt mehr Freiheit, um deutlich einfacher eigene Denk- und Vermarktungsansätze realisieren zu können. Grundsätzlich lassen sich aber auch bei Copyleft-Lizenzen kommerzielle Produkte entwickeln, allerdings eben mit strengeren Lizenzbedingungen.
Einfach gestaltet es sich, wenn Unternehmen Open Source Programme nur intern für bestimmte Aufgaben verwenden – und nicht weitergeben oder mit eigenen Produkten vertreiben. Dann erlauben fast alle Lizenzen von Open Source Programmen die Verwendung ohne weitere Pflichten oder Auflagen.
Achtung bei multiplen Lizenzen
Kombinieren Programmierer in einer Software Open Source Code und komplette Eigenentwicklungen, die nicht auf Open Source basieren, so kann es schnell einen Lizenzkonflikt geben. Denn gibt es für die Eigenentwicklung auch eigene Lizenzbedingungen, so dürfen diese nicht beispielsweise eine GPL-Lizenz aushebeln. Die eigene Lizenz darf nicht auf die komplette Software ausgeweitet werden, wenn diese Open Source Code enthält. In diesen Fällen muss in den Lizenzbestimmungen eine Differenzierung erfolgen.
Auch bei der Kombination mehrerer Open-Source-Komponenten ist auf Lizenzkompatibilität zu achten. Werden für ein neues Programm Quellcode-Fragmente verwendet, die auf verschiedenen Lizenztypen basieren, so muss die kombinierte Nutzung von allen Lizenzen gestattet sein. Um bei der Verwendung und vor allem beim Vertrieb von Produkten, die Open Source Programme verwenden, rechtlich auf der sicheren Seite zu sein, sollten sich Anwender also zwingend mit den Lizenzbedingungen vertraut machen und diese einhalten. Das kostet Zeit und beim Hinzuziehen rechtlicher Beratung auch Geld, die Vorteile durch die verfügbare Softwarebasis überwiegen aber deutlich.
Bedenken von Unternehmen, die Verwendung eines Linux-Betriebssystems mit Copyleft-Lizenz zwinge sie, eigene Entwicklungen ebenfalls unter dieser Lizenz offenlegen zu müssen, sind unbegründet. Vom Unternehmen selbst entwickelte Applikationen werden in der Regel durch die Applikationsschnittstelle nach dem POSIX-Standard nicht als Erweiterung oder Änderung des Linux-Kernels gesehen. Deshalb muss die entwickelte Software auch nicht unter der GPL des verwendeten Linux-Betriebssystems offengelegt werden. Das geistige Eigentum eines Entwicklers oder Unternehmens bleibt geschützt.
Auf Vitalität von Open Source Projekten achten
Empfehlenswert bei der Auswahl von Open Source Software oder Quellcode ist die Beachtung der Vitalität eines Projektes: Wie viele aktive Entwickler arbeiten daran, wie hoch ist die Anzahl der Downloads und der Kommentare, wie viele Releases gibt es, wird das Projekt weiter gepflegt. Je mehr Aktivität rund um ein Open Source Projekt stattfindet, desto wertiger und nutzbringender lässt sich die Software oder der Quellcode einstufen. Es gibt aber auch genügend Beispiele, wo nur ein einziger Entwickler an einem Open Source Projekt arbeitet und dies zur Verfügung stellt. Auch hier sind Anzahl der Nutzer, Kommentare und Fragen der Community ein Indiz für den Nutzwert des Projekts.
Die Verwendung von Open Source in Steuerungsplattformen und bei Automatisierungsprojekten ist nicht die Lösung aller Probleme. Allerdings können Unternehmen bei gezielter Verwendung hohe Kosten sparen und viel Entwicklungszeit sparen. Ein entscheidender Vorteil einer offenen und leistungsfähigen Steuerungsplattform auf Linux-Basis wie PLCnext Technology von Phoenix Contact ist aber die gewonnene Flexibilität und Zukunftsfähigkeit. Beispielsweise lassen sich über Open Source Projekte jederzeit Implementationen für Künstliche Intelligenz, Cloud-Connectivity oder Augmented Reality realisieren.