permacomputing

Source repository for the main permacomputing wiki site
git clone http://git.permacomputing.net/repos/permacomputing.git # read-only access
Log | Files | Refs

permacomputing.mdwn (3732B)


      1 **Permacomputing** is both a concept and a community of practice oriented
      2 around issues of resilience and regenerativity in computer and network
      3 technology inspired by permaculture.
      4 
      5 In a time where computing epitomizes industrial waste and exploitation,
      6 permacomputing encourages a more sustainable approach, maximizing hardware
      7 lifespans, minimizing energy use and focussing on the use of already available
      8 computational resources. Permacomputing asks the question whether it is
      9 possible to rethink computing in the same way as permaculture rethinks
     10 agriculture. Permaculture is the science and practice of creating
     11 semi-permanent ecosystems of nature. The resilience of any such ecosystem is
     12 equal to its diversity and interconnectedness. Permaculture design is a system
     13 of assembling conceptual, material and strategic components in a pattern which
     14 functions to benefit life in all its forms. It seeks to provide a sustainable
     15 and secure place for living things on this earth.
     16 
     17 At first it may seems paradoxical to connect permaculture and computation.
     18 Indeed, an extractive technology that depends on a wasteful use of finite
     19 resources can hardly be permanent. Therefore, by making this connection, what
     20 we are truly asking is whether or not there can be a place for computer and
     21 network technology in a world where humans contribute to the well-being of the
     22 biosphere rather than destroy it? And if yes, how?
     23 
     24 Permacomputing wants to imagine such a place and take steps towards it. It is
     25 therefore both utopian and practical. We want to find out how we can practice
     26 good relations with the Earth by learning from ecological systems to leverage
     27 and re-center existing technologies and practices. A radical reduction of
     28 wastefulness is a fundamental aspect of it: maximize the hardware lifespans,
     29 minimize the energy use. And this is not just about a set of technical problems
     30 to be fixed­—the attitudes also need a radical turn. Understandability is
     31 aesthetics, virtual does not mean immaterial and doing things with less is not
     32 _a return to the past_. We want to investigate what a permacomputing way of
     33 life could be, and what sort of transformative computational culture and
     34 aesthetics it could bring forward.
     35  
     36 The [[principles]] of permacomputing are:
     37 
     38   * Hope for the Best, Prepare for the Worst
     39   * Care for All Hardware — Especially the Chips
     40   * Observe First
     41   * Not Doing
     42   * Expose the Seams
     43   * Consider Carefully the Interaction Between Simplicity, Complexity and Scale
     44   * Keep It Flexible
     45   * Build on Solid Ground
     46   * (Almost) Everything has a place
     47   * Integrate Biological and Renewable Resources
     48 
     49 Properties of permacomputing systems
     50 ------------------------------------
     51 
     52 The principles concretely manifest themselves in various forms so as to
     53 highlight the following properties:
     54 
     55 * **accessible**: well documented and adaptable to an individual's needs.
     56 * **compatible**: works on a variety of architectures.
     57 * **efficient**: uses as little resources (power, memory, etc) as possible ([[minimization]]).
     58 * **flexible**: modular, portable, adapts to various use-cases.
     59 * **resilient**: repairable, [[offline-first|offline first]], low-maintenance, designed for disassembly, [[planned for longevity|planned longevity]], [[maximized lifespan|lifespan maximization]], descent-friendly or [[designed for descent|design for descent]]
     60 
     61 Some additional concerns are of indirect interest because they impose costs on the entire end-to-end process of software creation:
     62 
     63 * it's [[bootstrapped|bootstrapping]] from machine code without circular reasoning (bootstrappable builds)
     64 * it's obvious what source code went into it (reproducible builds)
     65 * it's easy to audit its source code, including all dependencies