On the topic of (what C.A. calls) "Living Structure" and bootstrapping:
I (and others here) have determined that part of the problem with the way most software is created (and its usability) is that it's very rigid and locked down. I see common themes of code being made of actual structure that can be manipulated directly (versus text); removing the separation between code & data, or between the thing being created and the tool used to create it, or programming language and program, or language and tool/UI.
C.A. describes the modern way of building and designing things as trying to find a good configuration (e.g. a blueprint, or model, or business requirements), and then creating the thing from that rigid form. The result is never "living structure" (e.g. cannot be properly adapted to unique contexts and needs, and cannot evolve as those things change). In contrast, he suggests a process of "unfolding wholeness", where a thing evolves step by step directly in the context where it is to be used or occupied. It is "whole" at each step, and differentiations are introduced gradually to fit the context. This is in stark contrast to mass production of modular units, for example.
Applied to software, this means that the tool, or the model, or the design process, or whatever, must evolve with the software (perhaps even with the user), otherwise you are left with something rigid that cannot perfectly fit the context. Essentially, I'm drawing a parallel between "unfolding wholeness" (aka structure preserving transformations) and bootstrapping. And not just bootstrapping a language, but also a tool, a UI, ... everything.
All things that can be called "living structure" exhibit such properties. So, the ability for software to be created and manipulated as "unfolding wholeness" through structure preserving transformations (e.g. extreme bootstrapping at all levels) ... This is key to creating the "living structure" that software can be. Both as LS itself, and also in that it can be used to create LS -- that is, people can create whatever they want, however they want, have it for the context uniquely ... and that also has strong implications for changing the way that the modern world functions as a whole. So the potential for living structure is enormous ... And recursive!
C.A. identified that recursiveness, too. In all living structure, there are things called "centers", which are essentially defined as connections of other centers that form a stronger whole center together. The livingness (or wholeness) of any center is recursively dependent on how alive or whole it's inner centers are. Living structure, is made of living structure. And living structure can only be created by/from other living structure.
So back to programming, this means that in order for code to be living structure, then even the tools used to make the code need to be living structure. And if you want software that can be used to create "living structure" in the world, then that software itself must also be living structure.