\documentclass[a4paper]{article}
\usepackage[T1]{fontenc}
\usepackage{german}
\usepackage{umlaut}

\title{Wie kann ich Linux und Freie Software unterstützen?}
\author{Andreas Krennmair}
\date{25. April 2003}

\begin{document}

\maketitle

Herzlich willkommen bei den Grazer Linuxtagen 2003. Meine Name ist
Andreas Krennmair, und ich wurde freundlicherweise eingeladen, auf
diesem Event als Mitglied des Vereins zur Förderung Freier
Software die Keynote zum Thema ``Wie kann ich Linux und Freie
Software unterstützen?'' zu halten. Vielen Dank übrigens an die
Organisatoren, die die heutige Veranstaltung auf die Beine gestellt
haben, an alle Vortragenden, und natürlich an alle Sponsoren, die die
Veranstaltung durch ihre Unterstützung letztendlich erst möglich gemacht
haben.

Bevor ich etwas zum Thema erzählen kann, sollte ich erst einmal
erklären, was Freie Software ist.

1984 hat Richard Stallman begonnen, Unix-Software nachzuprogrammieren,
und veröffentlichte sie unter einer sehr offenen Lizenz, die
garantiert, dass die Software auch längerfristig frei verfügbar bleibt.
Ab 1985 startete die Free Software Foundation ihre Arbeit, und
definierte erstmals formal, was denn ``Freie Software'' ist:

Freie Software ist durch vier wesentliche Freiheiten gekennzeichnet.
\begin{itemize}
\item 1. Freiheit: unbegrenzte Nutzung zu jedem Zweck.
\item 2. Freiheit: Studium und Anpassung an eigene Bedürfnisse.
\item 3. Freiheit: Weitergabe.
\item 4. Freiheit: Weitergabe von Modifikationen.
\end{itemize}

Lizenzen wie die GNU General Public License bieten die Grundlage, dass
diese vier Freiheiten ``erzwungen'' werden und unter dieser Lizenz
stehende Software langfristig der Gesellschaft zur Verfügung steht. Der
grosse Unterschied der GPL zu anderen Lizenzen ist, dass sie die Freiheiten des
Lizenznehmers erweitert, anstatt sie, wie üblich bei Lizenzverträgen,
einzuschränken. ``Freiheit'' in diesem Zusammenhang heisst übrigens
{\it nicht} ``gratis'', auch wenn dies meistens der Fall ist. Viel mehr steckt
hinter dieser Freiheit eine ganze Philosophie.

Drei Lizenzen sind im Bereich Freier Software wirklich von Bedeutung,
nämlich die GNU General Public License (GPL), die GNU Lesser General
Public License (LGPL) und die BSD-artigen Lizenzen. Alle drei Lizenzen
garantieren natürlich die vier Freiheiten, jedoch nur die GNU GPL
garantiert einen vollständigen Schutz dieser Freiheiten. Code, der unter
der LGPL steht, kann z.B. auch zu Code, der ``unfrei'' ist, gelinkt
werden. Die BSD-artigen Lizenzen schützen die Freiheiten in keiner
Weise, was einige Unternehmen auch schamlos ausnutzen.

Was ist denn nun ``Open Source''? Open Source ist quasi ein
Marketing-Begriff für Freie Software. Dahinter steht die Open Source
Initiative, die Freie Software pragmatischer als die FSF anfasst, jedoch mit
gleichen oder ähnlichen Zielen. Ein wesentlicher Unterschied ist, dass
Open Source strikter definiert wird, nämlich in 10 Punkten.

\begin{itemize}
\item die Software muss frei verteilbar sein
\item der Source Code muss verfügbar sein
\item Modifikationen müssen erlaubt sein
\item die Möglichkeit, dass der Lizenzgeber Modifikationen einschränkt (nur
  Patchfiles erlaubt, modifizierte Version muss anderen Namen tragen)
