ProactiveProject

← Terminal Gym

Verifiche e conformità · Terminal Gym 0.2.1

Controlli fatti il 1 novembre 2026 sul codice sorgente completo: prima del commit della versione 0.1.0, di nuovo prima della 0.2.0 (tre temi, icona, script di installazione nel menu) e prima della 0.2.1 (correzione: il terminale del gioco parte sempre dalla palestra). Nessuno strumento dà garanzie assolute: questi controlli servono a dichiarare in modo onesto cosa c'è nel gioco. Non sono una consulenza legale.

In breve

Controllo Strumento Esito
Etichette di licenza e copyright REUSE (FSFE), reuse lint conforme alla specifica 3.3, tutti i file etichettati
Codice copiato da altri progetti SCANOSS (scanoss-py) 12 file su 12 senza somiglianze (dopo una riscrittura, vedi sotto)
Licenze e titolari scritti nei file ScanCode (scancode -cl) 12 file letti, 0 errori, gpl-3.0-plus, titolare ProactiveProject
Caratteri confronto con l'archivio originale 7 file di caratteri OFL-1.1 non modificati, impronte in LICENZE.txt
Immagini lettura del codice nessuna immagine presa da fuori: piante e icona sono disegnate a mano o dal codice
Dati personali ricerca nel testo nessun nome, indirizzo o dominio personale

Licenza del gioco

Le etichette sono nelle intestazioni SPDX dei file Python e in REUSE.toml. I testi delle licenze sono nella cartella LICENSES/.

Caratteri e librerie

Componente Incluso nel gioco? Licenza Note
Fraunces sì, non modificato OFL-1.1 tema Tramonto · da github.com/google/fonts, impronta SHA-256 in LICENZE.txt
Nunito sì, non modificato OFL-1.1 temi Tramonto e Pastello · come sopra
JetBrains Mono sì, non modificato OFL-1.1 tutti i temi, per i comandi · come sopra
Fredoka sì, non modificato OFL-1.1 tema Pastello · come sopra
Bangers sì, non modificato OFL-1.1 tema Fumetto · come sopra
Comic Neue (Regular e Bold) sì, non modificato OFL-1.1 tema Fumetto · come sopra
Python 3 no, da Ubuntu PSF-2.0
PyGObject no, da Ubuntu LGPL-2.1-or-later
GTK 4 no, da Ubuntu LGPL-2.1-or-later
VTE no, da Ubuntu LGPL-3.0-or-later, con parti GPL-3.0-or-later e MIT verificato nel file copyright del pacchetto
GdkPixbuf, librsvg no, da Ubuntu LGPL-2.1-or-later servono per disegnare le piante
fontconfig no, da Ubuntu licenza in stile MIT usato solo per caricare i caratteri del gioco

Tutte compatibili con la GPL-3.0-or-later. I caratteri vengono caricati solo dal gioco, senza installarli nel sistema.

Codice copiato (snippet)

SCANOSS analizza i file di codice scritti per il gioco (9 file Python, terminal_gym.py, installa.sh, disinstalla.sh) inviando solo impronte, non il codice. Il codice è stato scritto da un'IA per questo progetto, come spiegato nel README.

ScanCode trova in tutti i 12 file la licenza gpl-3.0-plus (cioè versione 3 o successiva) e il titolare ProactiveProject. Le sette piante, il vaso, l'ape e la farfalla sono forme semplici disegnate dal codice in gioco/piante.py, con i colori di ogni tema. L'icona (icona/eu.proactiveproject.TerminalGym.svg) è stata letta a mano: solo rettangoli, cerchi e forme libere disegnate apposta, nessuna immagine incorporata, nessun collegamento esterno e nessuna libreria di icone. L'indirizzo www.w3.org nella prima riga non è un collegamento: è il nome standard che dichiara il formato SVG.

Sicurezza

Il gioco non usa dipendenze scaricate da npm o pip: tutte le librerie arrivano dall'archivio di Ubuntu e si aggiornano con il sistema. Il gioco non si collega a internet.

Il gioco ha un terminale vero, quindi ha regole precise:

Rischio Come è limitato
Creare o cancellare file nel posto sbagliato il gioco tocca solo ~/palestra-terminale/<profilo>; ogni percorso viene controllato prima; se la palestra è un collegamento simbolico il gioco si ferma
Installare programmi solo cowsay, figlet, tree, htop, dall'archivio ufficiale; il gioco non usa mai sudo da solo, i comandi li scrive chi gioca
Togliere programmi che c'erano già il registro segna solo i pacchetti installati durante il gioco
Fermare processi kill solo sul sleep fatto partire dal gioco stesso
Script scritti al livello 7 vengono lanciati solo dalla palestra, con un limite di 5 secondi; allo scadere viene fermato tutto quello che lo script ha fatto partire
Storia dei comandi il terminale del gioco usa un file suo e non tocca ~/.bash_history
Icona nel menu installa.sh crea solo due file nella cartella personale (la scheda .desktop e l'icona); disinstalla.sh li toglie. Nessun sudo, nessun file di sistema

Come è stato provato

Pubblicazione

La versione 0.2.1 è pubblicata su proactiveproject.eu come archivio del codice sorgente (terminal-gym-0.2.1-sorgente.zip), creato con git archive dal commit della 0.2.1: contiene esattamente i file controllati qui sopra. L'impronta SHA-256 dell'archivio è scritta nella pagina Giochi e apprendimento.

Cosa resta da fare

Come rifare i controlli

Dalla cartella del gioco:

reuse lint

Sul repository, reuse lint va lanciato dopo git add: prima, la versione di REUSE di Ubuntu può contare anche i file __pycache__ che Git ignora.

Per SCANOSS e ScanCode, copiare i file di codice (.py e .sh) in una cartella a parte (qui CARTELLA):

scanoss-py scan CARTELLA -o scanoss.json
grep -o '"id": "[a-z]*"' scanoss.json | sort | uniq -c
scancode -cl --json-pp scancode.json CARTELLA

Se migliori qualcosa o trovi un problema, proponilo al progetto: non è un obbligo, ma è così che si cresce insieme.