BuildToolChain/COURTESY.md

1.6 KiB
Executable File

Source Cache and Upstream Courtesy Policy

Automated bulk retrieval of source archives places measurable load on upstream hosting infrastructure — GNU FTP mirrors, kernel.org, and similar services are public resources funded and maintained by their respective communities. Uncontrolled repeated downloads from build scripts and CI pipelines constitute a denial-of-service risk against these mirrors.

BTC.sh mitigates this by maintaining a persistent local source cache under /opt/BTC/sources/. Once a tarball is fetched, it is retained for all subsequent build invocations. The build will not re-download an archive that already exists in the cache and passes integrity verification.

Users and integrators are expected to honor this policy:

  1. Preserve the local source cache between builds. Do not routinely purge /opt/BTC/sources/ unless disk recovery is necessary.

  2. Avoid wrapping BTC.sh in loops or CI jobs that discard the cache on each run. If transient storage is required, mirror the cache directory to persistent media between invocations.

  3. When operating behind a mirror or proxy, configure it to cache source archives in accordance with the same principles.

  4. Respect upstream rate limits and mirror redistribution policies. These projects provide critical infrastructure at no cost; responsible consumption ensures their continued availability.

This policy aligns with the broader ethic of clean infrastructure: self-sufficiency includes responsible stewardship of shared resources.