Der Umgang mit Open Source Software hat über die letzten Jahre zugenommen und ist aus der Software Architektur sowie der Programmierung kaum noch wegzudenken. Auch in einigen Unternehmen hat sich die Nutzung und Veröffentlichung von Open Source Software etabliert. Doch was steckt eigentlich hinter dem Begriff? Wie kann Open Source optimal angewendet werden? Welche Vorteile birgt es und was muss für die richtige Anwendung beachtet werden? Diese Fragen finden in einem Interview mit Jan Dittberner, IT-Architekt in der internen Infrastrukturabteilung Business Technology & Excellence der Telekom MMS, Antwort.
Aus dem Englischen übersetzt bedeutet Open Source „freie oder offene Quelle“. Es handelt sich also um Plattformen oder Programme, welche Software mit ihrem gesamten Quellcode ausliefern und zur Verfügung stellen. Das damit verfolgte Ziel ist die Möglichkeit der individuellen Bearbeitung der Software durch die Nutzer*innen, sodass diese nach ihren eigenen Bedürfnissen optimiert, angepasst und anschließend genutzt sowie weiterverbreitet werden kann.
Die zur Verfügung gestellte Software kann entweder unentgeltlich oder auch gegen ein bestimmtes Entgelt erworben werden. Oftmals trügt hier der Begriff „Open Source Software“, sodass Nutzer*innen eine kostenfreie Software erwarten. Als Beispiel für verschiedene Open Source Programme können Gimp, Git, OpenOffice oder Firefox genannt werden. Auch ganze Betriebssysteme wie GNU/Linux, FreeBSD und OpenBSD stehen als Open Source Software zur Verfügung.
Open Source Software wird von verschiedenen Anbietern zur Verfügung gestellt und genutzt. Dies kann vom privaten Programmierer bis hin zum großen Unternehmen reichen. Auch die Software Engineering Community (SECO) – eine Mitarbeiterinitiative der Telekom MMS – hat sich Open Source zum Teil ihrer Aufgaben gemacht. Sie klärt dabei über die Thematik auf, begleitet hilfesuchende Kolleg*innen und veröffentlicht selbst freie Software auf GitHub. Am 20. April 2021 veranstaltete die SECO den jährlichen Dev Day (ganz virtuell), wo verschiedene Themen der Software Architektur präsentiert wurden. Diese reichten von Frontend-Frameworks über die Philosophie des Stoizismus bis hin zum Traum von Software ohne Bugs. Zusätzlich zu den Präsentationen stellte die SECO auch den Programmcode für verschiedene, bei der Dev Day Organisation genutzte Systeme, unter Open Source Lizenzen zur freien Verfügung auf GitHub bereit, so zum Beispiel den gesamten Code der Dev Day Webseite, der Teilnehmeranmeldungen oder für den Versand von Newsletter.
Für die Websiteentwicklung und -betrieb des Dev Days war Jan Dittberner zuständig. Er ist außerdem ein Gründungsmitglied der SECO und seit Beginn mit dabei. Für ihn hat das Thema Open Source eine ganz besondere Bedeutung, da er sich seit Beginn in der Telekom MMS mit diesem Thema beschäftigt. Sein Ziel ist es, für das Thema Open Source und den Umgang damit zu sensibilisieren und für Lizenzierung von Open Source Software zu unterstützen. Dafür unterstützt er Kolleg*innen im Umgang mit Open Source Plattformen und klärt über die richtige Anwendung auf. Besonders relevant empfindet er die offene Kommunikation verschiedener Software Lösungen zwischen dem Unternehmen selbst und jeder interessierten Person, um einen Einblick in die Arbeit zu geben und Anreize für sie zu schaffen. Deshalb unterstützt er die Veröffentlichung verschiedener Applikationen und Programme auch aus der Telekom MMS (wie beispielsweise das Phonebook) auf Open Source Plattformen wie GitHub.
Was genau Open Source bedeutet, wie der richtige Umgang damit ist und welche Chancen es bereithält, erklärt er im Interview.
Wie bist du mit dem Thema Open Source in Berührung gekommen?
Zum ersten Mal bin ich mit Open Source Mitte der 90er in Berührung gekommen – ganz aus dem eigenen Interesse heraus. Zu dieser Zeit wollte ich mich mit anderen Systemen als nur mit Windows auseinandersetzen und habe mich mit GNU/Linux vertraut gemacht. Die neuen Möglichkeiten für Software-Architektur und -Entwicklung, die mit dem Linux-Ökosystem einher gingen, haben mich begeistert und somit habe ich mich zunehmend mit Open Source Software beschäftigt. Seit dem Jahr 2005 habe ich mich in der Debian Community als Paketbetreuer engagiert. Dabei muss man wissen, dass Debian ein gemeinschaftlich entwickeltes freies Betriebssystem darstellt, welches auf Open Source Software basiert und diese zur Verfügung stellt. Man kann es praktisch als ein Flaggschiff der Freie Software / Open Source Bewegung bezeichnen. Bei Debian war ich im Coaching tätig und habe im sogenannten New Maintainer Process mitgewirkt, in dem die technische- aber auch soziale Kompetenz potenzieller Kandidat*innen für Debian mithilfe von strukturierten E-Mail-Interviews eingeschätzt wurde.
2013 war ich schließlich bei der Gründung der Mitarbeiterinitiative SECO mit beteiligt. Hier bin ich besonders auf die Sensibilisierung der Kolleg*innen aus der MMS für das Thema Open Source bedacht. Mir ist es an dieser Stelle wichtig, darüber aufzuklären, welchen Kriterien Open Source unterliegt, wie man am besten mit Communities interagieren kann oder worauf bei der Veröffentlichung von Open Source Software zu achten ist. Mein Ziel ist es dabei, den Kolleg*innen die „Ängste“ davor zu nehmen. Im Vergleich zu nicht Open Source Software besteht hierbei häufig die Angst, einen Beitrag als Open Source Software zu veröffentlichen, ohne dass dieser den Anforderungen einer solchen Software genügt und somit nicht als solche genutzt werden darf. Für die Telekom MMS pflege ich außerdem den GitHub Account und veröffentliche regelmäßig neue Open Source Software oder trage Verbesserungen zu bestehender Open Source Software bei.
Welchen Kriterien unterliegt Open Source Software, damit diese auch so benannt werden darf?
Grundsätzlich unterliegt sie den Kriterien der Open Source Definition, die von der Open Source Initiative aufgestellt wurden. Debian gab dabei die ausschlaggebende Definition für Open Source im Debian-Gesellschaftsvertrag (engl. Social Contract).
Kurz gefasst kann von insgesamt vier Freiheiten gesprochen werden, die Open Source Software auf jeden Fall erfüllen muss:
- Freie Nutzbarkeit (Free to use): Open Source Software darf keine Einschränkungen beinhalten, die darüber entscheidet, für was, wie oft, von wem oder in welchem Zeitrahmen etc. diese Software genutzt werden darf.
- Freiheit der Studierbarkeit (Free to study): Die Funktionsweise muss für die Anwender*innen selbst studierbar sein. Dies bedeutet, dass die Bearbeitung, Anpassung oder Veränderung am Quellcode der Software möglich sein muss, sodass die bearbeitende Person den Hintergrund sowie die Funktionsweise dessen erfassen kann.
- Freie Weitergabe (Free to copy): Der Quellcode muss immer verfügbar und weiterverbreitbar sein. Dies bedeutet jedoch nicht, dass er nichts kosten darf. Software kann also gegen Entgelt aber auch unentgeltlich weitergegeben werden. So kann beispielsweise die Open Source Software für einen Kunden gegen ein Entgelt geschrieben werden, der Kunde kann diese jedoch kostenlos weiterverbreiten.
- Möglichkeit der Bearbeitung (Free to modify): Zu guter Letzt muss Open Source Software immer veränderbar sein, sodass Nutzer*innen Verbesserungen und Bearbeitungen an der Software vornehmen können und anschließend die Freiheit haben, diese wiederum für andere User neu zur Verfügung zu stellen.
In jüngster Zeit gibt es dahingehend immer wieder Diskussionen, da Software zwar im Quellcode „Open Source“ angeboten wird, jedoch die Weiterverwendung und Veröffentlichung dafür von den Herausgebern untersagt wird. In diesem Fall ist jedoch klar – es handelt sich nicht mehr um Open Source Software. Das Gleiche gilt für Software deren Lizenz die Nutzung oder Weitergabe einschränkt.
Neben den vier Freiheiten ist zudem zu beachten, dass jede Open Source Software immer einer Lizenz unterliegen muss, nach welcher die Software genutzt werden darf. Erst wenn eine Software eine solche Lizenz besitzt, welche die Kriterien der Open Source Definition erfüllt, kann sie auch als Open Source Software bezeichnet und von anderen Personen genutzt werden.
In welchen Fällen kann Open Source zum Einsatz kommen?
Open Source ist meiner Ansicht nach immer sinnvoll zu nutzen. Man ist nicht abhängig von einem bestimmten Hersteller oder Anbieter und dessen Voraussetzungen für die Zusammenarbeit. Es bietet zudem die Möglichkeit die Software jederzeit selbst weiterentwickeln oder durch einen Partner oder Dienstleister weiterentwickeln zu lassen und einen abgeänderten Ansatz und somit Inspirationen für die eigenen Projekte zu erstellen. Probleme mit einem Anbieter beeinflussen die eigene Arbeit also nicht mehr. Zwar gibt es immer Ängste, wie z.B., dass Security Probleme nur vom Hersteller selbst erkannt werden und diese Probleme in Open Source Software eher schwieriger zu analysieren sind. Aus meiner Sicht ist dem jedoch nicht so, da Open Source eine Vielzahl an großen Communitys bietet, indem sich verschiedenste Expert*innen auf dem Gebiet der Software-Architektur, -Sicherheit und -Entwicklung in Verbindung setzen und genau über solche Problematiken diskutieren können.
Welche Herausforderungen gehen mit der Nutzung und Bereitstellung von Open Source Software einher?
Wie bereits erwähnt, ist bei der Nutzung von Open Source Software immer zu beachten, welche Lizenzen für diese ausgewählt wurden. Danach muss sich bei der Nutzung immer danach gerichtet werden, damit die eigene Weiterentwicklung gültig ist und diese auch weiterverbreitet werden darf. Außerdem müssen vergebene Patente beachtet werden.
Bei der Veröffentlichung von Open Source Software muss natürlich die andere Seite betrachtet werden. So muss bei der Veröffentlichung von eigener Software die richtige Lizenz gewählt und eventuell anfallende Patente vergeben werden. Viele Personen, die Open Source veröffentlichen, arbeiten dabei mit der Klausel „… und neuer“, um auch die zukünftigen Aktualisierungen der eigenen genutzten Lizenz mit einzubinden. Eine andere Möglichkeit ist die Vergabe einer zweifachen Lizenz. Dies bedeutet die Angabe einer kommerziellen Lizenz, nach der die Software gekauft wird. Hier ist es der/m Nutzer*in freigestellt, ob die daraus weiterverarbeitete Software weiterverbreitet wird. Die zweite Lizenz folgt dagegen den normalen General Public License-Bedingungen (GPL) für Open Source und muss demnach die vier Freiheiten erfüllen.
Zudem muss sich Gedanken darum gemacht werden, was genau veröffentlicht wird. Die Frage ist also: Werden interne Unternehmensdaten veröffentlicht oder versehentlich Passwörter hinterlegt? Dies muss genau geprüft werden, damit weiterhin die IT-Security eines Unternehmens gesichert ist. Das gilt bei Software, die nicht als Open Source veröffentlicht wird, ebenso. Der mögliche Image-Schaden und Sicherheitsimplikationen sind bei einer Veröffentlichung aber höher.
Welche Möglichkeiten und Vorteile bietet Open Source seinen Anwendern?
Einen großen Vorteil bieten die bereits genannten vier Freiheiten, welche Open Source Software ausmachen. Darüber hinaus kann man aber auch viel durch die Arbeit damit lernen und so ein besseres Verständnis für Software entwickeln. Beispielsweise kann Open Source Software als Vorbild und Inspiration für die eigene Arbeit genutzt werden.
Weiterhin gibt es in diesem Bereich eine Vielzahl an Communities, in denen eine Menge Beispiele von Software Lösungen bereitgestellt werden. Neben neuen Lösungen bieten die Communities außerdem die Möglichkeit, sich mit Leuten zu vernetzen und fachliche Aspekte zu diskutieren. Aus meiner Sicht hat die Vernetzung mit gleichgesinnten Leuten einen wirklichen Mehrwert auch für die eigene Arbeit. Für Unternehmen bietet Open Source natürlich auch eine Plattform für Selbstmarketing. So können sie beispielsweise eigene Programme und Lösungen für die Allgemeinheit zur Verfügung stellen und somit für die Fähigkeiten und Angebote des Unternehmens begeistern.
Lesen Sie mehr zu dem Thema Entwicklung und Betrieb komplexer Softwaresysteme und wie sich hierbei der DevOps-Ansatz durchgesetzt hat.
Noch mehr Open Source?
Jeder im Unternehmen erlebt den Einfluss der Digitalisierung auf unseren (Berufs)-Alltag und die Unternehmenskultur anders. Übergreifende Teams, welche sich auch außerhalb des Codes verstehen, sind mein Ziel. Nur im Miteinander gelingt der digitale Wandel, weswegen ich mich auch für die Themen Nachhaltigkeit und Diversity engagiere, um das Bewusstsein sowie die stetige Weiterentwicklung zu fördern.