Diese Frage stellen sich viele die eine neue Software benötigen, zum Beispiel ein Microsoft Word zum Schreiben von Texten, weil diese auf dem neuen Rechner noch nicht installiert ist. Im zweiten Schritt stolpert man dann meistens darüber, warum die Software so teuer ist. Denn Software-Produkte gibt es in allen Varianten: von der kostenlosen Freeware-Version bis hin zu speziellen Software-Produkte, die so teuer wie ein Mittelklasse-PKW sind.
Darüber mag man schimpfen und entsetzt sein, denn schließlich benötigt man schon allein für den Büroalltag verschiedene Softwareprodukte, so dass ein üppiges Investment-Sümmchen zusammenkommen kann, bevor man mit der eigentlichen Arbeit loslegen kann. Bevor man aber Software neu kauft, kann man sich auch alternativ gebrauchte Software kaufen, und so einige Taler sparen. Insbesondere bei Microsoft Lizenzen, die in großen Stückzahlen innerhalb von Unternehmen benötigt werden, die User-basiert sind, wie zum CAL-Lizenzen für den Serverzugriff bergen ein großes Sparpotential durch die Verwendung entsprechender Lizenzhändler.
Gedanklich Trennung zwischen Hard- und Software
Aber wieso ist das nun so, dass Softwareprodukte überhaupt Geld kosten? Dazu muss man erstmal die gedankliche Trennung zwischen Hardware und Software vollziehen. Den meisten ist heutzutage der Unterschied klar. Dennoch beobachtet man immer wieder bei weniger mit Computer versierten Menschen, dass die Meinung besteht, man habe ein teures Gerät, den PC, gekauft und nun müsse doch alles gehen: Texte schreiben, Drucken, Bilder bearbeiten, Präsentationen erstellen, Videos erstellen, etc. Diese Leute fühlen sich dann oft ein Stück weit betrogen, weil sie viel Geld bezahlt haben für ein Gerät, welches ihrer Ansicht nach gar nichts kann.
Deswegen muss man sich klar machen, dass die reine Computer-Hardware erstmal nur dumme Elektronik ist. Wie bei einem Säugling ist physisch alles vorhanden, aber konkrete Fähigkeiten und konkretes Wissen fehlen noch. Beim Menschen muss das in einem langjährigen Lernprozess erworben werden, was vergleichbar mit dem Programmieren einer Software ist. Ist eine Fähigkeit gelernt, wie Fahrradfahren oder Schwimmen, dann können die Bewegungsabläufe immer wieder abgerufen werden, wenn diese benötigt werden. Dies entspricht beim Computer dem fertigen Programm.
Programmierung von Software
Wie das Lernen für den einen mehr oder weniger Anstrengung bedeutet, so verursacht das Programmieren von Software ebenfalls Aufwendungen und Arbeit. Und macht das nicht gerade einer ehrenamtlich als Hobby, dann muss diese Arbeit auch bezahlt werden.
Programmiert wird die Software in entsprechenden Entwicklungsumgebungen, wie z.B. Visual Studio unter Verwendung von bestimmten Programmiersprachen, wie Java, C++ oder Delphi. Nachfolgend ist ein einfacher Code als Beispiel in der Sprache C# eingefügt:
var rand = new Random();
var condition = rand.NextDouble() > 0.5;
int? x = condition ? 12 : null;
IEnumerable<int> xs = x is null ? new List<int>() { 0, 1 } : new int[] { 2, 3 };
Dieser Code macht einen einfachen Vergleich einer Zufallszahl führt dann weitere Befehle zum Verarbeiten von Werten in Form einer Liste aus. Dies ist eine winzige Funktion und bei großen Software-Projekten kann der Code mehrere Millionen Zeilen lang werden und viele tausende Dateien. Allein Code und Dateien zu managen und zu verwalten sind komplexe Aufgaben. Dazu kommen die geistig anspruchsvollen Aufgaben sich effiziente Algorithmen auszudenken und das ganze auf eine vernünftige Software-Architektur aufzusetzen.
Am Ende dieses Geschehens wird der so geschriebene Code kompiliert. Dabei findet eine Übersetzung des geschriebenen Codes in Maschinenbefehle statt. Diese kann dann der Computer direkt ausführen. Um beim menschlichen Beispiel zu bleiben, kann man sich vorstellen, dass ein 5-Sterne-Koch (der Programmierer) eine Kochanweisung schreibt, wie ein neuartiges Gericht zu fertigen ist. Das geschrieben Wort ist der Code oder Algorithmus. Der Anwender (der Koch) übersetzt das durchs Lesen (das Kompilieren) in ausführbare Handlungen. Diese Handlungen werden vom Gehirn gesteuert (Befehle des Maschinencodes).
Rechenbeispiel
Mal angenommen eine Softwarefirme programmiert eine neue Software mit 100 Mitarbeitern und benötigt dafür 1 Jahr lang und der Mitarbeiter kostet 60EUR pro Stunde und hat einen 8 Stundentag. Dann entstehen der Firma bei angenommen 200 Arbeitstagen Personalkosten in der Höhe von 9.6Mio Euro. Dazu kommen noch viele andere nicht sichtbare Kosten inkl. Steuern für so eine Firma.
Jetzt kann sich überlegen, wie oft die Software zu welchem Preis verkauft werden muss, damit es für die Firma mindestens kein Minusgeschäft wird.
Zudem setzt das Programmieren logische und abstraktes Denken voraus und auch gewisse mathematische Fähigkeiten. Entsprechend gute Programmierer haben meistens eine langjährige Ausbildung hinter sich und sind relativ selten auf dem Arbeitsmarkt. Dadurch werden die oben angesetzten 60EUR Stundenlohn wahrscheinlich kaum ausreichen bei einer internen Vollkostenrechnung einer Firma.
So liegt es also auf der Hand, dass solche Software Geld kosten muss, denn ein jeder möchte für seine Arbeit bezahlt werden.
Kostenlose Software
Da stellt sich nun die Frage, warum es dennoch kostenlose Software gibt. Auch kostenlose Software ist mit den oben beschriebenen Aufwendungen verbunden. Es gibt mindesten zwei Varianten von kostenloser Software. Entweder handelt es sich nur um eine Testversion mit eingeschränkter Funktionalität, die zum Kauf der Vollversion anregen soll oder die Software nutzt ein anderes Geschäftsmodell und statt Geld werden persönliche Daten eingesammelt. Oder es wird die Software kostenlos bereitgestellt, dann aber über teure Support-Verträge die Aufwendungen finanziert.
Die andere Variante ist, dass sich eine Gemeinschaft Freiwilliger findet, die gemeinsam auf mehr oder weniger ehrenamtlicher Basis oder auf Basis von Spenden eine Software programmiert und dann kostenlos zur Verfügung stellt. Dahinter stecken oft idealistische Gründe, indem man Alternativen zu den großen Tech-Konzernen schaffen möchte. Oder man möchte den Quellcode öffentlich machen, was bei kommerzieller Software meist ein Betriebsgeheimnis ist. So können andere den Quellcode u.a. auf Sicherheitslücken oder ungewünschten Datentransfer überprüfen.
So ehrenhaft diese idealen Ziele auch sind, hinkt die Freeware aufgrund des fehlenden kommerziellen Konkurrenzdrucks oft käuflicher Software in Usability und Funktionsumfang hinterher.
Fazit
Man halte es hier wie mit richtigem Werkzeug. Wer zwei Mal in seinem Leben ein Loch in die Wand bohrt, der kann sich die günstige Bohrmaschine kaufen oder auf kostenlose Nachbarschaftshilfe einlassen. Wer beruflich dicke Bretter bohrt, der sollte auch in gutes Werkzeug investieren.