Eine tolle Idee zu haben reicht heute (leider) oft nicht mehr um ein, vielleicht, eines Tages erfolgreiches Produkt zu entwickeln. Tüftler scheitern oft an den Kosten für die dazu nötige Software (Lizenzen).
Ich arbeite schon seit sehr langer Zeit ausschliesslich mit so genannter Open Source Software oder kurz OSS. Eine alte Sysadmin-Regel besagt “traue keiner Software bei welcher der Source-Code nicht verfügbar ist”. Die Erfahrung zeigt, das dieser Ansatz ein sehr guter ist.
In diesem, ersten Teil, versuche ich einmal den OSS-Ansatz zu erklären. Als (ent)spannende Einführung ein Video zum Thema proprietäre Software:
Alleine der Umstand das viele Unternehmen, Organisationen und sogar Regierungen proprietäre Software eines einzigen Anbieters einsetzen ist entsetzlich. In den 70er Jahren des letzten Jahrhunderts hat man IBM fast in den Ruin getrieben weil man zur Einsicht kam, dass ein Monopol in der IT viel zu gefährlich sei.
Von diesem Anbieter wird kein Einblick in den Source-Code gewährt und dies bedeutet – wir haben eigentlich keine Ahnung was diese Programme genau tun. Zudem ärgert mich als Steuerzahler der Umstand, das dabei Millionen CHF für Lizenzen verpulvert werden. Dies in der Regel durch Hintertürchen damit auch ja nichts öffentlich ausgeschrieben werden muss.
Aber ich will ja nicht über die dunkle Seite der Macht schreiben, sondern darüber, dass wir mit OSS mindestens ebenbürtige Alternativen haben.
Was bedeutet Free Software?
Primär bedeutet dies, dass der Source-Code frei erhältlich ist. Der Initiator der OSS-Community, bzw. der Free Software Foundation (kurz FSF), Richard M. Stallman fast die Freiheit folgendermassen zusammen:
The four essential freedoms
A program is free software if the program’s users have the four essential freedoms: [1]
- The freedom to run the program as you wish, for any purpose (freedom 0).
- The freedom to study how the program works, and change it so it does your computing as you wish (freedom 1). Access to the source code is a precondition for this.
- The freedom to redistribute copies so you can help others (freedom 2).
- The freedom to distribute copies of your modified versions to others (freedom 3). By doing this you can give the whole community a chance to benefit from your changes. Access to the source code is a precondition for this.
Etwas detaiilierter hier
Wichtig ist dabei, dass die Software nicht unbedingt gratis sein muss. Auch Free oder OS-Software darf kosten. Oft existieren auch Mischformen, wie z.B. bei Docker. Dieser ist gratis aber es existiert auch eine kostenpflichtige Version welche Programme zur Container-Verwaltung sowie Support enthält.
Eine wesentliche Freiheit ist die, dass über diese Software frei gesprochen werden darf. D.h. das wenn ein Fehler gefunden wird, darf dieser publiziert werden. Dies ist bei proprietärer Software nicht so. Dies ist auch ein Grund dafür, dass weniger Fehler auftauchen oder schneller repariert werden. Natürlich ist der Einblick in den Source-Code dazu erforderlich.
Ein Beispiel
Für ein Projekt möchte ich gerne einen so genannten LAMP-Server einrichten um eine Web-Applikation zu entwickeln. LAMP bedeutet:
- Linux- das dazu benötigte Betriebssystem
- Apache – der Web-Server dazu
- MariaDB – eine relationale Datenbank
- PHP – die Programmiersprache
Alle diese Komponenten (Zutaten) sind OSS-Projekte und in diesem Fall gratis. Ein solches System aufzusetzen benötigt etwa 1-2h Aufwand und ich kann sofort mit der Entwicklung meiner Applikation starten. Selbst wenn ich mir in der Zukunft eine goldene Nase mit meiner super Idee verdienen würde, die Software bliebe gratis.
Fairerweise würde ich aber sicher einen Teil meiner Einkünfte als Donation der Community zukommen lassen. Die Community zu unterstützen heisst nämlich auch, zu gewährleisten das die Produkte, welche meinen Goldesel antreiben, weiterentwickelt werden.
Wir alle nutzen schon längst OSS
Wir wissen es einfach nicht. Wenn du auf Netflix einen Film/eine Serie anschaust – die streaming Server laufen mit FreeBSD. Dein Handy nutzt mit grosser Wahrscheinlichkeit OSS – Android genauso wie iOS. Du versendest/empfängst Emails? Sendmail und postfix, beides OSS-Produkte, dominieren den Markt für den Transfer deiner Nachricht.
Mit einem Marktanteil von 28.48% Apache und 37.7% nginx dominieren die zwei OSS-Produkte klar den Markt. Beim Surfen im Web landest du also zu 66% auf einem dieser Projekte.