Buch lesen: «Praxishandbuch Open Source», Seite 5

Schriftart:

2. Was FOSS eigentlich ist

63

 – Das Verständnis von wesentlichen Begrifflichkeiten ist für die Prüfung von FOSS Anwendungsfällen und die Einordnung in den Praxiskontext essenziell.

 – FOSS kann als neutraler Begriff verwendet werden, der sowohl Freie Software als auch Open Source Software, die sich hauptsächlich in den dahinterstehenden Idealen unterscheiden, umfasst.

 – Die wesentlichen Merkmale von FOSS sind, dass die Software von jedermann frei und ohne Zahlung von Lizenzgebühren verwendet werden kann, der Source Code der Software zugänglich ist und der Nutzer die Software selbst verändern und an Dritte weitergeben darf.

 – Freeware, Shareware und auch Public Domain Software sind keine FOSS im klassischen Sinne; letztere kann jedoch nach denselben Maßstäben beurteilt werden.

64

Im Bereich der Free and Open Source Software gibt es diverse Begriffe und Definitionen, die häufig denselben oder zumindest einen ähnlich gelagerten Sachverhalt – nämlich quelloffene und für jedermann ohne Lizenzgebühr frei verwendbare Software – beschreiben sollen. So gibt es zum einen den Begriff der Freien Software und zum anderen den der Open Source Software. Obwohl die Begriffe häufig synonym verwendet werden, gibt es Unterschiede. Diese liegen jedoch eher in den hinter den Begriffen liegenden politischen Überzeugungen der einzelnen Organisationen, durch die diese Begriffe letztlich geprägt wurden, sowie den damit verbundenen Assoziationen. Gerade die Free Software Foundation (FSF) legt z.B. großen Wert auf die Verwendung der korrekten Begrifflichkeit.

65

Da sich die Definitionen von Freier Software und Open Source Software inhaltlich weitgehend entsprechen und aus lizenzrechtlicher Sicht in der Praxis eine Unterscheidung in den seltensten Fällen erforderlich ist, haben wir uns dazu entschieden, in diesem Buch den Überbegriff Free and Open Source Software – kurz FOSS – zu verwenden. Dieser Begriff wird allgemein verwendet, um sich neutral zwischen Freier Software und Open Source Software zu verhalten.50 Für ein besseres Verständnis von FOSS finden Sie im Folgenden aber dennoch die gängigen Definitionen sowie die möglichen Unterscheidungskriterien zwischen Freier und Open Source Software. Ebenso erläutern wir Ihnen kurz, wie Public Domain, Free- und Shareware in diesen Kontext einzuordnen sind.

a) FOSS = Free Software + Open Source Software

66

Der Begriff der Freien Software – oder Free Software – wurde von der FSF bzw. deren Gründer, dem Programmierer Richard Stallman, Mitte der 1980er eingeführt und definiert. Stallman macht dabei deutlich, dass sich der Begriff „frei“ nicht auf den Preis der Software bezieht, sondern vielmehr auf die Freiheit des Benutzers im Umgang mit der Software. Ein Benutzer soll durch entsprechende Lizenzierung die Möglichkeit haben, die Software entsprechend seiner eigenen Bedürfnisse anzupassen und die Software sowohl in der ursprünglichen als auch in einer veränderten Form an andere Nutzer weiterzugeben. In der Free Software Definition – erstmals 1986 durch die FSF veröffentlicht – werden diese Freiheiten mit dem folgenden Satz knapp zusammengefasst: „Free software is a matter of the users’freedom to run, copy, distribute, study, change and improve the software.“51 Die Grundvoraussetzung Freier Software ist also eine umfassende Einräumung von Nutzungsrechten, die es jedem Nutzer ermöglichen, die Software frei zu kopieren, zu bearbeiten, zu untersuchen und zu verbreiten. Durch eine entsprechende Lizenzierung sollen also vielfältige Nutzungsmöglichkeiten geschaffen werden, ohne das eine Lizenzgebühr dafür erhoben wird.

67