\item keine Personen oder Gruppen dürfen diskriminiert werden
\item die Software muss überall eingesetzt werden dürfen
\item die Lizenz muss der Software beigelegt sein
\item die Lizenz darf nicht produktspezifisch sein
\item die Lizenz darf nicht andere Software einschränken
\item die Lizenz muss ``technologieneutral'' sein
\end{itemize}

Diese ``Open Source Definition'' basiert übrigens auf den ``Debian Free
Software Guidelines''.

Es gibt allerdings ein Problem mit ``Open Source'', nämlich dass die
allermeisten Leute, die von ``Open Source'' reden, nicht an die Open
Source Definition denken, bzw. davon überhaupt keine Ahnung haben. Sie
meinen damit meist einfach nur einen Zugang zum Quellcode. Das stellt
ein Problem dar, denn vieles, was als ``Open Source'' ``verkauft'' wird, ist
in Wirklichkeit kein ``echtes'' Open Source, das der ``Open Source
Definition'' entspricht.

Die Free Software Foundation hat seit 2001 einen europäischen Ableger,
die Free Software Foundation Europe. Sie steht jedem als
Kontaktmöglichkeit bei Dingen zur Verfügung, die mit Freier Software zu
tun haben. Ausserdem betreibt sie natürlich Lobby-Arbeit für Freie
Software, und arbeitet mit Rechtsanwälten zusammen, die sich mit den
rechtlichen Implikationen von Freier Software beschäftigen. Desweiteren
hilft die FSF Europe Firmen dabei, Business-Modelle aufbauend auf Freier
Software zu entwickeln.

In Österreich tritt der Verein zur Förderung Freier Software, kurz FFS,
für Freie Software ein. Der FFS ist eine assoziierte Organisation der
FSF Europe. Ausserdem ist der FFS Mitglied der Eurolinux Alliance,
welche die ``no e-patents''-Petition durchführt. Die hauptsächlichen
Tätigkeiten sind derzeit, die Allgemeinheit über die Vorteile von Freier
Software zu informieren, rechtliche Fragen im Zusammenhang mit Freier
Software zu diskutieren, und die Rechte auf Informations- und
Redefreiheit sowie Privatsphäre zu fördern.

Warum ist Freie Software gut für Unternehmen? Freie Software schränkt,
wie wir bereits gehört haben, ihre User nicht ein, sondern gewährt ihnen
Freiheiten. Unternehmen können natürlich Freie Software einsetzen. Sie
sparen dadurch sowieso schon einmal Lizenzkosten, die einen nicht
unwesentlichen Teil der ``Total Cost of Ownership'' darstellen. Auch machen sich
diese Unternehmen von keinem kommerziellen Softwarehersteller abhängig -
man kann ja soviele Kopien erstellen wie man will, und Einblick in den
Source Code hat man noch dazu.

Wenn Unternehmen nun wirklich Anpassungen an Freier Software vornehmen
wollen oder müssen, so können sie das entweder selbst erledigen (wenn
sie die Ressourcen und Know-How haben), oder andere Firmen oder Programmierer damit
beauftragen. Klar, das geht auch bei kommerziellen Softwareprodukten,
bei bestimmten Produkten haben sich eigene Software-Sparten deswegen
gebildet, aber welche dieser Firmen, die Customizing vornehmen, geben
auch den Source Code her? Wenn man Freie Software customized oder customizen
lässt, lässt sich auch genau nachvollziehen, was denn die Software
nachher tut, und v.a., man sieht auch, wie sauber der oder die
Programmierer gearbeitet haben. Sollte die Arbeit nicht den
Qualitätsansprüchen des Unternehmens genügen, so kann man die Arbeit
immer noch an jemand anderen abgeben.

