Various site changes, hardware freedom essay

This commit is contained in:
mossfet 2023-08-01 22:55:52 +01:00
parent 514b7a5f73
commit d69d9331fb
3 changed files with 42 additions and 2 deletions

View File

@ -0,0 +1,41 @@
---
title: Why GNU is wrong about firmware
author: Mossfet
date: 2023-08-01T19:40:52+01:00
draft: true
---
Note: I might end up using the FSF and GNU interchangeably because they're basically the same people anyway.
I've recently been quite impressed with the efforts of Leah Rowe, the lead as I understand it of the Libreboot projecct, not particularly by her changes in the binary blob policy to the project (not that those are bad changes by any means), but by her rebuttal to the fsF's criticism to those changes.
Her efforts at communication have focused primarily on the *outcome* of the FSF's RYF guidelines and why the logical conclusion that the FSF have taken their guidelines to are wrong - that is, why the FSF have dogmatised themself into a corner by insisting that we pretend software is hardware and that the Librem 5 is any more free because it takes arbitrary gymnastics around its nonfree firmware blobs. She has done an excellent job in that regard. I want to try to state my case for the fundamental error behind the way they view software and hardware freedom, and how they came to that corner in the first place.
## What GNU believes
I believe that GNU's issues with software freedom stem fundamentally from their views on libre hardware, as expressed in Richard Stallman's piece [Free Hardware and Free Hardware Designs](https://www.gnu.org/philosophy/free-hardware-designs.en.html), in which they state a case for why free hardware (or "free-design hardware", as they put it) is fundamentally different from free software. In it, they make two (correct) points.
1. That the utility of free hardware is impeded by a lack of access to the means of production necessary to create modified designs
2. That, given that it is significantly locked down (burned into a non-replaceable ROM, signed, etc), a piece of proprietary firmware is ethically indistinguishable from mere hardware.
Addressing each point:
Stallman argues that free hardware cannot be as useful as free software in the present day due to technological limitations. Taking, as an example, a free-design motherboard such as System76's recently published-and-copylefted Virgo mainboard (nonfree CPU notwithstanding). If I bought that laptop the day it came out, and decided I was unhappy with a particular aspect of its design, I would need to purchase or otherwise make use of an expensive manufacturing facility to make a replacement, which would cost much more than the original - one cannot simply modify a motherboard with a soldering iron and a pair of tweezers anymore, and the lack of access to the equipment and manpower necessary to make a new one makes my right to modify this motherboard a little shaky. Until every component on a motherboard can be 3D-printed for cheap (when pigs fly!), this motherboard cannot truly be free in the same way that software can. For this reason, the FSF chooses to explicitly focus on free software, with little regard to free hardware. I have some problems with this approach, which will be discussed in the addendum, but it is overall acceptable.
Stallman also argues that, given a sufficiently immutable design, a piece of firmware on a device can be treated as hardware, not software. A user does not much care about whether the inner workings of a network card are software burned into a ROM, their own ASIC, or clockword. It will work all the same, and they cannot change it all the same. For this reason, an immutable firmware has the same freedom considerations as hardware. This is also acceptable.
## Why GNU is wrong
The problem is that Stallman (and by extension, GNU policy, RYF, etc) has taken "hardware cannot be made fully free", and through some phenomonal feat of mental gymnastics, turned it into "hardware can be considered inherently free". In giving up on free hardware, they have forced themself to pretend that their is no issue simply because they cannot control it, and have therefore degraded its computing freedom implications in their mind to the extent that they come to false conclusions. The false conclusion that they have made from displacing free hardware as less significant than free software is as follows:
They believe that a piece of proprietary software is inherently less freedom respecting than (even proprietary) hardware.
Taking their microcode issue as an example, GNU would take the microcode built into the CPU as hardware (see point 2), and as hardware, give up on its importance. In pretending that it is immutable when it is not, they are able to imagine a world in which that is simply the hardware design, and in doing so is outside of their domain of "free software". Paradoxically, in their worldview giving the user the choice of multiple microcode versions, of which they may pick any one that they like, becomes less freedom respecting than simply having one built-in microcode, because hardware is outside of the scope of their activision. Pushing something out of scope (like free hardware), or into an area you cannot control (like an immutable circuit) does not actually remove the freedom concerns, it merely obfuscates it.
This is where GNU comes to heads with others in the firmware issue - in having a backwards definition of freedom with regards to hardware, they become unwilling to even consider times when using proprietary software may be more freedom-respecting than a corresponding piece of code embedded into hardware.
## Note - why free hardware is actually useful
While this is not relevant to the point I made in this essay, I think Stallman gives insufficient credit to the benefits of a free hardware design. Stallman hyper-focuses in on the (lack of) specific needs an end-user has for a motherboard design, but that design being open can effect an end-user or a developer even if one lacks the means to literally establish an electronics factory. For instance, if Asus were to release a motherboard with a flaw, perhaps Gigabyte could sell me a modified version from their own factories. If I was unhappy with some of Intel's CPUs but wanted an x86-compatible processor, maybe Qualcomm could sell me something that floats my boat. Having any group or individual with the capital with which to produce somethign from a hardware design is significantly more freeing than just one.
Stallman should know this applies to software, too. Most people will never be able to inspect or modify a piece of software. It's a practise limited to people with sufficient programming skills and a computer that one could develop from. An Android user without a PC will not be able to write a modified version of their favourite app. However, this still comes with real benefits from people that are tangential to the four freedoms - living in an ecosystem that is more able to solve problems to meet people's needs. That Android user will still benefit from the choice of multiple forks, from knowing that their application does not spy on them, etc.

View File

@ -1,9 +1,7 @@
---
title: Mossfet's Life
draft: true
---
Mossfet's Life is a [Conway's Game of Life](https://en.wikipedia.org/wiki/Conway%27s_Game_of_Life) implementation for the GNOME Platform, written with GTK4 and libadwaita. It uses Rust, and the [Relm4](https://relm4.org/) library to abstract over GTK's Rust bindings.
Source is available [here](https://git.solarpunk.moe/mossfet/game-of-life-gui)

View File

@ -11,3 +11,4 @@ Sites that I enjoyed visiting
* [TakeV's site](https://ta-kev.digital/)
* [Haskal's site](https://tilde.town/~haskal/)
* [Thufie's site](https://thufie.lain.haus/)