ich habe eine Frage in die Runde. Könnt ihr mir einen Literaturtipp für eine aktuelle “Softwarekritik” oder “Softwareanalyse” geben. Die Zeiten heute machen offensichtlich, wie einerseits alle auf digitale Lösungen setzen und gleichzeitig ihre eigenen Süppchen kochen. Da ich selber mit den unterschiedlichsten Steuerungen gerade konfrontiert bin, wird mir klar in welchem chaotischem Zustand “wir” uns befinden. Ich würde mich gern belesen, um ansanztweise zu verstehen, was überhaupt “Software” meint. Ich weiß aber nicht wo ich anfangen soll.
Ich suche ein Buch, einen Film, einen Artikel,… in dem erklärt wird, was eigentlich Software ist.
Grundsätzlich “ist” mir klar, dass es neben der Hardware eine Software gibt. Diese besteht aus Sprachen, mit denen Programme geschrieben werden, die die Grundlage zum steuern von Geräte und Prozesse sind.
Ich bin so groß geworden, dass Firmen wie Windows oder Apple “bäh” sind, weil sie ihre Programme nicht offen zugänglich machen oder sogar verschlüsseln um eine Abhängikeit zu kreieren; Open Source hingegen “hui” ist. Tatsächlich kochen alle ihre eigenen Süppchen, ob das nun große Firmen sind, oder kleine Projekte die sich ihre Programme selbst schreiben. Ein aktuelles Beispiel sind z.B. Videokonferenzen im Homeschooling oder Verwaltungsprogrammen von Behörden. Es gibt also einen bunten Mix an guten oder miserablen Lösungen.
Aus dem Maschinenbau kenne ich es so, dass Leute nur noch die Bedienung von Programmen lernen, aber die Sprachen dahinter nicht mehr kennen. Ich bspw. kann relativ gut 3D-Modellieren, aber nur mit einem Programm von dem ich auch nur die Benutzeroberfläche kenne. Ähnliches erlebe ich beim Programmieren von Maschinen. Dafür werden Programme genutzt, deren Programmierung nur noch die "Alten " kennen. Ich könnte jetzt auch zu Suchmachinen, Algorithmen und Co abbiegen.
Die Machbar habe ich immer als einen Ort verstanden an dem wir Wissen “verkollektivieren” und das unabhängig von akademischen und kommerziellen Institutionen. Also Baupläne öffentlich machen, um Patente zu vermeiden, Software selber schreiben, um Geräte oder Prozesse von Grund auf steuern zu können…
Jetzt wo ich aber nochmal intensiv die kommerzielle Seite der Maschinen- und Anlagensteuerung kennenlerne, frage ich mich was hier passiert. Denn weder sehe ich einen Sinn darin, dass alle ihre eigene Prgramme schreiben, noch dass alles gleichgeschalten ist. Und wenn ich darüber länger nachdenken, fällt mir einfach auf, dass ich überhaupt nicht kapiere, was eigentlich in den letzten Jahren passiert ist.
Danke für deine Ergänzung. Ich glaub da verfließen verschiedene Ebenen daher ist es nicht leicht zu verstehen was du meinst.
Als erstes ist Software ja erstmal Neutral. Vielleicht am besten erklärt mit einem Text. der kann in einer Zeitung stehen, in einem gebundenen Buch oder auf einem zerknüllten Zettel.
Wichtig ist was mit dem Text in den verschiedenen Formen passiert und wie sie erstellt worden. Um bei der Analogie zu bleiben und auf den Aspekt des erstellens zu erst einzugehen macht es einen Unterschied ob du den Text für dich schreibst oder mit anderen Zusammen in einem stetigen Austauschprozess, ob du den Text in einer Sprache schreibst die viele Leute lesen und verstehen können oder die du dir selbst ausgedacht hast. Letzteres würde schon mal den Prozess mit anderen den Text zu schreiben erschweren.
Jetzt haben wir das Was (text), das Wie (schreiben) aber noch nicht das Ziel.
Bei Texten kann das Ziel sein Literatur mit Ideen und Gedankenwelten zu erschaffen die in dem Leser was auslösen sollen. Seien es imaginäre Welten wie Harry Potter bis Grimms Märchensammlung als Beispiel. Aber man kann auch Dinge wie Kochrezepte, Einkaufslisten, Merkzettel, Gesetze, Gebrauchsanleitungen etc. aufschreiben. Da ist das Ziel eher das Verhalten der Lesenden zu steuern.
Nun kommen wir zurück zur Software. Es handelt sich zu erst mal nur um Text den jemand aufschreibt. Spannend wird es wenn eine Maschine damit gesteuert werden soll. Dafür brauch es meist einen Interpreter/Compiler. Das ist ein Programm mit dem die Software in Maschinencode übersetzt wird. (Um im Bild zu bleiben könnte man auch “gelesen wird” sagen)
Nun könnte man Maschinencode auch direkt schreiben. Dies ist meist aber recht aufwendig für einen Menschen weswegen man es mit verschiedener Software automatisiert hat.
Wenn die Maschine/die Hardware/der Automat nun die für sie gedachte Software ausführt bewegt sie sich entsprechend.
Deine Fragen zielen jetzt stark auf die gesellschaftlichen Implikationen des Vorgangs. Da wird es zusätzlich kompliziert. Im ersten Schritt könnte man sagen, dass doch jeder die Maschinen die er baut selbst programmieren kann.
Das Prinzip der Arbeitsteilung hat nun dazu geführt, dass nicht jeder programmieren also die entsprechenen Texte schreiben kann. Dazu sind verschiedene Maschinen wie z.B. moderne Computer auch extrem komplex und bestehen aus vielen Komponenten die alle ihre eigene Software haben. Damit die mit einander “reden”/interagieren können brauchen sie weitere Software die als Treiber bezeichnet wird.
Weiter ist Arbeitsteilung ja auch super weil sie schnellere Erkenntnisgewinne und höhere Produktivität ermöglicht.
Nachteil ist das Wissen gerne mal monopolisiert wird und es nicht mehr nachvollziehbar wird was im einzelnen passiert.
Nun wollen viele in unseren Kreisen alles selbst machen oder wenn das nicht geht wenigstens verstehen was da passiert.
Bei mechanisch gesteuerter Hardware kann man dies noch oft durch reverseengeneering. Ein Beispiel dafür ist, dass man sich den Schaltplan mit den Komponenten anschaut. Aber auch komplexere Dinge wie die Arbeitsweise der Erika Schreibmaschinen konnten analysiert werden.
Wenn Software ins Spiel kommt wird es kompliziert. Die kann man dann oft weil sie auf dem Gerät bereits in Maschinencode übersetzt wurde, nicht verstehen. Man weiß also nicht ab wann ein Gerät, dass macht was es macht und warum gerade nicht.
Außer die Software würde im Original vorliegen. Dann müsste sie nur in einer Sprache geschrieben sein, die Leute auch lesen können (z. B. nicht extra ausgedacht sondern was standardisiertes) und der Text müsste zugänglich sein. Auch das schönste Buch bringt einem nix wenn man es nirgends kaufen oder ausleihen kann. Dann können einem die Leute noch so oft erzählen wie schön die Geschichte ist oder wie sie ihr Leben verändert hat. Man weiß einfach nicht wie und was sie dafür gelesen haben.
Nun war Software am Anfang zugänglich und wurde geteilt. Irgendwann kamen Leute auf die Idee, dass sie das Programm verkaufen können wenn niemand den Text dahinter kennt. Heißt sie haben angefangen Hardware mit der Software dazu zu verkaufen und Schutzstrukturen wie Urheberrechte, Lizenzverträge und Patente in Stellung gebracht um auf diese Software ein exclusives Verwertungsrecht also Monopol zu erlangen. Monopole bringen mehr Geld, kennste ja aus anderen bereichen.
Nun gibt es Autoren die alleine gute Geschichten schreiben können und über diese nur ein paar Lektoren drüber schauen lassen müssen bevor sie breit gelesen und verstanden werden können. Aber es gibt auch Gemeinschaftswerke die viele Autoren brauchen bevor das Publikum von der Story mitgerissen wird. Ein Beispiel ist die Bibel.
Dazu gibt es noch Geschichten die so gute Storys abgeben, dass geremixt und in neuen Kontexten gebracht die Leute sie wieder und wieder lesen. Hier sind vor allem Märchen ein Beispiel die erst die Grimms sammelten und von oral weiter gegebenen Geschichten in aufgeschriebene übertrugen und seit dem remixer wie z.B. Walt Disney den Stoff immer wieder durchkauen und neu interpretieren.
Warum sag ich das? Mehrfache Autorenschaft und Remix wird natürlich bei geheimgehaltener monopolisierter Software verhindert.
Doch an dieser Stelle muss ich erstmal enden und fragen ob meine Punkte soweit angekommen sind.
Den letzten Aspekt führt Raymond im Text “The Cathedral and the Bazaar” sehr gut aus. Das wäre so ein Text den ich dir auf deine Frage empfehlen kann.
Hey Martin,
Danke für die Antwort. Deine Erklärungen sind gut verständlich und alternativ zum “Text” könnte ich ähnliche Vergleiche mit “Musik” ziehen. Ich lese erstmal deine Empfehlung.