Erkunden gängiger Open-Source-Lizenzen

Abgeschlossen

In den aktuellen und vorherigen Lerneinheiten haben wir aus der Perspektive von Paketen über Softwarekomponenten gesprochen.

Pakete sind die formalisierten Methoden zum Verteilen von Softwarekomponenten.

Die Lizenzierungstypen und Bedenken hinsichtlich Sicherheitsrisiken gelten auch für die Pakete, da diese die Komponenten enthalten.

Lizenztypen

Es werden mehrere Lizenzen mit Open Source verwendet, und sie unterscheiden sich.

Das Lizenzspektrum ist ein Diagramm, das Lizenzen aus Sicht des Entwicklers und die Implikationen der Verwendung für Downstreamanforderungen zeigt, die der Gesamtlösung und dem Quellcode auferlegt werden.

Screenshot des Lizenzspektrums.

Auf der linken Seite befinden sich die „Attribution“-Lizenzen (Zuschreibung). Sie sind freizügig und lassen praktisch jede Art von Verwendung durch die Software zu, die sie nutzt. Ein Beispiel hierfür ist das Erstellen von handelsüblicher Software, einschließlich der Komponenten oder des Quellcodes unter dieser Lizenz.

Die einzige Einschränkung besteht darin, dass die ursprüngliche Zuschreibung zu den Autoren im Quellcode oder als Bestandteil der Downstreamverwendung der neuen Software enthalten bleibt. Auf der rechten Seite des Spektrums finden sich die „Copyleft“-Lizenzen.

Diese Lizenzen gelten als viral („lebenswichtig“), da die Verwendung des Quellcodes und seiner Komponenten sowie die Verteilung der gesamten Software impliziert, dass der gesamte Quellcode, der ihn verwendet, derselben Lizenzform folgen muss.

Die virale Natur besteht darin, dass Sie durch die Verwendung der Software, die diesem Lizenztyp unterliegt, gezwungen werden, dieselbe Lizenz für alle Arbeiten mit oder an der ursprünglichen Software mit diesen weiterzuleiten.

In der Mitte des Spektrums befinden sich die „Downstream“- oder „Weak Copyleft“-Lizenzen. Sie verlangen auch, dass dies ebenfalls unter denselben Lizenzbedingungen erfolgen muss, wenn der abgedeckte Code verteilt wird.

Im Gegensatz zu den Copyleft-Lizenzen wird die Geltung nicht auf Verbesserungen oder Ergänzungen des abgedeckten Codes erweitert.