[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
www/philosophy free-hardware-designs.html
From: |
Richard M. Stallman |
Subject: |
www/philosophy free-hardware-designs.html |
Date: |
Sun, 9 Apr 2023 17:01:01 -0400 (EDT) |
CVSROOT: /web/www
Module name: www
Changes by: Richard M. Stallman <rms> 23/04/09 17:01:01
Modified files:
philosophy : free-hardware-designs.html
Log message:
free-hardware-designs.html: Explain better the logic about where
we draw the line between modifiable and non-modifiable firmware.
CVSWeb URLs:
http://web.cvs.savannah.gnu.org/viewcvs/www/philosophy/free-hardware-designs.html?cvsroot=www&r1=1.32&r2=1.33
Patches:
Index: free-hardware-designs.html
===================================================================
RCS file: /web/www/www/philosophy/free-hardware-designs.html,v
retrieving revision 1.32
retrieving revision 1.33
diff -u -b -r1.32 -r1.33
--- free-hardware-designs.html 5 Mar 2022 13:35:13 -0000 1.32
+++ free-hardware-designs.html 9 Apr 2023 21:01:01 -0000 1.33
@@ -109,7 +109,7 @@
<p>What is the boundary, in digital devices, between hardware and
software? It follows from the definitions. Software is the
-operational part of a device that can be copied and changed in a
+operational part of a device that can be copied, and modified with a
computer; hardware is the operational part that can't be. This is the
right way to make the distinction because it relates to the practical
consequences.</p>
@@ -124,14 +124,37 @@
memories typically contain an embedded nonfree program that could be
replaced by the manufacturer.</p>
-<p>We can treat that firmware as hardware with a small stretch, but we
-must not try to have it both ways. If we treat certain firmware as
-impossible to change, since it is not realistically possible to avoid
-that firmware, we must also treat it as impossible to change when we
-might wish it could be changed. That entails refusing all upgrades or
-patches to that firmware. That is what I do, and this is the reason I
-do it. Until we can get computers with entirely free firmware, there
-is no feasible way to do better than this.</p>
+<p>We can think of the difference between built-in firmware and
+equivalent hardware as a minor implementation detail, provided that we
+are sure in either case that it won't be changed. A hardware circuit
+can't be changed; that's its nature. If it's acceptable for a device
+to be implemented with internal circuitry that no one can alter, then
+an internal program that no one can alter is no worse. It would not
+be sensible to reject an equivalent internal software implementation,
+when operationally they are indistinguishable.</p>
+
+<p>The equivalence falls apart, however, when the software implementation
+is not totally internal and some company can modify that code. For
+example, when firmware needs to be copied into the device to make
+the device function, or included in the system distribution that you
+install, that is no <em>internal</em> software implementation; rather,
+it is a piece of installed nonfree software. It is unjust because some
+manufacturer can change it but you can't.</p>
+
+<p>In order for a firmware program to be morally equivalent to hardware,
+it must be unmodifiable. What about when the device can't possibly run
+without some firmware and it offers a way to modify that? We can make
+that firmware unmodifiable in practice by taking care never to let that
+replacement happen. This solution is not entirely clean, but no
+entirely clean solution has been proposed; this is the only way we know
+to preserve some meaning for the rejection of nonfree software while
+using that device. This is much better than just giving up.</p>
+
+<p>But we can't have it both ways. To make preinstalled firmware
+effectively unmodifiable by not letting anyone invoke the method to
+change it, we must carry that out without exception even when there are
+changes we would wish were installed. That means rejecting all upgrades
+or patches to that firmware.</p>
<p>Some have said that preinstalled firmware programs and
Field-Programmable Gate Array chips (FPGAs) “blur the boundary
@@ -525,7 +548,7 @@
<p class="unprintable">Updated:
<!-- timestamp start -->
-$Date: 2022/03/05 13:35:13 $
+$Date: 2023/04/09 21:01:01 $
<!-- timestamp end -->
</p>
</div>
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- www/philosophy free-hardware-designs.html,
Richard M. Stallman <=