Da durch die Bezeichnung „frei“ häufig falsche Assoziationen ausgelöst wurden und das Konzept Freier Software missverstanden wurde, gründete sich Ende der 1990er die Open Source Initiative (OSI) und führte den Begriff der Open Source Software ein. Mit diesem Begriff sollte das Kriterium des offenen und für jedermann verfügbaren Source Code stärker in den Vordergrund gerückt werden. Man wollte dem Missverständnis entgegenwirken, dass eine kommerzielle Verwertung Freier Software nicht möglich sei. Die OSI entwickelte dazu ebenfalls eine Definition des Begriffs Open Source Software und legte in ihrer Open Source Definition fest, welche Kriterien eine Lizenz erfüllen muss, um als Open Source Lizenz zu gelten. Darunter fällt vor allem, dass die Software von jedem Nutzer genutzt, bearbeitet und weitergegeben werden darf, ebenfalls sowohl in der ursprünglichen als auch in einer durch den Nutzer bearbeiteten Version, ohne dass hierfür Lizenzgebühren anfallen. Darüber hinaus sollen aus der Software abgeleitete Werke Dritten unter denselben Lizenzbedingungen zur Verfügung gestellt werden können. Änderungen an der Ursprungssoftware sollen kenntlich gemacht und es soll dem Nutzer ermöglicht werden, Zugriff auf den Source Code zu erhalten, insbesondere wenn er die Software nur als ausführbare Datei erhalten hat.52

68

Wie oben bereits erwähnt, wird, nach Betrachtung der für die beiden Begriffe Freie Software und Open Source Software definierten Voraussetzungen, deutlich, dass diese sich sehr stark ähneln und daher – zumindest aus der lizenzrechtlichen Sicht – in der Regel keiner strikten Trennung bedürfen. Auch wenn sich die hinter den Begrifflichkeiten stehenden Ideale und Philosophien (siehe Rn. 7ff.) unterscheiden und die FOSS Gemeinde teilweise sogar in zwei Lager spalten, sind diese für einen praxisrelevanten Einsatz von FOSS nicht relevant. Es geht vielmehr darum festzustellen, ob es sich bei der eingesetzten Software überhaupt um FOSS handelt und ob die entsprechenden Lizenzbedingungen eingehalten werden können. Deutlich wird dies auch dadurch, dass die meisten der gängigen Open Source Lizenzen sowohl von der FSF als auch von der OSI als Open Source Lizenzen anerkannt werden.

69

Backup: Wenn es sich bei Freier Software und Open Source Software doch (zumindest annähernd) um dieselbe Software handelt, spielt eine Unterscheidung dann überhaupt eine Rolle und wenn ja, wann?

Der Begriff Open Source steht für Kriterien, die von dem Begriff Freie Software mit umfasst werden, an einigen Stellen jedoch auch weniger restriktiv sind. Der freigegebene Source Code Freier Software erfüllt in der Regel auch immer die Anforderungen an Open Source. Umgekehrt erfüllt Open Source zwar in den überwiegenden Fällen die Anforderungen, die an Freie Software zu stellen sind, aber eben nicht immer.

Die FSF hält z.B. einige der Open Source Lizenzen für zu restriktiv, wenn diese es nicht gestatten, veränderte Versionen der Software zu erstellen oder zu vertreiben. Ebenso hat die Freie Software-Bewegung ein Problem damit, wenn Source Code unter schwachen Lizenzen ohne Copyleft lizenziert wird und die daraus erstellten, ausführbaren Dateien dann zusätzlich unfreie Bedingungen enthalten. Auch der Einsatz von Prüfsignaturen, die verhindern, dass der Nutzer abweichende Versionen der Software installiert und ausführt – sog. Tivoisierung (siehe ausführlich Rn. 628ff.) – widerspricht dem Gedanken Freier Software.

Um der Verwendung Freier Software unter solchen Rahmenbedingungen entgegenzuwirken, hat die FSF die GNU General Public License Version 3 (GPL-3.0) entwickelt.53 Während der Begriff Open Source und die Open Source-Bewegung eher auf praktischen Erwägungen gründen, stell der Begriff der Freien Software die Prinzipien von Freiheit und Gerechtigkeit in den Vordergrund. Stallman betont in seinen Veröffentlichungen aber immer wieder, dass die beiden Bewegungen zwar unterschiedlicher Meinung über die Grundsätze sind, in den praktischen Empfehlungen aber mehr oder weniger übereinstimmen. Eine Zusammenarbeit sowie eine Vermischung von Freier und Open Source Software sind also durchaus möglich.54

b) FOSS ≠ Closed Source Software

70

Zwar haben wir anhand der oben angeführten Definitionen nun eine bessere Idee davon, was FOSS eigentlich bedeutet. Wie so häufig wird das Ganze aber erst in Abgrenzung zu anderen Formen von Lizenzmodellen interessant. Denn neben FOSS stößt man auch noch auf weitere Konzepte „kostenloser“ oder „frei verwendbarer“ Software. Diese sind nicht immer trennscharf abzugrenzen und führen daher gelegentlich zu Verwechslungen.

