Softwarearchitektur und Open-Source-Lizenzrecht in Einklang bringen Dipl.-Inf. Univ. Ralf S. Engelschall msg Applied Technology Research msg systems ag
Mein persönliches Umfeld Beruflich (seit 1991): Kommerzielle Software-Entwicklung Individual- Software Projekte Standard- Software Produkte Software-Architekten Ausbildung Privat (seit 1993): Free / Open Source Software-Entwicklung Founder & Co-Founder: Apache, mod_ssl, OpenSSL, OpenPKG,... Contributor: FreeBSD, GNU, jquery, Monotone,...
Sneak Preview Software-Architektur Lizenzrecht
Agenda Herausforderung Lösungsansatz Lösung Zusammenfassung
Agenda Herausforderung Lösungsansatz Lösung Zusammenfassung
Hoher Nutzen durch Open Source Umfangreiche Funktionalität aufgrund vieler Jahre Entwicklung und vielen unterschiedlichen Anwendungsfällen. Hohe Qualität aufgrund weltweitem Einsatz und kontinuierlichem Feedback. Sofortige Verfügbarkeit aufgrund direktem Download. Kostenlose Nutzung aufgrund Open-Source Lizensierung.
Fluch & Segen Build-Werkzeuge Mächtige Build-Werkzeuge: Ant+Ivy, Maven, Gradle, SBT, etc. Gefährliches Feature: Automatisches transitives Auflösen von allen Abhängigkeiten
Aufwändige Qualitätssicherung Lizenz-Inkompatibilität Großes Risiko geht von der potentiell inkompatiblen Individual-Lizensierung der zahlreichen verbauten Software-Komponenten aus. Hoher Kostenfaktor Einzelfallüberprüfung der Verbauung der Software- Komponenten durch Fachanwälte ist extrem teuer und meist unwirtschaftlich. Spezialisten-Problem Software-Architekten verstehen die Verbauung, sind aber nicht "Lizenzenaffin", Juristen verstehen Lizenzen, können aber konkrete Verbauung schwer nachvollziehen.
Optimierung der Qualitätssicherung Line-Manager Projekt/Produkt- Manager Interner Fachanwalt Software-Architekt Externer Fachanwalt Open Source Experte
Agenda Herausforderung Lösungsansatz Lösung Zusammenfassung
Nutzugsarten sind entscheidend! steht unter Komponente entscheiden über OK für Lizenz Nutzungsarten erlaubt und/oder verneint
Strukturelle Erfassung & Werkzeug Software-Komponenten Berechnung Open-Source Lizenzen Komponenten Nutzungsarten Hersteller-Kontext- Information Strukurelle Erfassung Strukturierte Datenbasis Reporting Auswertungen
Meta-Modellierung
Nutzungsarten & Bedingungen Use Types: format: source format: binary dependency: optional dependency: mandatory delivery: internal delivery: distributed usage: local-call usage: remote-call communication: process communication: system bundling: standalone bundling: embedded artifact: pristine artifact: modified Conditions: NO-LIABILITY KEEP-COPYRIGHT PROVIDE-LICENSE PROVIDE-SOURCE ADV-CLAUSE RENAME NO-RELICENSE CTX-NON-MIL CTX-NON-COM COPYLEFT-STRONG COPYLEFT-WEAK NON-OSS-DEF OTHER
Agenda Herausforderung Lösungsansatz Lösung Zusammenfassung
Werkzeug-Unterstützung
Lizenz-Modellierung License = Use-Types x Conditions Strukturierte Modellierung aller Open Source Lizenzen mit Hilfe einer Adjazenzmatrix aus Nutzungsarten und Bedingungen.
Produkt-Modellierung Components: Strukturierte Erfassung aller Software- Komponenten; pro Versions- Bereich Angabe der Lizenz mit Lizenz-Version Lizenz ist versionsabhängig! Dual Licensing!
Produkt-Mod. & Auswertung Produkts: Strukturierte Erfassung aller Software- Produkte; Erfassung aller Software- Komponenten durch Angabe der Komponenten-Version und der konkreten Nutzungsarten DEFCON: Automatische Berechnung der Compliance- Einschätzung pro Komponente!
Öffentliche Informationen Automatische Generierung von öffentlich einsehbaren Informationen, basierend auf der gemeinsamen Datenbasis. http://www.msg-gillardon.de/open-source/
Agenda Herausforderung Lösungsansatz Lösung Zusammenfassung
Erkenntnisse Nutzen Einsatz von Open Source Software bietet großen wirtschaftlichen Nutzen. Lizenz-Inkompatibilität Größte Risiko geht von potentiell inkompatiblen Individual-Lizensierung der verbauten Software- Komponenten aus. Kostenfaktor Einzelfallüberprüfung der Verbauung der Software- Komponenten durch Fachanwälte ist extrem teuer und meist unwirtschaftlich. Reduktion Risiko & Kosten Entwickelte Ansatz reduziert Problematik auf ein kalkulierbares Risiko und geringere Gesamtkosten. Pareto 80/20 80% der Überprüfungen werden durch einmalig hinterlegtes Know-How der Fachanwälte erschlagen. 20% der verbauten Software-Komponenten müssen durch Einzelfallüberprüfung betrachten werden. Proaktiv/Reaktiv Ansatz kann proaktiv (Entwicklung) und reaktiv (Wartung) von Architekten und Juristen genutzt werden.
1. Ziel: Qualitätssicherungsprozess-Optimierung 2. Ansatz: Strukturelle Erfassung & Auswertung 4. Vorgehen: Werkzeug-Unterstützung 3. Vorgehen: Meta-Modellierung
Credo Modellierung: Software-Architektur und Open-Source-Lizenzrecht kann bei der Software- Entwicklung in nachvollziehbarer Weise in Einklang gebracht werden, indem die beteiligten Rollen und Artefakte über ein Meta- Modell und eine darauf basierende strukturierte Datenbasis synchronisiert werden. Operationalisierung: Eine deutliche Kostenreduktion des Qualitätssicherungsprozesses kann dadurch erreicht werden, dass die zentrale Datenbasis wiederverwendet wird und zeitnahe Auswertungen über ein einfaches Zielgruppenorientiertes Werkzeug unterstützt werden.
Mehr zum Thema... Ralf S. Engelschall Principal IT Consultant msg Applied Technology Research msg systems ag Email: ralf.engelschall@msg-systems.com Twitter: @engelschall OBJEKTspektrum 2012/3 SE 2012 Tagungsband www.msg-systems.com
Softwarearchitektur und Open-Source-Lizenzrecht in Einklang bringen Vielen Dank für Ihre Aufmerksamkeit!