zuerst will ich sagen, dass ich firmware-blobs als wesentlich weniger schlimm ansehe als normale blobs, dennoch werde ich in zukunft nurnoch hardware kaufen, ohne firmware oder mit offener firmware läuft. viele (nicht alle) der praktischen probleme von closed source verschwinden bei firmware, aber die moralisch/ethische situation ist dieselbe wie bei software.
Mmh, ich denke, dass Du Dich damit nur unnötig selbst einschränkst. Ich denke auch, dass Du gar nicht richtig weisst, von was Du da redest.
Dein Plan wird sich nicht durchführen lassen, denn schon heute kommt fast kein Stück Hardware mehr ohne Firmware aus. Selbst Festplatten, optische Laufwerke oder Grafikkarten haben Firmware. Beispiel Grafikkarte: Denkst Du, dass Dein BIOS (übrigens eine Art von Firmware, wenn man's so will) einen Treiber für genau Deine Grafikkarte eingebaut hat? Die Antwort ist, dass es ein Stück Software gibt, welches in einem Chip auf der Grafikkarte gespeichert ist. Diese Software wird vom BIOS verwendet, um die Grafikkarte zu initialisieren, damit Du irgendwann sehen kannst, wie der RAM hochzählt und was da sonst noch so angezeigt wird. Wenn Du ganz genau hinschaust, verwendet sogar Deine CPU eine Art Firmware, den Microcode.
Firmware wird aber nicht nur in der Initialisierungsphase gebraucht. Man baut heute Hardware wie z.B. Netzwerkkarten, in dem man, stark vereinfach dargestellt, eine relativ billige CPU nimmt und einen Speicherchip dazubaut. Nun schreibt man Programmcode, der die CPU dazu bringt, sich wie eine Netzwerkkarte zu verhalten. Den Programmcode (=Firmware) übersetzt man, schiebt ihn in den Speicher der Karte und fertig ist die Netzwerkkarte. Da flüchtiger Speicher oft billiger ist und zur Laufzeit eh gebraucht wird, verzichtet man eben auf Flash oder sonstigen nicht-flüchtigen Speicher und lässt den Treiber die Firmware in die Karte laden. Bei WLAN-Karten wird dieser "Trick" eben besonders häufig angewendet, aber die Anzeichen mehren sich, dass sich ähnliches in Zukunft auch für andere Bereiche einbürgern wird. Schon jetzt gibt es Ethernet-Adapter, RAID-Controller, etc. die alle auf Firmware angewiesen sind, die von der Host-CPU in den Controller geladen wird.
Zu Deinem Einwand, dass Firmware ja nicht so schlimm ist wie Binärtreiber: Der PCI Bus (und was danach kommt auch, PCIe, PCI-X, etc.) ist ein sogenannter "Multi-Master-Bus", d.h. jeder Busteilnehmer darf von sich aus Transfers einleiten. Und jetzt überleg noch kurz, für was "DMA" steht: Direct Memory Access bedeutet, dass auf den Hauptspeicher zugegriffen werden kann, ohne die Host-CPU zu bemühen. Jetzt brauchst Du nur noch 1 und 1 zusammenzählen: Zwei unabhängige Prozessoren mit eigenem Speicher und Programmen, ein DMA-fähiger Multi-Master-Bus dazwischen damit sie gegenseitig auf ihren Speicher zugreifen können und Du hast ein Setup wie
hier.
"Stop BLOB" ist gut, allerdings darf es, meiner Meinung nach, nicht um freie Software, moralische Grundsätze und Sicherheitsbedenken gehen. Einzig und allein Wartbarkeit von Treibern (und nicht von Firmware) ist ein echtes und sehr wichtiges Argument.