Firmen, die Freie Software anpassen oder anpassen lassen, sind übrigens
nicht verpflichtet, diese Anpassungen auch zu veröffentlichen, solange
sie halt die angepasste Software nicht weiterverbreiten. Man kann sich
also auch mit Freier Software einen Vorteil gegenüber den Mitbewerbern
verschaffen. Trotzdem kann ich nur empfehlen, Änderungen, wenn sie für
die Allgemeinheit nützlich sind, wieder ins ursprüngliche Projekt
einfließen zu lassen, und die Projekte damit zu unterstützen.

Softwarefirmen, die proprietäre, kommerzielle Software entwickeln,
können übrigens in ihren Programmen auch auf Freier Software aufbauen.
Aus dem BSD-Sektor ist einiges an Software im Sourcecode verfügbar, die
bedenkenlos in eigene proprietäre Software eingebaut werden kann
(natürlich unter Beachtung der BSD-Lizenz). Und auch Programme unter der
LGPL können in proprietäre Software eingebunden werden.

Ein weiterer wesentlicher Punkt, der für die Verwendung von Freier
Software im Unternehmen spricht, ist die Möglichkeit der einfachen
Qualitätssicherung - keine andere Software kann so leicht auf Bugs oder
Sicherheitsprobleme kontrolliert werden, geschweige denn können diese
behoben werden. Und auch für die Wahrung der Interoperabilität mit
anderer Software ist die Verfügbarkeit von Sourcecode extrem wichtig.

Die FSF Europe hat auch ethische Überlegungen zu Freier Software im
Zusammenhang mit Unternehmen durchgeführt, und ist u.a. auf folgende Punkte
gekommen:

\begin{itemize}
\item Freie Software sichert Chancengleichkeit.
\item Freie Software fördert den gesunden Wettbewerb. Nachdem alle die
  gleiche Freie Software zur Verfügung haben, müssen sie sich ``ins Zeug
  legen'', um gegenüber Mitbewerbern attraktiver zu werden. Es können
  schlicht und einfach keine ``Software-Monopole'' entstehen.
\item Freie Software fördert Computer-Grundlagenverständnis. Jeder kann aus
  Sourcecode lernen. Wenn natürlich von erstklassiger Software der
  Sourcecode einsehbar und modifizierbar ist, so kann jeder lernen, wie
  gute Software entwickelt wird.
\end{itemize}

Doch es gibt auch Gefahren für Freie Software, die die Vorteile
zunichte machen oder zumindest bedrohen könnten.

Eine besondere Gefahr sind Software-Patente. Patente stellen eine
Möglichkeit dar, geistiges Eigentum zu schützen. Im Gegensatz zum
Urheberrecht schützt ein Patent jedoch eine Idee.

Eigentlich sind (Zitat) ``Pläne, Regeln und Verfahren für gedankliche
Tätigkeiten, für Spiele oder für geschäftliche Tätigkeiten sowie Programme für
Datenverarbeitungsanlagen'' (Zitat Ende) keine patentfähigen Erfindungen,
trotzdem hat das europäische Patentamt bereits eine ganze Reihe von solchen Patenten
vergeben. Hier wird versucht, dies durch eine EU-Richtlinie im nachhinein zu
legalisieren.

Warum sind Softwarepatente eigentlich so gefährlich? Ein Patent ist ein
Exklusivrecht. Niemand ausser dem Patentinhaber darf die Erfindung
verwenden, nicht einmal, wenn sie unabhängig neu erfunden wurde. Ein
Softwareentwickler, der also einen Algorithmus für ein gewisses Problem,
das er hat, entwickelt, kann eine Patentverletzung begehen, ohne davon
auch nur zu wissen.

Ein zusätzliches Problem ist, dass in der Informatik Neuerungen
inkrementell geschehen. Jedes Wissen baut auf bereits vorhandenem Wissen
auf. Ist nun vorhandenes Wissen bereits patentiert, so hemmt das den
Fortschritt - neues Wissen kann nicht mehr entstehen, ausser man kauft
sich das Recht, das Patent verwenden zu dürfen. Doch wer kann sich das
schon leisten?

