Einführung
Open-Source-Software ist das Fundament der modernen Softwareentwicklung geworden. Von Webframeworks und Datenbanken bis hin zu Betriebssystemen und Entwicklungstools treiben Open-Source-Komponenten die Mehrheit der Anwendungen an, die heute erstellt werden. Das Verständnis, wie Open Source-Software effektiv implementiert wird, während die zugehörigen Risiken verwaltet werden, ist für Entwicklungsteams und Organisationen unerlässlich.
Die Verwendung von Open-Source-Software führt jedoch wichtige Überlegungen ein, die Organisationen berücksichtigen müssen. Sicherheitsrisiken, Lizenzkonformität, rechtliche Verpflichtungen und Lieferkettenrisiken erfordern alle sorgfältige Aufmerksamkeit. Organisationen, die ihre Open Source-Abhängigkeiten nicht ordnungsgemäß verwalten, können Sicherheitsverletzungen, rechtliche Verbindlichkeiten, unerwartete Kosten und Betriebsunterbrechungen ausgesetzt sein.
Dieses Modul enthält umfassende Anleitungen zur Implementierung von Open Source-Software in Unternehmensumgebungen. Sie erfahren, wie moderne Software mit Open-Source-Komponenten erstellt wird, Unternehmensbedenken hinsichtlich Sicherheit und Lizenzierung verstehen, allgemeine Open-Source-Lizenzen und deren Auswirkungen erkunden und Strategien für die effektive Verwaltung von Open Source-Software entdecken.
Lerninhalt
Dieses Modul befasst sich mit wesentlichen Kenntnissen für die Arbeit mit Open-Source-Software in professionellen Umgebungen:
Grundlegendes zur modernen Softwareentwicklung: Sie erfahren, wie zeitgenössische Anwendungen erstellt werden, indem Sie originalen Code mit Open-Source-Bibliotheken, Frameworks und Tools kombinieren. Sie erfahren, warum Organisationen Open-Source-Komponenten auswählen und die Vorteile verstehen, die sie bieten, einschließlich schnellerer Entwicklung, bewährter Lösungen, Communitysupport und Kosteneinsparungen.
Unternehmensbedenken bezüglich Open-Source-Software: Sie untersuchen die Sicherheits-, Rechts- und Betriebsrisiken, die Organisationen bei der Verwendung von Open Source-Komponenten sehen. Dazu gehören Sicherheitsrisiken in Abhängigkeiten, Lizenzcomplianceanforderungen, Lieferkettenrisiken, nicht verwaltete oder verlassene Projekte und die Herausforderung, Tausende von Abhängigkeiten in mehreren Anwendungen zu verwalten.
Grundlagen der Open-Source-Lizenzen: Sie erfahren mehr über die verschiedenen Kategorien von Open-Source-Lizenzen, von permissiven Lizenzen wie MIT und Apache, die eine breite kommerzielle Nutzung ermöglichen, bis hin zu Copyleft-Lizenzen wie die GPL, die vorschreiben, dass abgeleitete Werke dieselbe Lizenz verwenden müssen. Wenn Sie die Lizenzmerkmale verstehen, können Sie fundierte Entscheidungen darüber treffen, welche Open-Source-Komponenten für Ihre Projekte geeignet sind.
Lizenzauswirkungen für kommerzielle Software: Sie erfahren, wie sich unterschiedliche Lizenzen auf die Entwicklung kommerzieller Software auswirken, einschließlich Einschränkungen für proprietäre Software, Anforderungen für die Offenlegung von Quellcode, Attributionsanforderungen und Lizenzkompatibilitätsbedenken. Dieses Wissen verhindert rechtliche Probleme, die sich auf die Fähigkeit Ihrer Organisation auswirken könnten, Software zu verkaufen oder zu verteilen.
Strategien für die Verwaltung von Open Source-Komponenten: Sie werden praktische Ansätze für die sichere und kompatible Implementierung von Open-Source-Software untersuchen, einschließlich der Aufrechterhaltung von Komponenteninventaren, der Überprüfung auf Sicherheitsrisiken, der Nachverfolgung von Lizenzverpflichtungen, der Einrichtung von Genehmigungsprozessen und der Verwendung automatisierter Tools zur kontinuierlichen Überwachung von Abhängigkeiten.
Lernziele
Nach Abschluss dieses Moduls haben Sie Folgendes gelernt:
- Verstehen Sie, wie moderne Software mit Open-Source-Komponenten erstellt wird und welche Vorteile sie für Entwicklungsgeschwindigkeit, Qualität und Innovation bieten.
- Erläutern Sie Unternehmensbedenken bezüglich Open-Source-Software, einschließlich Sicherheitsrisiken, Lizenzcompliance, Lieferkettenrisiken und den Herausforderungen beim Verwalten von Abhängigkeiten im großen Maßstab.
- Beschreiben sie allgemeine Open-Source-Lizenzen , einschließlich MIT, Apache 2.0, GPL, BSD und anderen Lizenzen, um ihre wichtigsten Merkmale, Berechtigungen und Einschränkungen zu verstehen.
- Bewerten Sie Lizenzauswirkungen für die kommerzielle Softwareentwicklung, um zu verstehen, welche Lizenzen mit proprietärer Software kompatibel sind und welche die Offenlegung von Quellcode erfordern.
- Implementieren Sie Strategien zum Verwalten von Open-Source-Komponenten , einschließlich Bestandsverwaltung, Sicherheitsrisikoüberprüfung, Lizenzcomplianceüberprüfung und Einrichten von Genehmigungsworkflows für neue Abhängigkeiten.
Voraussetzungen
Bevor Sie mit diesem Modul beginnen, sollten die folgenden Voraussetzungen erfüllt sein:
- Grundlegendes zur Softwareentwicklung: Grundlegende Kenntnisse darüber, wie Anwendungen erstellt werden, einschließlich der Verwendung von Bibliotheken, Frameworks und Abhängigkeiten.
- Vertrautheit mit DevOps-Konzepten: Grundlegendes zur kontinuierlichen Integration, kontinuierlichen Bereitstellung und zum Lebenszyklus der Softwareentwicklung.
- Versionskontrolle: Grundlegende Erfahrung mit Git oder anderen Versionssteuerungssystemen, bei denen abhängigkeitsverwaltung erfolgt.
- Bewusstsein für Softwarelizenzierung: Allgemeines Verständnis, dass Software rechtliche Bedingungen für die Verwendung hat, auch wenn Sie keine spezifischen Lizenzen im Detail studiert haben.
Erfahrung bei der Arbeit in einer Organisation, die Software bereitstellt, ist von Vorteil, aber nicht erforderlich. Dieses Modul bietet das grundlegende Wissen, das für die professionelle Arbeit mit Open-Source-Software erforderlich ist.