Open Source: Freiheit mit Spielregeln
Wer für sein Digitalisierungsprojekt eine öffentliche Förderung haben will, wird häufig mit der Anforderung konfrontiert, Open Source für die Entwicklung zu nutzen – und steht vor vielen Fragen. Beim Workshop “Open Source 101. Freie Software von und für Kulturschaffende“ des kulturBdigital Labs führte Nicolas Zimmer in das Thema ein. Damit setzte er seine Vortragsreihe zu Digitalisierungsthemen für die Berliner Kulturschaffenden im Rahmen unseres Projektes kulturBdigital fort. Die große Resonanz zeigte wieder den Bedarf an solchen Informationen.
Gleich eingangs räumte Zimmer mit einigen Vorurteilen und Irrtümern auf: „Frei“ bedeutet weder nur, dass man kostenfrei zugreifen kann, noch, dass man in jedem Fall offengelegte Software frei von Auflagen nutzen kann. Vielmehr geht es um die Freiheit, die mit dem Code verbundenen Möglichkeiten zu nutzen – durch Kooperation und Weiterentwicklung, deren faire Regeln eingehalten werden müssen.
Was ist Freie Software?
Viele, die noch nicht mit Freier Software gearbeitet haben, verorten diese Software im nicht-kommerziellen Bereich und verbinden mit dem Thema vor allem, dass der Einsatz dieser Software kostenfrei ist. Das sind gleich zwei große Irrtümer.
Bei Open Source-Projekten ist der Quellcode frei, aber nicht zwangsläufig die gesamte weitere Entwicklung. Entsprechend ist Open Source auch da beteiligt, wo mit Software viel Geld verdient wird. Apple-Technologie baut auf Linux auf. Auch Microsoft nutzt Linux für sein Cloud-Angebot. Denn: Das Adjektiv „free“/“frei“ leitet sich von „Freedom“/“Freiheit“ ab und meint die Möglichkeit, Software, die unter offener Lizenz steht, zu nutzen und weiterzuentwickeln.
Die vier Grundfreiheiten von Open Source
- ausführen
- analysieren
- anpassen
- weitergeben
Der freie Umgang mit Open Source befreit nicht von der Beachtung wichtiger Rahmenbedingungen. Auch im Umgang mit Open Source-Software sind gesetzliche Bestimmungen zu beachten – in Deutschland mit seinem traditionell sehr starken Urheberrecht ist das sogar noch etwas komplizierter als im angelsächsischen Raum. Deshalb muss man die offenen Lizenzen unbedingt beachten, die die weiteren Rechte und Einschränkungen im Umgang mit der Software genau beschreiben.
Entwickler*innen, die ihre Software offen stellen, können mit ihren Lizenzen genau festlegen, was bei der Weiternutzung zu beachten ist: Das geht vom Ausschluss jeder kommerziellen Nutzung bis zur Erlaubnis, die Software zu verändern und ohne Namensnennung weiterzugeben.
Wer auf offene Software zurückgreift, muss also unbedingt vorab klären, wofür er freie Software nutzen will, ob die Weiterentwicklung für ein eigenes Produkt erlaubt ist und wie unter welche Lizenz er die Weiterentwicklung stellen will.
Auch mit den Software-Entwickler*innen im eigenen Haus sollte man eventuelle Ansprüche auf das neu entstehende Produkt klären, wenn auch die meisten Weiterentwicklungen vermutlich hinsichtlich der Schöpfungshöhe unter den juristischen Begriff der „kleinen Münze“ fallen dürften.
Wie unterscheidet sich der Umgang mit Freier Software von dem mit lizensierter Software?
Der Umgang mit Freier Software orientiert sich daran, unter welchen Rahmenbedingungen die Software angeboten wird.
Open Source-Geschäftsmodelle
- Bereitstellung ohne Gewährleistung und Service
- Bereitstellung mit Updates und Service
- Bereitstellung einer Grundvariante mit Premium-Option
Die Wahrscheinlichkeit, dass viel genutzte Freie Software sicher ist, ist relativ hoch, da viele Nutzer*innen ein Auge auf den Code haben und diesen pflegen. Auszuschließen ist aber auch hier nicht, dass es zu Problemen kommt.
Auf Plattformen wie GitHub oder npm werden Codes offengelegt und zur Weiterentwicklung freigegeben. Gleichzeitig ausgeführte Weiterentwicklungen sind bei den vielen Nutzer*innen (GitHub hat zurzeit rund 50 Millionen Nutzer*innen) nicht auszuschließen und können den Arbeitsprozess chaotisieren. Auch die unterschiedlichen Programmiersprachen, vom bereits seit vielen Jahren genutzten PHP bis zum JavaScript mit seiner Einsatzmöglichkeit für fast jede Art von Applikation (Server, Browser, App, Desktop) sind jeweils für bestimmte Nutzungen ausgelegt.
Die gängigen Programmiersprachen
- PHP
- Phython
- JavaScript
Wer angesichts dieses vielfältigen und oft auch unübersichtlichen Angebots nach Unterstützung für ein JavaScript-Projekt sucht, ist mit dem Paketmanagementsystem npm gut bedient, muss aber immer bedenken, dass die Integration fremden Codes in die eigene Entwicklung zu Abhängigkeiten führt und Sicherheitslücken provoziert.
Die Nutzung von Freier Software ist also nicht unbedingt kostengünstiger oder bequemer als der Kauf einer Softwarelizenz für geschützte Markenentwicklungen. Die großen Möglichkeiten der Weiterentwicklung durch die vielen Coder*innen allerdings sind faszinierend.