Open Source (OSS) ist überall. Heutzutage kann kaum ein Projekt wirtschaftlich durchgeführt werden, wenn nicht schon vorhandene Softwarepakete wiederverwendet werden. Für die Softwareentwicklung ist dies vorteilhaft: Die Nutzung von Open Source steigert die Entwicklungsgeschwindigkeit, senkt die Kosten, und das bei hoher Qualität.
Die Frage der Nutzung von Open Source wird vielfältig diskutiert. Heute soll hier hingegen dargelegt werden was zu beachten ist, wenn selbsterstellte Software als Open Source herausgegeben werden soll. Die Ausführungen beruhen auf bewährten Praktiken und sind nicht als Rechtsberatung zu verstehen.
Es gibt eine ganze Reihe von Gründen, warum Unternehmen oder Entwickler ihren eigenen Code als Open Source veröffentlichen wollen: Open-Source-Code kann beispielsweise gute Werbung für das Unternehmen oder den Entwickler sein. Wird das Projekt populärer, können externe Open-Source-Entwickler viel Arbeit abnehmen. Das spart Kosten und eigene Entwicklungsarbeit. Bei erhöhter Entwickler-Anzahl werden meist mehr Anwendungsfälle untersucht, was zu einem robusteren Code führt. Erfahrene Entwickler haben oft Interesse, für ihr Portfolio an Open-Source-Projekten mitzuwirken. Und viele Firmen haben mittlerweile ein eigenes Geschäftsmodel um Open Source entwickelt.
Die Herausgabe eigenen Codes als Open Source ist jedoch nur dann erfolgreich, wenn auch viele Entwickler den Code nutzen. Dazu sollte das System natürlich einerseits etwas Sinnvolles bewerkstelligen. Um andererseits die Nutzung für Dritte aber auch rechtlich sicher zu gestalten, gilt es einige wichtige Punkte zu beachten.
Grundsätzlich gehört die Software dem Urheber, dies kann beispielsweise eine Privatperson, ein Arbeitgeber oder eine Organisation sein. Den Urheber einer Software zu kennen ist vor allem für Unternehmen wichtig, da dann mit dem Urheber die Nutzungsrechte geklärt werden können. Um den Urheber in der Software eindeutig zu kennzeichnen, dient ein Copyright-Vermerk. Copyright-Vermerke sind ein Weg, um deutlich zu machen, dass Sie ein Mitspracherecht bei der Verwendung des von Ihnen erstellten Codes haben möchten. Fehlt der Vermerk, wird es für Nutzer schwierig festzustellen, wer die Software erstellt hat und es ist im Zweifelsfall unmöglich, eine Nutzungserlaubnis einzuholen. Ein fehlendes Copyright kann in Unternehmen dazu führen, dass ein bestimmtes Open-Source-Produkt nicht genutzt werden darf.
Einfacher wird es für die Nutzer, wenn dem OSS-Projekt weiterhin eine Lizenz beiliegt, welche klar regelt, wie und unter welchen Bedingungen die Software genutzt und geändert werden darf, wie sie weitergegeben werden darf, und wie die Software mit anderen Werken kombiniert werden darf. Die Open Source Initiative (OSI) hat hierzu eine Reihe von Kriterien erstellt, was in einer Lizenz geregelt werden sollte. Es gibt eine Vielzahl von Lizenzvorlagen, aus welchen eine passende ausgewählt werden kann. Grundsätzlich gibt es die Unterscheidung zwischen permissiven und Copyleft-Lizenzen. Eine permissive Lizenz hat nur minimale Anforderungen an die Art und Weise, wie die Software weiterverteilt werden darf. Dies sind beispielsweise BSD, MIT oder Apache. Copyleft-Lizenzen beschreiben die Praxis das Recht einzuräumen, dass Kopien und modifizierte Versionen eines Werkes frei verbreitet werden können, mit der Bedingung, dass dieselben Rechte in abgeleiteten Werken erhalten bleiben. Hierzu gehören beispielsweise AGPL, GPL, LGPL, MPL, EPL.
Um eine passende Lizenz für seine Software auszuwählen helfen Fragestellungen wie:
- Sollen Copyright und Lizenz bei der Nutzung erhalten bleiben?
- Soll der Nutzer zusammenfassen müssen, was geändert wurde?
- Soll der Nutzer die Anpassungen wieder als FOSS herausgeben müssen?
- Soll es Einschränkungen bezüglich privater oder kommerzieller Nutzung geben?
- Möchte man für Schäden haftbar gemacht werden können?
- Soll es Auswirkung auf Patente des Nutzers geben?
Basierend auf den Antworten lässt sich dann leicht eine passende Lizenz finden. Hier hilft zum Beispiel auch die Webseite choosealicense.com oder tldrlegal.com. Die ausgewählte Lizenz sollte dem Projekt in einer COPYING- oder LICENSE-Datei beigelegt werden. Urheber werden am besten in jeder Datei einzeln aufgeführt.
Schließlich ist es wichtig, im Projekt genutzte andere Open Source Komponenten und deren Urheber aufzulisten. Dies ist oftmals aufwändig zu bestimmen, vor allem wenn die Ersteller der genutzten OSS-Pakete nicht selbst auf oben aufgeführte Hinweise geachtet haben. Die Erstellung der genutzten Komponentenliste wird auch schnell umfangreich und übersteigt die Fähigkeit manueller Arbeit, wenn Abhängigkeiten zu berücksichtigen sind, die beispielsweise über einen Repository-Manager eingebunden werden. Auf der sicheren Seite ist man dann, wenn die Liste mit einem Werkzeug erstellt wird, welches Lizenzen und Copyrights automatisch aus dem Code ausliest und passend zusammenstellt.
Viel Erfolg beim Open-Sourcen!