Il software dell’Apollo 11 è ora opensource

0

Apollo_11_insigniaLe imprese spaziali necessitano di strumenti che aiutino a calcolare la propria posizione e le manovre da effettuare, e fin dagli albori della corsa allo spazio i computer si sono rivelati fondamentali. Ma non c’è solo l’hardware: un computer, per poter fare qualcosa, ha bisogno anche del software!

Giovedì 7 luglio su GitHub ha fatto la sua apparizione il software dell’AGC: Apollo Guidance Computer (computer di navigazione dell’Apollo). Si tratta di migliaia di righe di codice scritte dal MIT per conto della NASA e studiate proprio per portare per la prima volta l’uomo sulla Luna, in un’epoca di pionieri non solo spaziali ma anche informatici. Infatti, a metà degli anni ’60, i linguaggi di programmazione di alto livello (ovvero che usano parole del linguaggio umano che poi un programma è in grado di interpretare o tradurre in comandi per la CPU) semplicemente non esistevano (o erano troppo onerosi per essere usati in ambito spaziale): si doveva programmare direttamente la CPU in assembly. E per molti appassionati studiare questo codice, sebbene di difficile lettura, è un vero piacere.

Il programma è stato digitalizzato a partire già dal 2009, trascrivendo a mano i fogli originali conservati al MIT sui quali era stampato: è stato rilasciato come opensource per permettere la correzione degli eventuali errori di trascrizione. Ma è, a tutti gli effetti, funzionante! Tanto che gli stessi autori della trascrizione hanno approntato un emulatore capace di far girare il codice.

Se qualcuno volesse rivivere le operazioni di Neil Armstrong e compagni, usando proprio il loro sistema di navigazione, ora è libero di farlo. E in fondo, chi non ha mai voluto fare l’astronauta? 😉

Ho coltivato la mia passione per l’informatica fin da bambino, coi primi programmi BASIC. In età adulta mi sono avvicinato a Linux ed alla programmazione C, per poi interessarmi di reti. Infine, il mio hobby è diventato anche il mio lavoro.
Per me il modo migliore di imparare è fare, e per questo devo utilizzare le tecnologie che ritengo interessanti; a questo scopo, il mondo opensource offre gli strumenti perfetti.