commit beab501dd1281a9d0554e26a2dac57b46a611e8a
parent a7961769f96543de7591472d7efa107f8d377d58
Author: Ville-Matias Heikkila <viznut@low.fi>
Date: Tue, 14 Jun 2022 15:56:14 +0300
new page
Diffstat:
1 file changed, 41 insertions(+), 0 deletions(-)
diff --git a/dependency.mdwn b/dependency.mdwn
@@ -0,0 +1,41 @@
+# Dependency
+
+A **dependency** refers to another piece of technology ([[software]] or
+[[hardware]]) a technology depends on for using. In software, "dependencies"
+may refer to the entire network of dependencies or just the software part of
+it.
+
+The dependencies of a normal computer application include the physical
+computer, the energy source (including the grid and all the economic
+dependencies needed to maintain it), the [[operating system]], and a set of
+libraries (some of which may be bundled with the OS). An increasing number
+of computer programs also depend on an [[Internet]] connection and an
+arbitrary server often maintained by the corporate owner of the program.
+
+Nature is full of dependencies but most of them are **soft dependencies**:
+animals can usually find nutrition from whatever other organisms are
+available instead of strictly depending on specific species. In high
+technology, however, we are mostly talking about **hard dependencies**:
+computers and cars need to be built from very specific components, some of
+which may only have only one manufacturing plant. Programs often depend on
+specific versions of specific libraries, and changes to those libraries may
+[[render the program unusable|software rot]].
+
+[[Documentation]] can be thought of as a soft dependency in the computer
+world. Some kind of documentation is usually needed in order to fully
+utilize a program or a device, but this documentation can come from several
+alternative sources. It can also be omitted if the user has already learned
+the necessary information.
+
+Permacomputing calls for dependency-awareness, both regarding the material
+dependencies (the grid, the manufacturing infrastructure, etc.) and the
+digital ones. In both cases, the networks of hard dependencies are often
+several orders of magniture larger than they should be, so permacomputing is
+concerned about shrinking the networks as well as moving the emphasis
+towards soft dependencies.
+
+Software dependencies may sometimes include non-open-source pieces of
+software. These can usually be tolerated as long as there's a way to run
+them in an open-sourced emulator. Depending on an Internet connection in
+programs that are not essentially networking-related, however, should not be
+tolerated, especially if this means depending on an arbitrary server.