054.3 Lektion 1
Zertifikat: |
Open Source Essentials |
---|---|
Version: |
1.0 |
Thema: |
054 Open-Source-Geschäftsmodelle |
Lernziel: |
054.3 Compliance und Risikominderung |
Lektion: |
1 von 1 |
Einführung
Eine bekannte Redensart in der Open-Source-Welt lautet: “Freie Software gibt es nicht umsonst.” Während freie und Open Source Software für Innovation und Kreativität steht, müssen Benutzer und Entwickler eine Reihe von Regeln einhalten. Diese Lektion behandelt die Einhaltung von Regeln, also die Compliance, im Umgang mit Open Source Software sowie Risiken und deren Vermeidung.
Hier geht es um grundlegende Maßnahmen, die Entwickler zur Einhaltung von Lizenzbestimmungen ergreifen müssen, um Risiken beim Einsatz von Open Source Software sowie um Wege, die von einer Organisation verwendete Software zurückzuverfolgen und zu katalogisieren. Wir werden uns ansehen, wie diese Aufgaben in Richtlinien gefasst und von einem Open Source Program Office (OSPO) gefördert werden.
Voraussetzungen für die Freigabe von Software, die auf Open-Source-Komponenten basiert
Wenn eine Organisation Software intern einsetzt, stellen die Lizenzen für freie und Open Source Software keine Anforderungen. Die Organisation könnte ihre eigenen Regeln festlegen, um Schwachstellen zu vermeiden, um sicherzustellen, dass alle dieselben Komponenten verwenden, oder zu anderen Zwecken. Aber dies ist nicht Thema dieser Lektion. Alle Anforderungen, die die Open-Source-Lizenzen oder die Organisation selbst an die Verwendung der Software stellen, sollten dokumentiert werden, und die Organisation sollte Schulungen zu ihren Richtlinien anbieten.
Selbst wenn die Organisation Software auf ihrem Webserver betreibt und Dienste anbietet, mit denen Personen außerhalb der Organisation interagieren, stellen die meisten Lizenzen für freie und Open Source Software keine besonderen Anforderungen. Die GNU Affero General Public License verlangt jedoch auch für Software, die als Dienst läuft, die Einhaltung des Copyleft-Prinzips.
Die rechtlichen Anforderungen der wichtigsten Lizenzen für freie und Open Source Software wurden bereits in anderen Lektionen behandelt, so dass dieser Abschnitt lediglich eine Liste von Maßnahmen beschreibt, die Entwickler und Manager ergreifen sollten, um diese einzuhalten:
- Open-Source-Komponenten prüfen
-
Ein Unternehmen benötigt klare Richtlinien und Informationen darüber, welche Open Source Software eingesetzt und wo sie in die Produkte integriert werden soll. Solche Richtlinien umfassen die Einhaltung von (Lizenz-)Vorschriften sowie andere Aspekte wie die Gewährleistung der Sicherheit oder das Engagement in der Community, die die Software entwickelt.
- Ursprüngliche Lizenz im Code belassen
-
Entwickler dürfen die Lizenz nicht aus der von ihnen verwendeten Komponente entfernen. Die Aufnahme der Lizenz in den Quellcode ist in der Regel von der Lizenz gefordert. Das Entfernen der Lizenz könnte sogar als Plagiat angesehen werden, da der Entwickler den Anschein erweckt, er habe den Code selbst geschrieben. Das Entfernen der Lizenz könnte auch später zu ernsthaften Problemen führen, da das Unternehmen die Lizenz verletzt, wenn es den Code in seine Produkte aufnimmt.
- Überblick über die Lizenzen behalten
-
Die Organisation muss einen Katalog pflegen, aus dem die Lizenz jeder von der Organisation verwendeten Datei oder jedes Pakets hervorgeht, um sicherzustellen, dass sie die Lizenzen einhält.
- Autoren nennen
-
Fast alle Lizenzen verlangen, dass der Urheberrechtsinhaber (oft als “Autor” bezeichnet) genannt wird, wenn die Software besprochen und beworben wird. Jede Lizenz erklärt, was in diesem Hinweis enthalten sein muss. In der Regel wird ein Standard-Copyrighthinweis mit dem Jahr und dem Namen des Urheberrechtsinhabers verlangt. Dieser Hinweis sollte in jeder Dokumentation erscheinen, die sich auf das Produkt bezieht, das die Komponente verwendet, einschließlich Werbung und der Website für das Gerät oder Programm.
- Keine Billigung implizieren
-
Einige BSD-Lizenzen verlangen, dass die Person, die ein Produkt mit den Komponenten vertreibt, sicherstellt, dass sie nicht den Eindruck erweckt, der Urheberrechtsinhaber unterstütze das Produkt. Selbst wenn dies nicht explizit gefordert ist, sollte es aus ethischen Gründen befolgt werden.
- Quellcode für Software unter Copyleft-Lizenzen bereitstellen
-
Wenn eine Organisation eine Binärdatei mit Copyleft-Komponenten vertreibt, sei es als Softwaredistribution oder auf einem Gerät, muss die Organisation der Öffentlichkeit den Quellcode dieser Komponenten bereitstellen. Wenn die Organisation den Code ändert und das abgeleitete Werk in Binärform weitervertreibt, ist der Quellcode der veränderten (abgeleiteten) Version ebenfalls der Öffentlichkeit zur Verfügung zu stellen. Die Bereitstellung kann auf allen Wegen erfolgen, die der Öffentlichkeit den Zugang erleichtern, etwa durch Veröffentlichung des Codes auf einer Website, einer DVD oder einem USB-Stick.
- Keine Copyleft-Komponenten in proprietäre Produkte einbinden
-
Wenn die Organisation Copyleft-Komponenten in ein Produkt einbindet, muss sie unter bestimmten Umständen das gesamte Produkt unter derselben Copyleft-Lizenz freigeben. Die Bedingungen, die diese Anforderung auslösen, variieren von Lizenz zu Lizenz. Es ist jedoch manchmal nicht eindeutig, welche Art der Verwendung die Copyleft-Anforderung auslöst. Mit Ausnahme von eindeutigen Situationen wie der Verwendung einer Open-Source-Bibliothek (die nicht die Reziprozität des Copyleft auslösen sollte), sollten Entwickler also sehr vorsichtig beim Einsatz von Copyleft-Komponenten sein, es sei denn, die Organisation ist bereit, ihr Produkt unter derselben Lizenz freizugeben.
- Code-Änderungen dokumentieren
-
Wenn Sie veränderte Code-Versionen weitergeben, geben Sie die von der Organisation vorgenommenen Änderungen deutlich an.
- Patentrechte gewähren
-
Einige Lizenzen für freie oder Open Source Software fordern die Gewährung von Patentnutzung für die Software. Wenn also eine Organisation Code unter einer solchen Lizenz freigibt und ein Patent auf einen Prozess im Code besitzt, kann die Organisation von niemandem, der den Code verwendet oder anpasst, eine Gebühr verlangen oder anderweitig Kontrolle auf der Grundlage ihres Patents ausüben.
- Markenzeichen respektieren
-
Einige Open Source Software ist durch Markenzeichen geschützt. Markenzeichen können sich auf Wörter und Phrasen, Logos und andere Bilder und viele andere Dinge beziehen. Einerseits muss eine Organisation das Markenzeichen für jede Software, die sie nutzt, richtig handhaben: Eine häufige Verletzung ist die Parodie, Veränderung oder einfache Darstellung eines Markenzeichens ohne Erlaubnis. Andererseits muss die Organisation, wenn sie das Markenzeichen verwenden möchte, die Anforderungen des Markenzeicheninhabers erfüllen, was Änderungen an der Software ausschließen kann.
Risiken von Open Source Software
In dieser Lektion geht es um die Einhaltung von Vorschriften, daher werden wir uns auf die Risiken in diesem Bereich konzentrieren, aber auch einige andere Themen ansprechen.
Lizenzverstöße
Lizenzen für freie und Open Source Software müssen genauso ernst genommen werden wie andere Lizenzen und Verträge. Organisationen setzen sie durch, wie zum Beispiel die Software Freedom Conservancy, die im Namen kleiner Copyleft-Projekte handelt, die keine eigenen Prozesse zur Durchsetzung haben.
Für diese Organisationen sind gerichtliche Auseinandersetzungen in der Regel das letzte Mittel. Die meisten Verstöße sind unbeabsichtigt und lassen sich durch Aufklärung leicht beheben. Dennoch schadet es dem Ruf einer Organisation, wenn sie in Unkenntnis und unsensibel gegenüber der Community handelt, von deren Software sie abhängig ist.
Tatsächlich wurden schon Klagen eingereicht, wenn ein Benutzer der Software die Zusammenarbeit verweigert und die Software oder der Beklagte namhaft sind.
Selbst wenn ein Unternehmen nicht verklagt wird, kann der Schaden beträchtlich sein, den ein Lizenzverstoß für die Beziehung zur Community und den Ruf des Unternehmens bedeutet. Ein Projekt kann schon daran scheitern, dass Fragen von Entwicklern in den Foren, die der Software gewidmet sind, unbeantwortet bleiben.
Es kann verheerend sein, wenn jemand Copyleft-Software in einem proprietären Produkt findet. Um die Lizenz einzuhalten, müssen die Entwickler entweder den gesamten Copyleft-Code entfernen oder ihr Produkt unter der Copyleft-Lizenz freigeben. Die Freigabe der Software und die Bereitstellung des Quellcodes könnte fatale Auswirkungen auf Geschäftsmodelle haben, die auf Lizenzgebühren oder anderen Arten der Monopolisierung des Produkts basieren.
Vertrauen und Reputation
Wir haben gesehen, dass Lizenzverstöße großen Schaden anrichten können. Auch andere Verhaltensweisen, die das Vertrauen und den Ruf schädigen, bergen Risiken.
Manche Organisationen veröffentlichen Software unter einer freien oder Open-Source-Lizenz und kündigen dann irgendwann an, dass künftige Versionen unter einer proprietären Lizenz stehen werden. Dieser Wechsel kann verlockend sein, da viele Open-Source-Projekte nicht genügend finanzielle Unterstützung von Kunden erhalten.
Solche Lizenzänderungen sorgen jedoch sowohl bei Kunden als auch bei externen Entwicklern, die an dem Projekt mitarbeiten, für Unmut. Manchmal übernehmen externe Entwickler die freie Version und entwickeln sie unabhängig weiter, was als Forking bezeichnet wird. Die freie Version konkurriert dann mit der proprietären Version des Unternehmens und könnte Kunden abwerben.
Das Engagement in Projektforen birgt ebenfalls Risiken. Ein Unternehmen muss den dort angemessenen Auftritt lernen. Zu den häufigsten Problemen gehören:
-
Der Versuch, finanzielle Beiträge oder den Code des Unternehmens als Druckmittel einzusetzen, um das Projekt in eine Richtung zu drängen, die andere Entwickler nicht wollen.
-
Zu hoher Druck auf die Community, beispielsweise durch zu viele Feature Requests oder zu viele Fragen.
-
Unhöfliches Verhalten und Verstöße gegen den Verhaltenskodex des Projekts.
-
Der Versuch, den Auftritt des Projekts zu dominieren oder auf andere unangemessene Weise Nutzen aus dem Erfolg des Projekts zu ziehen.
Unrentable Investitionen
Geschäftsmodelle werden in einer anderen Lektion behandelt; dieser Abschnitt weist lediglich auf finanzielle Risiken bei der Beteiligung an Open-Source-Projekten hin.
Unternehmen starten oder beteiligen sich an Open-Source-Projekten in der Erwartung, durch Support-Verträge, SaaS-Verträge, Datenerfassung oder sogar Spenden und Zuschüsse Einnahmen zu erzielen. Allerdings sind Open-Source-Projekte häufig weniger lukrativ als erhofft. Natürlich geht jedes Unternehmen mit einem neuen Projekt ein Risiko ein, aber im Open-Source-Umfeld sind zuverlässige Einnahmequellen besonders schwierig zu finden.
Open Source scheint am nachhaltigsten, wenn es andere Ertragsmodelle unterstützt, beipsielsweise den Verkauf von Hardware, Autos, Druckern usw.
Forks
Wie bereits beschrieben, sind die Mitglieder eines Projekts manchmal uneins über den Projektplan, die Leitung oder andere Aspekte und einige gründen ein alternatives Projekt auf derselben Codebasis. Ein solcher Fork kann auch von einer Organisation ausgehen, um eine spezialisierte Version der Software zu erstellen. Android nutzt beispielsweise eine spezialisierte Version von Linux, die von Google verwaltet wird. (Google leistet auch viele Beiträge zur Kernversion von Linux, die nicht immer übernommen werden.)
Organisationen können aus verschiedenen Gründen einen Fork erstellen: Die von ihnen an das Kernprojekt übermittelten Änderungen werden abgelehnt, weil andere Entwickler sie nicht wollen; bei einem Projekt unter einer permissiven Lizenz oder einem Projekt, das nur innerhalb der Organisation verwendet wird, sollen Änderungen geheim bleiben.
Das Risiko eines Forks besteht darin, dass die Entwickler des abgespaltenen Projekts nun für die Wartung des gesamten Produkts verantwortlich sind. Wenn zum Kernprojekt wichtige Bugfixes oder neue Funktionen hinzugefügt werden, müssen die Entwickler des Forks diese Änderungen duplizieren oder darauf verzichten. Je mehr Zeit vergeht und je weiter sich die Projekte voneinander entfernen, desto schwieriger wird es, mit den Änderungen des Kernprojekts Schritt zu halten.
Inkompatible Lizenzen
Wie bereits erläutert, enthalten einige Lizenzen für freie und Open Source Software inkompatible Klauseln, so dass solche Komponenten nicht zusammen in einem Produkt verwendet werden können.
Dieses Problem tritt häufig bei Fusionen oder Übernahmen auf: Jedes Unternehmen hat möglicherweise Software mit einer bestimmten Lizenz verwendet, und um den Code in ihren Projekten zu kombinieren, müssen sie sicherstellen, dass die Lizenzen kompatibel sind.
Produkthaftung
Viele Open-Source-Softwarelizenzen (wie auch die Nutzungsbedingungen für viele proprietäre Software und Dienste) schließen ausdrücklich jegliche Haftung für die Nutzung der Software aus, oder anders ausgedrückt: Die Lizenz oder die Nutzungsbedingungen bieten keine Garantie oder Gewährleistung.
Softwarehersteller werden für Probleme mit ihrer Software selten zur Verantwortung gezogen, dennoch klagen Kunden gelegentlich. Gerichte müssen Klauseln zum Ausschluss von Gewährleistung nicht in jedem Fall anerkennen.
Gesetze und Vorschriften erlegen den Entwicklern von Software immer mehr Verantwortung auf. Diese rechtlichen Beschränkungen — oder zumindest Vorschläge für Beschränkungen — sind derzeit vor allem im Bereich der künstlichen Intelligenz (KI) zu beobachten, sind aber manchmal auch weiter gefasst.
Ausfuhrbestimmungen
Viele Länder schränken die Ausfuhr von Waren und Software ein. Bei Software gelten solche Vorschriften vor allem für Sicherheitsprodukte und insbesondere für die Verwendung von Kryptografie. In den Vereinigten Staaten gab es früher strenge Kontrollen für Software, die Kryptografie enthielt, aber die Bestimmungen wurden für Open-Source-Projekte gelockert.
Unternehmen sollten die Ausfuhrbestimmungen des Landes, in dem sie Software entwickeln, kennen; diese Bestimmungen können den Vertrieb ihrer Produkte betreffen.
Software Bill of Materials: Wissen, was man benutzt
Viele Produkte werden mit einer Bill of Materials, also einer Art “Stückliste” ausgeliefert, die alle Komponenten auflistet. Wenn Sie beispielsweise ein Regal kaufen, liegt diesem ein Blatt bei, auf dem alle Teile bis hin zu den Schrauben und Muttern aufgeführt sind. Die Liste kann auch nützliche Informationen wie die Abmessungen eines Teils und dessen Produktnummer enthalten, damit Sie es bei Bedarf bestellen können.
Open-Source-Projekte enthalten inzwischen eine Software Bill of Materials (SBOM, ausgesprochen “Es-Bom”). Eine SBOM listet zumindest Pakete, Dateinamen, Lizenzen, Autoren oder Eigentümer und Versionsnummern auf. Viele SBOMs gehen noch weiter und enthalten Informationen über Sicherheitslücken.
Projekte generieren mit Hilfe automatisierter Werkzeuge eine SBOM für jedes Release. Benutzer können die SBOM nach den gewünschten Informationen scannen. Die Extraktion von Lizenzen hilft einem Unternehmen beispielsweise, schnell zu entscheiden, ob die Komponenten mit dem eigenen Code kompatibel sind und ob es rechtlich zulässig ist, die Komponenten mit dem eigenen Code zu verwenden.
In ähnlicher Weise hilft das Extrahieren von Versionsinformationen zu jedem Paket einem Unternehmen herauszufinden, ob Teile seines Produkts von verschiedenen Versionen einer bestimmten Bibliothek abhängen. Die Verwendung von zwei Bibliotheksversionen führt zumindest zu einer Aufblähung des Codes, kann aber auch zu Verwirrung und Fehlern führen, wenn eine Komponente mit der falschen Version gebaut wird.
Standards für SBOMs
Da in IT-Umgebungen enorme Mengen (manchmal Zehntausende) von Komponenten verwendet und häufig geändert werden, müssen SBOMs extrem gut strukturiert sein, um Informationen automatisiert und schnell auslesen zu können. Hier geht es um zwei der beliebtesten Formate in der Open-Source-Welt:
- Software Package Data Exchange (SPDX)
-
Das Format stellt jedes Paket und den gesamten Inhalt des Pakets in einer Baumstruktur dar. Das Format dokumentiert Abhängigkeiten zwischen Dateien und andere Beziehungen. Es können Zeiger auf Informationen, sogenannte “Snippets”, erstellt und dann im gesamten Dokument verwendet werden, so dass Informationen nur an einer Stelle definiert werden müssen. Dieses Format wurde von der Linux Foundation entwickelt.
- CycloneDX
-
Dies ist ein größeres Format mit detaillierteren Feldern, insbesondere für Informationen über Sicherheitslücken. Das Format wurde vom Open Worldwide Application Security Project (OWASP) entwickelt und ist beim Militär und anderen Organisationen mit hohen Sicherheitsanforderungen beliebt. Ein Eintrag für eine Datei könnte beispielsweise den Namen einer Sicherheitslücke, die Quelle der Informationen über die Sicherheitslücke, betroffene Ziele usw. enthalten. Dieses Format ist auch für Cloud Deployments gedacht, die Tausende verschiedener Systeme umfassen können.
Sowohl SPDX als auch CycloneDX erstellen hierarchische Strukturen in verschiedenen Formaten, darunter JSON und XML. Für jeden Standard gibt es zahlreiche Tools, sowohl zur Erstellung der Formate als auch zum Scannen der erstellten Dateien nach Informationen. Beliebte Websites zur Versionskontrolle ermöglichen es Entwicklern, mit einem Mausklick eine SBOM in einem dieser Formate zu erstellen.
Software Composition Analysis
Um die von einer Organisation eingesetzte Software bewerten zu können, benötigt man Informationen, woher sie stammt, welche Schwachstellen sie enthält, welche Lizenzen sie verwendet und andere Details. Diese Aufgabe wird als Software Composition Analysis (SCA) bezeichnet, und es gibt zahlreiche Tools, die anspruchsvolle Scans von SBOMs und der Software selbst durchführen.
Einige Tools extrahieren Lizenzinformationen, mit deren Hilfe ein Unternehmen entscheiden kann, ob die Software sicher in ein Produkt integriert werden kann und ob verschiedene Komponenten kompatible Lizenzen haben. Einige Tools vergleichen sogar Codeschnipsel mit Bibliotheken gängiger Open-Source-Projekte, um herauszufinden, ob Code aus den Open-Source-Projekten ohne korrekte Namensnennung übernommen wurde.
Der Einsatz dieser Tools ist vor allem bei Fusionen oder Übernahmen von entscheidender Bedeutung: Das übernehmende Unternehmen könnte feststellen, dass die Software, die es erwerben möchte, weniger wertvoll ist als erwartet, weil sie Open-Source-Komponenten enthält, die Anforderungen stellen, die die beabsichtigte Verwendung im neuen Unternehmen beeinträchtigen.
Formale Richtlinien und Compliance
Die hier beschriebenen Prozesse und Techniken sollten von Managern mit Hilfe von Entwicklern, Anwälten und anderen Experten gestaltet werden. Es geht um Grundsatzentscheidungen, die Organisationen hinsichtlich Open Source Software treffen müssen. Abschließend beschreiben wir daher die Rolle eines Open Source Program Office (OSPO), das als Unterstützer und Informationsquelle für entsprechende Richtlinien dienen kann.
Grundsätze für Nutzung von und Beiträge zu Open Source Software
Organisationen können von Open Source Software und der Mitwirkung daran profitieren, müssen dabei aber ihre eigenen Interessen schützen und gleichzeitig Open-Source-Projekte unterstützen. Es sollte daher Richtlinien geben, die folgende Aspekte berücksichtigen:
-
Einsatzbereiche der Open Source Software (Betrieb, interne Projekte, Produkte für Kunden usw.)
-
Vorteile des Open-Source-Projekts für die Organisation (Funktionen, Leistung, Sicherheit, zukünftige Erweiterungen und Dynamik in der Community).
-
Scans für die SCA und Ablage der entsprechenden Dokumentation.
-
Belohnungen für Entwickler, die zur Open Source Software beitragen, einschließlich ihrer Teilnahme an öffentlichen Foren.
-
Leitlinien für die Beteiligung an Projekten, einschließlich der Frage, wie man das Unternehmen in der Öffentlichkeit vertritt.
-
Dokumentationsanforderungen, damit Entwickler außerhalb des Kernteams verstehen, wie sie einen Beitrag leisten und interagieren können.
Das OSPO koordiniert die Erstellung dieser Richtlinien und unterstützt bei der Einhaltung der Vorgaben.
Vereinbarungen für Mitwirkende
Open-Source-Projekte müssen sicherstellen, dass die Beiträge rechtmäßig sind, dass zum Beispiel der Code nicht von einem proprietären Produkt oder einem Open-Source-Projekt mit einer inkompatiblen Lizenz übernommen wurde. Viele Open-Source-Projekte verlangen von Entwicklern darum die Zustimmung zu einem Contributor License Agreement (CLA), also einer Lizenzvereinbarung, um die Legitimität ihres Beitrags sicherzustellen.
Entwickler in einem Unternehmen, die zu diesen Projekten beitragen, könnten die Anwälte des Unternehmens bitten, die CLA zu prüfen und zu genehmigen. Die Anwälte sollten daher die Bedeutung der Klauseln in CLAs verstehen und darauf vorbereitet sein, sie zu überprüfen.
Viele CLAs standen aufgrund ihrer Komplexität in der Kritik und weil sie Schlupflöcher ließen, die es Projekten erlaubten, beigetragenen Code anders als von den Beitragenden gewünscht zu nutzen.
Viele Projekte verlangen von Entwicklern anstelle eines CLA daher die Unterzeichnung eines kurzen Dokuments, das als Developer Certificate of Origin (DCO) bezeichnet wird. Es bescheinigt, dass der Entwickler das Recht hat, den Code beizusteuern. Das DCO wird in der Regel nicht einem Anwalt zur Prüfung vorgelegt.
Einige Projekte bitten die Mitwirkenden auch einfach darum, das Urheberrecht bzw. die Nutzungsrechte an ihrem Code in einem Copyright Assignment Agreement (CAA) auf das Projekt zu übertragen. Viele Mitwirkende lehnen diese Praxis jedoch ab, weil sie den Code dann nicht mehr in eigenen Projekten verwenden können und dies dem Projekt die Kontrolle überlässt.
Open Source Program Office (OSPO)
Open-Source-Projekte vereinen soziale, technische, rechtliche und organisatorische Aspekte. Derzeit ist das Bewusstsein für diese Faktoren in vielen Organisationen noch nicht so ausgeprägt, dass alle Manager, Entwickler, Anwälte usw. sie umfassend verstehen. Daher profitieren Organisationen sehr von der Einrichtung eines Open Source Program Office (OSPO) als zentrale Stelle für Interessenvertretung, Politikgestaltung, Durchsetzung von Richtlinien und Aufklärung.
Als eine Art Allzweckabteilung können OSPOs viele Aufgaben erfüllen, wie zum Beispiel:
- Förderung von Open Source
-
OSPOs können sowohl die Konzepte hinter der Open-Source-Bewegung als auch Vorschläge für den Einsatz von Open Source in ihrem Unternehmen fördern. Sie können Entwickler anhalten, nach Open-Source-Lösungen für technische Probleme zu suchen und sie ermutigen, entsprechende Software zu übernehmen. Sie können Manager dazu bewegen, Entwicklern Zeit für die Mitarbeit an Open-Source-Projekten zu geben und diese Mitarbeit bei Gehaltserhöhungen und Beförderungen zu berücksichtigen.
- Ausarbeitung von Richtlinien
-
OSPOs können Manager motivieren, Richtlinien zu erstellen und Repositories für ihre Arbeit einzurichten.
- Durchsetzung von Richtlinien
-
OSPOs können Entwickler daran erinnern, Software und SBOMs zu scannen und die Vorgaben des Unternehmens zur Nutzung von Open Source zu befolgen. OSPOs können die Dokumentation über die genutzte Software und deren Einsatz im Unternehmen verwalten.
- Bildung
-
OSPOs können Entwicklern darlegen, wie sie Open-Source-Projekte bewerten und sich daran beteiligen können; sie können Anwälten die Details von Lizenzen und anderen rechtlichen Betrachtungen erläutern und dem Unternehmen helfen, die organisatorischen und kulturellen Veränderungen zu verstehen, die den Einsatz von Open Source Software erleichtern.
Es gibt zahlreiche Dokumente und Online-Ressourcen zur Einrichtung eines OSPO. Kleine Organisationen können dafür auch Dritte beauftragen, die sich auf diesem Gebiet spezialisiert haben.
Geführte Übungen
-
Warum sollte ein Entwickler nicht einfach Code von einem Open-Source-Projekt übernehmen und in seinen eigenen Code integrieren, ohne die Lizenz zu berücksichtigen?
-
Welche Arten von Dokumenten würde ein Entwickler unterschreiben, wenn er einen Beitrag zu einem Open-Source-Projekt leistet?
-
Sie haben eine Open Source Software gefunden, die eine hervorragende Grundlage für Ihre Shop-Website wäre. Dürfen Sie Ihr Logo mit dem ursprünglichen Logo kombinieren, um Ihre Website auffälliger zu gestalten?
Offene Übungen
-
Welche Überlegungen könnten Sie dazu veranlassen, trotz aller Schwierigkeiten einen Fork eines Open-Source-Projekts zu erstellen?
-
Aus welchen Gründen könnten Sie eine Open-Source-Software ablehnen, obwoh Sie Ihren Bedürfnissen entspricht?
-
Sie möchten ein Copyleft-geschütztes Logging-Tool in Ihrem proprietären Produkt verwenden. Gibt es eine Möglichkeit, sie zu kombinieren, ohne dass Sie Ihr Produkt unter der Copyleft-Lizenz anbieten müssen?
Zusammenfassung
In dieser Lektion ging es um Überlegungen vor dem Einsatz von freier und Open Source Software. Es wurde erklärt, wie man sich an Lizenzen hält, welche rechtlichen, rufschädigenden und finanziellen Risiken bestehen und wie man wichtige Richtlinien festlegt und in der eigenen Organisation durchsetzt.
Antworten zu den geführten Übungen
-
Warum sollte ein Entwickler nicht einfach Code von einem Open-Source-Projekt übernehmen und in seinen eigenen Code integrieren, ohne die Lizenz zu berücksichtigen?
Dies ist in der Regel ein Verstoß gegen die Open-Source-Lizenz und stellt außerdem ein Plagiat und damit eine Urheberrechtsverletzung dar. Die Organisation kann gezwungen werden, die Lizenz einzuhalten, wobei die Folgen von Rufschädigung bis zur Zerstörung ihres Geschäftsmodells reichen können, wenn Copyleft-Code mit proprietärem Code vermischt wurde.
-
Welche Arten von Dokumenten würde ein Entwickler unterschreiben, wenn er einen Beitrag zu einem Open-Source-Projekt leistet?
Ein Contributor License Agreement (CLA) ist eine Vereinbarung, die der Open-Source-Organisation die Nutzungsrechte an dem Code einräumt. Ein Certificate of Origin ist ein kürzeres und einfacheres Dokument, das bestätigt, dass der Entwickler das Recht hat, den Code beizusteuern. Ein Copyright Assignment Agreement (CAA) überträgt alle Rechte an die empfangende Organisation.
-
Sie haben eine Open Source Software gefunden, die eine hervorragende Grundlage für Ihre Shop-Website wäre. Dürfen Sie Ihr Logo mit dem ursprünglichen Logo kombinieren, um Ihre Website auffälliger zu gestalten?
Wenn das Projekt sein Logo als Marke geschützt hat, würde die Veränderung wahrscheinlich gegen das Markenrecht verstoßen. Auch wenn das Logo nicht markenrechtlich geschützt ist, könnten Veränderung als respektlos und irreführend empfunden werden.
Antworten zu den offenen Übungen
-
Welche Überlegungen könnten Sie dazu veranlassen, trotz aller Schwierigkeiten einen Fork eines Open-Source-Projekts zu erstellen?
Wenn Sie mit dem aktuellen Stand des Codes zufrieden sind, müssen Sie vielleicht nicht mit den Änderungen am Kernprojekt Schritt halten. Möglicherweise möchten Sie ein Produkt entwickeln, das sich im Einsatzzweck wesentlich vom Kernprojekt unterscheiden wird, und sind daher bereit, sich vom Kernprojekt zu trennen. Der Code könnte in Ihrem Geschäftsplan so wertvoll sein, dass Ihr Team bereit ist, die vollständige Verantwortung für seine Entwicklung und Wartung zu übernehmen.
-
Aus welchen Gründen könnten Sie eine Open-Source-Software ablehnen, obwoh Sie Ihren Bedürfnissen entspricht?
Der Code könnte zu viele Fehler und Sicherheitslücken enthalten, die Entwicklergemeinschaft des Projekts könnte nicht gut funktionieren, die Richtung, in die sich der Code entwickelt, könnte Ihnen nicht gefallen, oder die Lizenz könnte nicht mit anderem Code in Ihrem Produkt kompatibel sein.
-
Sie möchten ein Copyleft-geschütztes Logging-Tool in Ihrem proprietären Produkt verwenden. Gibt es eine Möglichkeit, sie zu kombinieren, ohne dass Sie Ihr Produkt unter der Copyleft-Lizenz anbieten müssen?
Die Integration des Codes für das Tool in Ihren Code kann je nach Lizenz die Gegenseitigkeitsverpflichtung des Copyleft auslösen. Das Logging-Werkzeug muss von Ihrem Produkt getrennt werden, damit Ihr Produkt nicht als Derivat gilt. Es könnte zum Beispiel sicher sein, das Copyleft-Tool als separaten Prozess laufen zu lassen und mit ihm über Message Passing zu kommunizieren.