Tuesday, July 25, 2017

The Distributed Internet/Distro Dream

My dream is an internet where all static content is distributed using an automatic caching protocol like IPFS, and where (Linux) distributions use Nix-inspired packages.

In my dream Internet Service Providers (ISP) will install IPFS servers on their POPs, and every local computer will be an IPFS node, maybe caching content only locally. Doing so:

  • files will be downloaded only one time, and then cached locally
  • copy of files will be downloaded from the nearest networks
  • static content will remain available also if the reference server is down
  • etc..

In my dreams Linux will have a standard API for managing packages in a Nix-like way, instead of global conflicting packages:

  • every application will be developed and built as a distinct package
  • different versions of the same package would cohexist on the same system  
  • the build system will have a standard way for expressing relationships between the different used packages
  • every target of a build will be a package
  • every distribution of an application, will be a distribution of its package with related dependencies
  • every programming language environment will use the API instead of implementing a custom repository of libraries
  • every package can be customized using an object-oriented like approach: i.e. expressing only the differences respect the upstream/reference code and build configuration
  • every package can be a set of packages, and so it can represent a distributions or other high-level concepts
  • there can be explicit hierarchical chains of maintainers from end-user distro to upstream
  • donations, and contract supports can be shared semi-automatically between maintainers
  • etc..
My dream is a world where things can be shared and modified efficiently.

No comments:

Post a Comment