Eine weitere Gefahr für Freie Software stellen nicht-offene Standards,
Formate und Protokolle dar. Protokolle und Formate müssen frei verfügbar
sein, um von einer möglichst breiten Masse an Software überhaupt
verstanden werden zu können. Wie würde z.B. das Internet aussehen, gäbe
es keine offenen Standards und Protokolle? Tja, es würde wohl kein
Internet geben. Gerade das Internet lebt davon, dass Standard jedem frei
zugänglich verfügbar sind, in Form von z.B. Request for Comments (RFCs).

Wenn Freie Software auch mit Programmen kommunizieren will, die auf
nicht-offenen Protokollen aufbauen, so können sich diese Projekte gerade
in heutiger Zeit in eine rechtliche Grauzone bewegen. In den USA ist der
Digital Millenium Copyright Act bereits wirksam, der Reverse Engineering
in bedrohlichem Maße einschränkt. Und auch in Europa ist eine
EU-Richtlinie zur Vereinheitlichung des Urheberrechts auf dem Vormarsch,
die dem europäischen Urheberrecht die US-amerikanische
``Copyright-Glocke'' überstülpt. Diese EU-Richtlinie orientiert sich im
teilweise am DMCA, wenn auch weiterhin ``fair use'' gestattet ist -
inwieweit das in der Praxis allerdings wirklich möglich sein wird, wird
sich aber noch zeigen.

Warum sollte man eigentlich Freie Softwareprojekte unterstützen? Die
Software ist doch frei, und die lieben Entwickler arbeiten doch auch
gratis, oder? Nun ja, so einfach ist das nicht.

Viele Entwickler arbeiten ohne Vergütung ihrer Entwicklungszeit an
Freier Software, sei es, aus Spass an der Freude, oder um Ruhm
einzuheimsen, indem sie Probleme der Menschheit durch Freie Software
lösen. Trotzdem benötigen auch diese Entwickler Ressourcen, um Software
entwickeln zu können. Beispiele für benötigte Ressourcen wären z.B.

\begin{itemize}
\item Hardware
\item Internetzugang
\item Zugang zu Versionsmanagement-Tools, Infrastruktur für verteilte
  Entwicklung
\item Literatur
\item Unterhaltung ;-)
\item ...
\end{itemize}

Ein Grund, warum Firmen auch für Freie Software bezahlen sollten, wenn
auch nur einen symbolischen Betrag, ist der, dass sie ohne diese Freie
Software sowieso ein x-faches an Geld hinblättern müssten, mit
wesentlich mehr Einschränkungen. Sie symbolisieren dadurch auch, dass
ihnen die Software etwas wert ist. Und sie unterstützen damit auch das
Projekt selbst, da sich der oder die Entwickler mit benötigten
Ressourcen eindecken werden, um die Entwicklung besser durchführen zu
können. Eine Alternative wäre, gleich die benötigten Ressourcen direkt
zur Verfügung zu stellen.

Hardware: ein guter Teil der Treiber für Linux und andere Freie
Betriebssysteme wird immer noch nicht von den Firmen bereitgestellt,
sondern von etlichen Entwicklern in ihrer Freizeit geschrieben und
kontinuierlich verbessert. Nun kann sich aber so ein Entwickler
nicht immer die neueste Hardware-Revision der Soundkarte zulegen, für
die er die Treiber entwickelt. Wer also von Treibern für eine bestimmte
Hardware einen Vorteil hat, in dessen Interesse liegt es wohl auch, den
Entwickler so zu unterstützen, dass er an die zur Entwicklung benötigte
Hardware kommt. Projekte wie FreeBSD, OpenBSD oder NetBSD stellen oft
auch Aufrufe zu Hardwarespenden ins Netz, v.a., wenn es um eher
exotische Hardware geht. Wer also so eine Hardware besitzt, oder darauf
Zugriff hat, oder für den es ein Vorteil wäre, dass die Hardware von
einem Freien Betriebssystem unterstützt wird, der möge doch diese
Projekte unterstützen.