aa) Kommerzielle Software

71

Kommerzielle Software oder auch proprietäre Software wird in der Regel als Gegenbegriff zur FOSS verwendet und bezieht sich auf herkömmlich lizenzierte Software. Dabei ist der Begriff „proprietär“ genau genommen kein solides Abgrenzungskriterium, denn der Begriff bezieht sich auf die Rechtsinhaberschaft, die grundsätzlich auch bei FOSS gegeben ist. Bei FOSS haben die Rechtsinhaber lediglich darauf verzichtet, Lizenzgebühren für die Einräumung von Nutzungsrechten zu erheben. Teilwiese wird auch der Begriff Closed Source Software verwendet. Aber auch dieser ist nur bedingt für eine Abgrenzung geeignet. Denn der offen zugängliche Source Code stellt eben auch nur ein Kriterium für die Einordnung als FOSS dar und nicht das einzige. Auf jeden Fall stellt die kommerzielle Software die stärkste Abgrenzung gegenüber FOSS dar, da hier in der Regel sowohl Lizenzgebühren für die Nutzung verlangt werden als auch strenge Beschränkungen bzgl. der Bearbeitung und Veränderung vorliegen oder diese überhaupt nicht gestattet sind.

bb) Freeware

72

Auch bei sogenannter Freeware, die vom Namen her zunächst den Eindruck Freier Software vermitteln mag, handelt sich es sich dem Grunde nach um kommerzielle Software. Einzige Voraussetzung zur Einordnung einer Software als Freeware ist die kostenfreie Überlassung der Software an den Nutzer. In diesem Punkt ähneln sich Freeware und FOSS. Daher kommt es hier aufgrund der Ähnlichkeit der Begriffe gelegentlich zu Verwechslungen. Damit enden die Gemeinsamkeiten aber auch. Denn anders als bei FOSS erhält der Nutzer bei Freeware in der Regel nur sehr eingeschränkte Nutzungsrechte. Häufig wird die Nutzung auf eine nicht-kommerzielle Verwendung beschränkt und eine Weiterverbreitung der Software sowie eine Bearbeitung und Veränderungen untersagt. Auch der Source Code wird bei Freeware regelmäßig nicht offengelegt. Die Einräumung der Nutzungsrechte für Freeware erfolgt über sogenannte End User License Agreements – kurz EULA – und nicht über FOSS Lizenzen. Freeware ist also dem Bereich kommerzieller Software zuzuordnen. Die in diesem Buch erläuterten Rahmenbedingungen zum Umgang mit FOSS finden daher keine Anwendung auf Freeware.

cc) Shareware

73

Ein weiterer Unterfall kommerzieller Software ist Shareware. Auch hierbei handelt es sich um reguläre kommerzielle Software, die dem Nutzer lediglich für einen gewissen Zeitraum kostenlos zur Verfügung gestellt wird. Nach Ablauf einer zeitlich begrenzten Testphase wird die Nutzung der Software häufig technisch behindert oder zumindest stark eingeschränkt, sofern der Nutzer keine weitergehende Lizenz zur Nutzung erwirbt. Aufgrund der kommerziellen Natur der Shareware fällt auch diese nicht in den Anwendungsbereich der FOSS.

dd) Was ist mit Public Domain?

74

Bei Public Domain Software handelt es sich um ein Phänomen, das auf die Besonderheiten des amerikanischen Rechts zurückzuführen ist. Danach ist es möglich, gänzlich auf sein Urheberrecht zu verzichten und ein Werk gemeinfrei zu stellen.55 Dies gilt prinzipiell für den gesamten angloamerikanischen Rechtsraum, in dem wegen der grundsätzlichen Übertragbarkeit des Urheberrechts z.B. auch eine juristische Person das Urheberrecht sowohl originär erwerben als auch das Recht von einer natürlichen Person übertragen bekommen kann.56

75

Ein solcher Verzicht auf das Urheberrecht ist unter Geltung der deutschen Urheberrechtsordnung sowie in vielen anderen europäischen Staaten jedoch nicht möglich (siehe z.B. § 29 Abs. 1 UrhG). Das Urheberrecht ist zum einen unveräußerlich; das Werk kann also nicht etwa in die Gemeinfreiheit entlassen werden. Zum anderen belässt das Schöpferprinzip dem Urheber zumindest den Kern der Urheberpersönlichkeitsrechte, die wegen ihres höchstpersönlichen Charakters ebenfalls unveräußerlich und unverzichtbar sind.57 Eine echte Gemeinfreiheit tritt hier daher nicht ein, so dass die Public Domain Software nach anderen Maßstäben zu beurteilen ist.

