Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

100 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Civboot: civboot a civilizational bootstrapper civboot

To grow a tree you need a seed. To build a computer you need a Civboot. In the same way that a tiny seed has everything needed to grow into a tree, we should create a tiny Civboot which has everything needed to build a modern Civilization.

Want to share your thoughts or ask questions? Feel free to open an issue here or join the mailing list.

What is a Civboot? Conceptually it is a seed from which can grow the essential technology of Civilization. Imagine a factory capable of building a minimalist general-purpose personal computer, like something from the 80's/90's or better. A Civboot factory is one which can build such a factory from raw materials.

  • OR for only software, see the (working!) self-contained developer tech stack, Civstack.

  • OR imagine that you wanted to be able to build computer chips and other electronic components entirely "in house" (by a small company) with no dependency on a supply chain. How large and expensive would such a factory currently be? Can we do better?

  • OR imagine you wanted to have a self-sufficient factory on Mars that can build computer chips and other necessary "tools that build tools". How large would such a factory have to be and what would we need to take from earth?

Today's technology stack and supply chain are too large and complex to be produced in house or taken to Mars, much less understood from books or working examples. Simplifying parts of our technology stack has many benefits:

  1. Provides working example that can be used as reference to learn from.
  2. Creates a base to modify and build new ideas and approaches.
  3. Allows adaptability if supply chains are disrupted or resources are scarce, especially in places with fewer resources.

The goal of Civboot is to follow the bellow process for each technology stack (i.e. software, precision engineering, semiconductor fabrication, etc):

  1. Reduce its complexity to something more replicatable and understandable.
  2. Build a working system from as simple of tools as possible.
  3. Document that system and its construction.
  4. Repeat until it can rebuild itself with the knowledge of only a small group of people.

The above should be continued for all technology stacks required to build the crown jewel of justified complexity in our Civilization: the computer.

Unfortunately, modern computers require a large and complex supply chain including multi-billion dollar silicon fabrication facilities. These require other billion dollar industries for their custom precision engineered tools, which themselves depend on other industries, etc. To be able to construct a CPU (and an entire Civboot) at a small scale (i.e. a University) we will likely need to pursue different technologies, such as Thin Film Transistors which can be made using low temperature processes on glass (instead of pure silicon).

These CPUs will be more rudimentary than the 2GHz with 8GiB of RAM we find in modern smartphones. Therefore, we will also need simpler software -- something like 100MHz CPUs with only a 10MiB of memory.

The Civboot manufacturing, hardware and software stacks will not be built in a night. It will require probably hundreds of interested people working in many different fields. All Civboot components should be designed so that parts of them can be built with off the shelf components. The end goal is that every component can be built inside a Civboot. "Every component" means not just that you could use a Civboot to build a CPU, it means you can use a Civboot to build a Civboot from only raw or recycled materials.

Once a stack can be self-replicated we should keep iterating on the process. Make each sub-stack:

  1. Easier to learn
  2. More concisely documented
  3. Better, simpler and cheaper to build
  4. Repeat

Even if we fail, it will be worth the effort. Having a simplified working-understanding of technology has many advantages other than the construction of a Civboot.

Non-goals

Civboot only needs to contain working prototypes and tutorials which provide a working knowledge of how to reconstruct and improve the Civboot. Deeper understanding of things like transistors, hardware architecture, software architecture, chemistry, mechanical engineering, etc can take potentially a lifetime of learning. It is hoped that Civboot can be a foundation for that learning, but Civboot itself aims to provide only a working understanding.

Progress

The following are what is necessary to complete a Civboot. Items without nested bullet points are not currently being worked on directly.

  • Civstack - a self-contained software developer tech stack, see the project for the full details
    • Uses Lua, eventually it will implement a Lua in it's own iA assembly.
    • Ele Editor - now in alpha (usable/hackable) stage.
    • Shell - Ele will have a mode to act as a Lua shell
    • Version Control - PVC (patch based version control), close to alpha
    • iA assembly language - a typed assembly language
    • Educational games - the typo game is usable, but more will come. Khan Academy provides some inspiration.
    • Porting to javascript for one-click running the whole stack in the browser.
    • Software defined 2D-CAD Modeling. [ImplicitCAD][ImplicitCAD] provides inspiration.
    • Networking stack. Networks from scratch seems like a good start, PJON provides inspiration
    • An OS that runs on Civboot-style (constrained) hardware.
  • A reduced (only what's necessary for Civboot) version of the Global Village Construction Set and built using Civboot software
  • Photo Optics (lenses) fabrication and working knowledge.
  • Precision Engineering fabrication and working knowledge. Simplifying this into working
  • Electronics (non-semiconductor) fabrication and working knowledge (Electrical Engineering)
  • Semiconductor fabrication and working knowledge (Electrical Engineering, Circuit Design, etc)
    • A stack-based CPU built using FPGA and modern fabs, the J1 provides some inspiration.
    • Working TFT transistor fabrication.

Resources

This is the repository for Civboot: a Civilizational Bootstrapper. It's purpose is to act as a version-controlled wiki for all efforts related to Civboot.

This effort was started on 2019-11-14. Civstack is now in Alpha stage, and I have been using it as the only editor for several weeks as of 2026-07-23.

Resources:

About

Civilizational Bootstraper: landing page and wiki

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages