Simply: We should have computer hardware, software, and communication infrastructure you could reasonably expect your grandchildren to use.
The progress of computer science over the past 30 years has been explosive. We have come to expect that each new year will offer dramatic advancement in what computers can do and how they work. This has affected almost every aspect of how we use computers and our expectations of them.
The harsh truth that many are not yet willing to accept, is that growth is slowing down. We are exiting the exponential-looking part of the sigmoid growth curve. The singularity isn't coming anytime soon. For many reasons the realities facing computer engineering's future are changing, and we have to change with them.
This means many of our fundamental assumptions as engineers and as consumers are now worth re-evaluating:
- We cannot expect that commodity hardware capacities will continue to increase dramatically over short time periods while price is held constant
- We have to write less wasteful code
- We have to build systems assuming they won't increase in storage capacity and processing power over time
We cannot expect that hardware will be replaced due to obsolescence in less than 5 years
- We have to stop making electronics like they are disposable
- We have to stop planning obsolescence of components
- We have to make our computers more repairable
Alongside this change in velocity acting as an economic crisis, global climate crisis and likely political crises will endanger or weaponize global computer infrastructure:
We must be able to tolerate companies failing or choosing to act maliciously
- We need hardware we actually own and can control
- We need operating systems and software that are more efficient and more reliable
- We need software that stays effective and useful
We must not assume perpetual access to a global internet and related authorities
- We can't assume ICANN will remain accessible and unfractured
- We can't assume certificate authority infrastructure remains safe to trust
We can't assume access to a global economy and resource market (rare earth metals particularly)
- Electronics must be recyclable, and able to be constructed from recycled material
- Electronics must be produced with locally available labor and tools
The basic principle of Heirloom computing is that a given piece of hardware, software, or infrastructure should be expected to function as intended in 100 years from when it was created.
- Heirloom hardware will cost more and have lower performance
- Heirloom software will be slower to develop and iterate on
- Heirloom communication infrastructure will be slower and lower in bandwidth
- You will be able to keep and repair your hardware for a lifetime.
- Your software will just work and be effective for your lifetime.
- Your communication infrastructure will still work well after conventional infrastructure has failed.