76

Die Public Domain wird hier daher als die Einräumung einer Lizenz an jedermann gewertet, die eine unbeschränkte Verwertung der Software gestattet.58 Da Public Domain Software regelmäßig im Source Code veröffentlicht wird und dem Nutzer, durch die Gemeinfreiheit bzw. die Lizenz zur unbeschränkten Verwertung, die typischen Freiheiten der FOSS gewährt, kann Public Domain auch mit unter den FOSS Begriff gefasst werden. Zumindest die in diesem Buch dargestellten Rahmenbedingungen sind auch auf Public Domain Software anwendbar.

50 Stallman, https://www.gnu.org/philosophy/open-source-misses-the-point.de.html. 51 Stallman, https://www.gnu.org/philosophy/free-sw.html.en. 52 OSI, The Open Source Definition, https://opensource.org/osd. 53 Stallman, https://www.gnu.org/philosophy/open-source-misses-the-point.de.html. 54 Stallman, https://www.gnu.org/philosophy/free-sw.html.en. 55 Zum rechtlichen Rahmen von Public Domain und den Besonderheiten auch ausländischer Rechtsordnungen Jaeger/Metzger, Open Source Software, Rn. 8 m.w.N. 56 Statt vieler Hoeren, in: Hoeren/Sieber/Holznagel, Hdb. MultimediaR, Teil 7.8 Rn. 25. 57 Statt vieler Bullinger, in: Wandtke/Bullinger, UrhG, Vor §§ 12 Rn. 5 m.w.N. 58 Jaeger/Metzger, Open Source Software, Rn. 8; Spindler, in: Spindler, Rechtsfragen bei open source, Kap. B. Rn. 13; Spindler, in: Schricker/Loewenheim, Vor §§ 69a ff. Rn. 19f. m.w.N.

Kapitel II Technische Grundlagen: Coding und Kompilierung

77

Bei der Bewertung des Einsatzes von FOSS genügt es häufig nicht, einfach nur festzustellen, dass FOSS eingesetzt wird und welche Lizenzen für die jeweils eingesetzten FOSS Komponenten zu beachten sind. Um ermitteln zu können, ob ein lizenzkonformer Einsatz der FOSS im konkreten Projekt möglich ist, muss oft auch die technische Ausgestaltung des Einsatzes der jeweiligen FOSS Komponenten ermittelt und berücksichtigt werden. Denn unterschiedliche technische Ausgestaltungen können – je nach Lizenz – zu einer anderen rechtlichen Bewertung führen. Während einige Lizenzen nur danach unterscheiden, ob die Software im Source Code oder lediglich als ausführbare Datei im Binärcode an den Nutzer weitergegeben wird, enthalten andere Lizenzen auch unterschiedliche Verpflichtungen, je nachdem in welcher Form die FOSS Komponenten mit eigenem, proprietärem Code interagiert.

78

Um die unterschiedlichen Anforderungen der FOSS Lizenzen, die sich konkret auf verschiedene technische Ausgestaltungen hinsichtlich der Nutzung der FOSS Komponenten beziehen, richtig einordnen und die Risiken des FOSS Einsatzes sachlich bewerten zu können, ist es hilfreich, sich einige technischen Grundlagen in Bezug auf Software-Erstellung und -Architektur anzueignen. In diesem Kapitel wollen wir daher einen kurzen Überblick über diejenigen technischen Grundlagen geben, auf die in FOSS Lizenzen regelmäßig Bezug genommen wird. Dies soll Ihnen einerseits dabei helfen, die Anforderungen der FOSS Lizenzen besser zu verstehen, und andererseits, bei auftretenden Problemen nicht nur juristische, sondern auch technische Lösungsansätze für Ihre eigenen Projekte zu finden.

1. Welche Arten von Code gibt es?

79

 – FOSS Lizenzen enthalten teilweise unterschiedliche Anforderungen, je nachdem in welcher Form die Software an den Nutzer weitergegeben wird.

 – Zumindest muss zwischen menschenlesbarem Code (Source Code) und maschinenlesbarem Code (Object Code, Binaries, Executables) unterschieden werden.

 – Durch den Kompiliervorgang wird der Source Code zu Object Code/Binärcode/Executables umgewandelt.

80

Verschiedene FOSS Lizenzen machen unterschiedliche Vorgabe zur Nutzung der Software bzw. knüpfen andere Verpflichtungen an den Einsatz der Software, je nachdem, in welcher Form die Software an den Nutzer weitergegeben wird. Daher ist es wichtig, die unterschiedlichen Formen zu kennen, in denen der Code einer Software vorliegen kann und wie diese unterschiedlichen Formen von Code jeweils erzeugt werden können.

a) Source Code bzw. Quellcode

81

Source Code – häufig auch Quellcode oder Quelltext genannt – ist der für den Menschen lesbare, in einer der diversen Programmiersprachen verfasste Text eines Computerprogramms. Er beschreibt sowohl die jeweiligen Funktionen der Software als auch deren Aussehen bzw. die Darstellung des Programms bei der Ausführung. Bevor ein im Source Code vorliegendes Programm von einem Computer ausgeführt werden kann, muss der Source Code zunächst in eine für den Computer verständliche Form übersetzt werden. Dies geschieht z.B. mittels eines Compilers oder Interpreters, der entweder vorab den kompletten Source Code in Maschinensprache übersetzt oder dies erst zur Laufzeit des Programms tut.1 Im Source Code liegen neben den reinen Informationen, die für die Ausführung des Programms notwendig sind, in der Regel auch noch andere nützliche Informationen vor, wie beispielsweise Dokumentationen und Hinweise zur Anpassung des Code oder zur Fehlerbehebung. Die für die FOSS Bewertung relevantesten Informationen sind aber die häufig in den Headern der Dateien enthaltenen Angaben zur Lizenzierung der Software. Oft werden hier der jeweilige Text der FOSS Lizenz oder zumindest ein Verweis auf die Lizenz und auf den Ort, wo der Lizenztext zu finden ist, sowie Hinweise zum jeweiligen Rechtsinhaber der Software angegeben.

b) Object Code

82

Die nächste Stufe zwischen dem Source Code und der Maschinensprache ist der sog. Object Code oder auch Objektcode. Der Object Code ist ein Zwischenergebnis, das bei der Übersetzung des menschenlesbaren Code mittels eines Compilers entsteht. Er besteht bereits hauptsächlich aus Maschinencode und enthält neben dem bereits vorübersetzten Code des Programms andere verwendete Programmbibliotheken, die ebenfalls in das Programm eingefügt und mit diesem zum fertigen Programm verlinkt werden sollen. Das Format des Object Code hängt sowohl von der Programmiersprache, dem verwendeten Compiler als auch der Maschine ab, auf der das Programm ablaufen soll.2 Wichtig für die FOSS Beurteilung ist, dass der Object Code in der Regel keine verwertbaren bzw. für den Menschen lesbaren Informationen zur FOSS Lizenzierung mehr enthält. Die meisten FOSS Lizenzen stellen den Object Code daher mit dem Binärcode gleich und stellen in der Regel identische Anforderungen an die Weitergabe im Object oder im Binärcode.

c) Binärcode

83

Die Maschinensprache, oder auch der Binärcode bzw. Maschinencode, stellt die Code Form dar, die ein Computer benötigt, um ein Programm verarbeiten und ausführen zu können. In dieser Form des Code werden Informationen durch Sequenzen zweier unterschiedlicher Symbole dargestellt. Im Falle eines Computerprogramms besteht der Code nur noch aus Einsen und Nullen bzw. der Information wahr/falsch. Die kleinste Informationseinheit wird dabei als Bit bezeichnet und enthält genau diese eine Information: 1 oder 0 bzw. wahr oder falsch. Durch eine logische Verknüpfung solcher Bits lassen sich dann auch komplexe Informationen abbilden.3 Für den Menschen sind diese Bitfolgen kaum noch nachzuvollziehen. Bei reiner Betrachtung von Code in Binärform können dem Code also ohne weitere Zwischenschritte keine Informationen zu FOSS Lizenzierung und Rechtsinhabern mehr entnommen werden – sofern diese Informationen überhaupt noch im jeweiligen Code enthalten sind. Daher stellen einige FOSS Lizenzen besondere Anforderungen an die Mitlieferung von Lizenz- und Copyright Informationen für den Fall, dass die FOSS Komponente im Binärcode weitergegeben wird.

Genres und Tags
Altersbeschränkung:
0+
Umfang:
555 S. 43 Illustrationen
ISBN:
9783800593842
Rechteinhaber:
Bookwire
Download-Format:
epub, fb2, fb3, ios.epub, mobi, pdf, txt, zip