Internetzugang: Freie Software zu entwickeln, ohne einen Zugang zum
Internet verfügbar zu haben, grenzt fast schon an eine Unmöglichkeit.
Entwickler benötigen Zugriff auf Information, müssen mit anderen
Entwicklern oder Usern kommunizieren, und letztendlich gilt es auch, die
entwickelte Software über das Internet zu verbreiten. Unterstützt also
Projekte mit einem Internetzugang, einem eigenen Server für die
Entwicklung oder einer Domain, um für ``Branding'' zu sorgen!

Wenn es sich um ein Projekt handelt, an denen viele Entwickler
mitarbeiten, so wird eine zentrale Möglichkeit benötigt, dass alle
Entwickler schnell und unbürokratisch auf den aktuellsten Sourcecode des
Projektes zugreifen können. Dies funktioniert normalerweise über ein
zentrales ``Repository'', in dem alle Entwicklungsversionen abgelegt sind.

Literatur: oft genug wird bestimmte Literatur vom Entwickler benötigt,
die nicht frei verfügbar ist. Dann muss sich dieser meist mit zu
kaufender Literatur eindecken (?), was gerade bei Fachliteratur zu einem
Kostenproblem werden kann. Deswegen haben viele Entwickler von Freier
Software auf ihren Internetseiten Links zu z.B. Amazon-Wunschzetteln, in
denen dann aufgelistet ist, welche Bücher der Entwickler gerne haben
möchte. Dasselbe gilt übrigens auch für Musik und Filme. Programmierer
müssen bei Laune gehalten werden, am besten funktioniert das meist über
CDs und DVDs.

Worüber sich Entwickler von Freier Software auch freuen, sind einfache
Emails von Usern, wie toll sie denn die Software nicht finden, und dass man
die gute Arbeit weiterführen soll. Sowas motiviert! Wer selber
vielleicht Erweiterungen an einer Software programmiert hat, der sollte
die natürlich so schnell wie möglich zum Autor der Software schicken,
damit dieser dann die Änderungen einpflegen kann.

Es gibt ausserdem auch noch weitere Möglichkeiten, Freie Software generell
zu unterstützen, ausser über Zurverfügungstellung von finanziellen
Mitteln und Ressourcen.

\begin{itemize}
\item Wenn es die Wahl zwischen Freier und proprietärer Software gibt, sollte
  man sich unbedingt für die Freie Software entscheiden, selbst wenn sie
  leichte technische Nachteile bietet. Jeder, der die Software nutzt,
  verbessert möglicherweise schon morgen bemängelte Fehler, oder
  ansonsten kann man diese Verbesserungen selbst vornehmen oder vornehmen
  lassen.

\item Auch die Philosophie, die hinter Freier Software steckt,
  sollte weitergegeben werden. Linux ist nicht nur deswegen toll, weil es
  stabiler oder schnell ist, sondern auch, weil es frei ist.

\item Jeden, den es interessiert, an Projekten mitzuarbeiten, sollte das tun.
  Es ist auch für Nicht-Programmierer immer eine ``offene Stelle'' frei,
  z.B. als Tester oder als Dokumentationsschreiber.

\item Man unterstützt Freie Software auch dadurch, indem man sich politisch
  gegen Softwarepatente, Urheberrechtsreform und ähnliches wehrt.

\item Und dann gibt es natürlich noch die in Österreich einfachste Form,
  Freie Software zu unterstützen, dem Verein zur Förderung Freier
  Software beizutreten oder durch Spenden finanziell zu unterstützen.
\end{itemize}

Zum Abschluss meiner Keynote möchte ich noch sagen: setzt Freie Software
ein, tragt den Gedanken rund um Linux und Freie Software weiter, und
habt viel Spass auf den Grazer Linuxtagen 2003.
\end{document}
