The user wants open software, software that can be modified, and that can participate in a progressive improvement process.
— J.C.R. Licklider, Some Reflections on Early History (1986)
Modern computing is far too rigid. Applications can only function in preset ways determined by some far away team. Software is trapped in hermetically sealed silos and is rewritten many times over rather than recomposed.
This community catalogs and experiments with malleable software and systems that reset the balance of power via several essential principles:
- Software must be as easy to change as it is to use it
- All layers, from the user interface through functionality to the data within, must support arbitrary recombination and reuse in new environments
- Tools should strive to be easy to begin working with but still have lots of open-ended potential
- People of all experience levels must be able to retain ownership and control
- Recombined workflows and experiences must be freely sharable with others
- Modifying a system should happen in the context of use, rather than through some separate development toolchain and skill set
- Computing should be a thoughtfully crafted, fun, and empowering experience
Most contemporary applications fail to meet all of these, leaving us with no pathway towards improvement. The only option is to plead with the app developer and hope they will deign to grant your request. As the importance of computing in everyday life grows with each passing year, we must fight for these values to ensure the power of computing is evenly distributed.
We hope you agree this is a revolution worth fighting for. We welcome your feedback and contributions of related projects and experiments from yourself and others. You can follow the community on Twitter, Matrix, and our blog. The blog content is also available via our newsletter.