% Peter Husemann
% Open-Source-Lizenzen
%
% Wie machen wir Quotes?
% ,,Text'' oder "`Text"'
% Oder sind das beides die gleichen?
% mm: das erste ist Müll und tut nur so als ob, das zweite ist richtig...

\section{Lizenzen für Freie Software}
Wenn Programme als Open Source oder Freie Software veröffentlicht werden, heißt das
 noch lange nicht, dass jeder damit machen darf, was er will. Rechte
 und Pflichten werden für den Anwender in Lizenzen reglementiert.
 Alle Open-Source-Lizenzen haben per Definition durch die
 FSF (\emph{Free Software Foundation}) und die OSI\footnote{
 OSI: \hrefn{http://www.opensource.org/}} (\emph{Open Source Initiative}) die folgenden Grundrechte
 in sich verankert:

\begin{itemize}
	\item{Recht zur Einsicht in die Quelltexte des Programms}
	\item{Recht auf Änderung der Quelltexte zu eigenen Zwecken}
	\item{Recht auf Weitergabe der veränderten Quelltexte}
\end{itemize}

Der Sinn hinter diesen grundlegenden Rechten liegt darin, dass
 Entwickler auf der Arbeit von anderen aufbauen können. Leute mit guten Ideen und
 Programmiererfahrung müssen so nicht komplett von vorne anfangen,
 sondern haben bereits ein Fundament, auf das sie eigene Ideen
 aufsetzen können.
 
Als Motiv für die Lizensierung von Open-Source-Programmen gibt es aus 
 Entwicklersicht verschiedene Aspekte. Zum
 einen wäre da die Anerkennung, die ein Autor sich erhofft, wenn sein
 Programm publik wird. So darf BSD (Berkley Software Distribution)
 lizensierte Software nach Belieben verändert und/oder verteilt werden mit
 der Verpflichtung die Namen der ursprünglichen Autoren zu nennen.
 
 Ein
 zweites Motiv ist der Schutz vor "`Raubbau"' an Open-Source-Software durch
 kommerzielle Produkte. Als Beispiel ist hier die \emph{GPL} \emph{(GNU
 General Public License)} zu nennen, die verfügt, dass ein Programm,
 das \emph{GPL}-lizensierten Code enthält, wieder unter die \emph{GPL}
 gestellt werden muss. Es ist so nicht legal Code zu klauen und als
 "`eigenes"' proprietäres Produkt zu verkaufen. Freier Code bleibt
 dadurch frei.
 
 Drittens möchten manche Programmierer sich davor
 schützen, wenn sie die Software schon frei zur Verfügung stellen,
 dass bei möglichen Schäden, die die Software verursachen könnte, sie
 auch noch dafür verantwortlich gemacht werden. Fast jede Lizenz
 enthält deswegen einen Haftungsausschluss des Autors für mögliche
 Konsequenzen, die der Einsatz der Software mit sich bringt.
 
 Als letztes bestehen
 manche darauf, dass abgeänderte Versionen der Software nicht den
 "`offiziellen"' Namen tragen dürfen, um Verwechslungen zu vermeiden oder damit nicht
 viele zueinander inkompatibele Versionen entstehen. Die Apache-Lizenz
 legt hierauf einen Schwerpunkt.

Da es eine Unzahl von Lizenzen gibt,
 soll hier nur auf die Wichtigsten eingegangen werden.

\subsection{GPL -- GNU General Public License}\label{gpl}

Die bekannteste unter den Open-Source-Lizenzen ist wohl die
 \emph{GNU} General Public License, kurz \emph{GPL\footnote{
	GPL: \hrefn{http://www.gnu.org/copyleft/gpl.html}}
 }.
 Sie gewährt dem Anwender die Freiheit, ein Programm sowohl modifiziert als auch unverändert
 beliebig weiterzugeben. Gleichzeitig wird allerdings gefordert,
 dass das weitergegebene Programm auch im Quelltext beiliegt, oder auf
 Wunsch zugänglich gemacht wird und ferner das Programm wieder unter 
der \emph{GPL} stehen muss. Eine Klausel beinhaltet einen Haftungsausschluss
 des Autors gegenüber Schäden. Laut der \emph{GPL} ist es nicht
 verboten das Programm zu verkaufen, wobei allerdings der Verkauf nicht mit einer
 Einschränkung der Rechte einhergehen darf. Das macht es schwierig,
 \emph{GPL}-Programme ohne sonstige Leistungen, wie z.\,B. Support,
 Garantie o.\,ä. zu verkaufen, da derjenige, der es gekauft hat, es
 kostenlos weitergeben darf. Auch wenn nur Teile der Sourcen genutzt
 werden, muss nach der \emph{GPL} die gesamte Software wieder unter die
 \emph{GPL} gestellt werden. Dieses Abfärben, welches von Microsoft
 auch gerne als Virus-Effekt bezeichnet wird, erklärt neben den
 offensichtlichen Vorteilen auch die weite Verbreitung dieser Lizenz.

\subsection{LGPL -- Lesser General Public License}

Die \emph{LGPL}\footnote{
	LGPL: \hrefn{http://www.gnu.org/copyleft/lesser.html}
	} wurde geschaffen, um ein Problem zu umgehen, welches durch die
 \emph{GPL} entsteht. Und zwar gibt es \emph{GNU}-C-Bibliotheken,
 die Code enthalten, der von verschiedenen Programmen genutzt werden
 kann. Dies ist vorteilhaft, weil Programmierer nicht bekannte Routinen
 neu schreiben müssen, wenn sie ein bestimmtes Vorhaben umsetzen
 wollen, sondern sie können in ihren Anwendungen gegen diese Bibliotheken
 linken, das heißt eine Referenz auf einen Algorithmus der Bibliothek
 setzen, um Arbeit und Plattenplatz zu sparen. Die \emph{GPL} würde aber nun
 verlangen, dass die ganze Anwendung, die Code von einer Bibliothek
 gebraucht, als abgeleitetes Produkt auch wieder unter der \emph{GPL}
 stehen müsste. Es wäre so kaum möglich kommerzielle Produkte,
 die gegen die Bibliothek gelinkt sind, zu schreiben.  Hier hilft nun die
 \emph{LGPL} aus, die fast genauso aufgebaut ist wie die \emph{GPL}, nur mit der
 Erlaubnis abgeleitete Werke auch ohne Quelltext und ohne Recht auf
 Weitergabe zu vertreiben. Es muss dem Anwender allerdings erlaubt und
 möglich sein die Software gegen eine veränderte Bibliothek zu
 linken.

\subsection{BSD -- Berkeley Software Distribution}

Bei der BSD-Lizenz\footnote{
	BSD: \hrefn{http://www.opensource.org/licenses/bsd-license.html}
 }, die neben der GPL wohl die zweithäufigste ist, muss der Lizenztext in den
 Quellen oder Binaries erhalten bleiben. Der ursprüngliche Entwickler muss bei der
 Weitergabe eines veränderten Programms lobend erwähnt und somit anerkannt
 werden.
 
 Hier ist es im Unterschied zur GPL allerdings nicht notwendig, dass die
 Quelltexte eines modifizierten Programms weitergegeben werden. Einer
 Vermischung mit kommerzieller Software ist so durchaus möglich. Eine
 seit dem 22.~Juli~1999 gestrichene "`Advertising"'-Klausel besagte,
 dass bei der Werbung für ein Produkt, das BSD-lizensierten Code
 enthält, alle Programmierer genannt werden müssen, die an der Entwicklung
 maßgeblich beteiligt waren. Die Streichung in neueren Versionen der
 BSD-Lizenz erklärt sich dadurch, dass zur einwandfreien Bewerbung
 einer \emph{NetBSD-CD} inzwischen schon fast 100 Entwickler genannt werden
 müssten. Man stelle sich eine Werbung für dieses Produkt in einer
 Computerzeitschrift mit Beachtung der entsprechenden Klausel vor.

\subsection{Apache}

Der Webserver Apache hat eine eigene\footnote{
	Apache: \hrefn{http://www.apache.org/LICENSE.txt}
 }, leicht veränderte BSD-Lizenz. Der Quelltext kann beliebig verändert
 und verbreitet werden, nur die Autoren müssen lobend erwähnt werden.
 Bei der Verbreitung von veränderten Sourcen darf
 ein abgeleitetes Produkt nicht "`Apache"' als Bestandteil des Namens
 haben. Der Sinn hinter dieser letzten Regel ist der Wunsch der
 Programmierer, Erweiterungen und Neuerungen von anderen möglichst in
 ihren Apache zu integrieren und so eine Aufspaltung in viele Ultra- und
 Mega-Apaches zu verhindern.

\subsection{QPL -- Q Public License}

Die Q Public License\footnote{
	QPL: \hrefn{http://www.trolltech.com/developer/licensing/qpl.html}
 }\, die zur Lizensierung der Qt-Bibliothek genutzt wird, hat inzwischen
 an Bedeutung verloren. Die Bibliothek enthält diverse GUI-(Graphical User
 Interface)-Routinen, die beispielsweise vom KDE
 (\emph{K Desktop Environment}) genutzt werden. Die QPL fordert,
 dass Quelltextveränderungen getrennt von der Original-Bibliothek gehalten
 und mindestens dem Hersteller Trolltech zugänglich gemacht werden müssen. Aber inzwischen
 lizensiert Trolltech auch eine "`Free Edition"' von QT unter der GPL (siehe in
 Kapitel \ref{gpl}). Um dem Ganzen noch einen draufzusetzen, existieren auch
 noch kommerzielle Lizenzen, die man für proprietäre Produkte
 benutzen muss. Bei der Linux-Version der Bibliothek kann man zwischen freier und
 kommerzieller Lizenz aussuchen, während für Portierungen nach
 Windows bzw. Mac~OS nur die kommerzielle Variante existiert.
\autor{ph}
%FIXME:ingo: ist die Windows Version nicht auch unter GPL verfuegbar?
%ph: in der ct' stand die gpl version gibt es nicht für win bzw. mac
% müsste man nochmal nachschauen

