Skip to main content
Deutsch  •  English  •  Español  •  Français  •  Italiano  •  Polska  •  Portuguese  •  Български  •  Русский  •  Українська  •  やまと  •  中国  •  فارsi

Genesi e filosofia di eggs

Per comprendere l'architettura di penguins-eggs, bisogna comprenderne la genesi cercando di inquadrarlo in una visione biologica prima ancora che informatica. Il progetto è nato dall'intuizione di introdurre una sorta di evoluzionismo nei sistemi operativi: dotando un sistema vivo della capacità di riprodursi (remastering), il software cessa di essere un oggetto statico. Può mutare acquisendo le personalizzazioni di chi lo abita, lasciando all'ambiente la selezione naturale: i sistemi che meglio si adattano alle esigenze reali sopravvivono, vengono installati e si replicano ulteriormente.

Il cuore concettuale ruota attorno alle parole dialettali che danno l'anima al progetto: nel dialetto dell'autore, oa significa "uova" e coa significa "covare", mentre il termine ell — che sta per il sottoinsieme di coa chiamato da oa — completa la frase: "coa l'oa", ovvero semplicemente "covare le uova".


1. Dagli script ad una architettura dichiarativa​

Nelle prime incarnazioni del progetto, la flessibilità poggiava sulla generazione dinamica di lunghi script Bash monolitici. Quell'approccio costringeva il motore di pianificazione (il Brain) a recitare due ruoli inconciliabili:

  1. Dichiarativo: leggere i file YAML e unire le variabili di configurazione;
  2. Imperativo: concatenare stringhe di codice Bash per eseguire i comandi di sistema.

Il risultato era un piano ibrido, difficile da manutenere e soggetto alla fragilità delle sub-shell (problemi di escaping dei caratteri, errori silenziosi, impossibilità di tracciare in modo granulare il singolo passo).

La nuova generazione di penguins-eggs risolve questo limite strutturale adottando la filosofia Unix: separare nettamente la descrizione dichiarativa dall'esecuzione, affidando alla mente (coa) la compilazione di dati puri e tipizzati in /tmp/coa/oa-plan.json e lasciando l'esecuzione sul metallo al modulo C oa e al tecnico Go coa ell.

«Il software è come un organismo: non evolve distruggendo il proprio DNA, ma specializzando le proprie cellule per compiti sempre più mirati.»


2. Il principio di trasparenza​

La regola d'oro per ingegnerizzare un motore di remastering universale è la trasparenza assoluta.

eggs non manomette, non riscrive e non inquina i listati dei pacchetti o i repository della distribuzione ospite. Il sistema rimasterizzato mantiene intatta al 100% la propria filiera genetica: che si tratti di Debian, Devuan, Ubuntu, Arch, Manjaro, Fedora, openSUSE, openKylin o Alpine, i pacchetti e il sistema operativo provengono direttamente dai canali ufficiali della distribuzione d'origine.

Nessuna alterazione occulta, nessun pacchetto forzato dall'esterno, nessuna dipendenza zombie: solo l'habitat originario reso portatile e riproducibile.


3. La strategia universale ("Eggs & Bananas")​

Ogni distribuzione Linux è diversa nelle sue strutture interne, nei gestori di pacchetti e nei cicli di init, eppure tutte condividono le medesime radici del kernel e dello spazio utente POSIX.

La Universal Strategy — racchiusa nel motto "Eggs & Bananas", ovvero usare pochi strumenti essenziali e di altissima qualità per ottenere la massima efficienza — è la risposta tecnica alla frammentazione:

  • Riconoscimento per famiglia (ID_LIKE): invece di rincorrere centinaia di derivate effimere con eccezioni precarie, eggs riconosce i tratti genetici delle grandi famiglie Linux (apt, pacman, dnf, zypper, apk).
  • Pluralità del silicio: dalla leggerezza di Alpine ai server enterprise in armadio rack, dai portatili x86_64 tradizionali ai dispositivi embedded ARM64 fino al silicio aperto RISC-V, un unico motore unificato fornisce il passepartout universale per la libertà di movimento digitale.