Η Microsoft άνοιξε στο κοινό ένα κομμάτι της ίδιας της ιστορίας της πληροφορικής: τον πλήρη πηγαίο κώδικα του Microsoft BASIC για τον επεξεργαστή 6502, στην έκδοση 1.1 που κυκλοφόρησε το 1978. Πρόκειται για τον κώδικα που συνόδευσε υπολογιστές όπως οι Commodore PET, VIC-20, Commodore 64 και Apple II, δίνοντας σε εκατομμύρια ανθρώπους την πρώτη τους επαφή με τον προγραμματισμό. Ο κώδικας, αποτελούμενος από 6.955 γραμμές assembly, είναι πλέον διαθέσιμος στο GitHub με άδεια MIT, προσφέροντας τη δυνατότητα ελεύθερης χρήσης, τροποποίησης και διανομής.
Η ίδια η συμβολή του Bill Gates στο έργο είναι καταγεγραμμένη. Ο συνιδρυτής της Microsoft είχε αναφέρει το 2010 ότι το πρόγραμμα το έγραψε μαζί με τον Rick Weiland και πως εκείνος πρόσθεσε την εντολή WAIT. Για τους μαθητευόμενους προγραμματιστές της δεκαετίας του ’70 και του ’80, το BASIC ήταν ένα εργαλείο-πύλη. Εντολές όπως “10 PRINT 'HELLO'” και “20 GOTO 10” μετέτρεπαν τον υπολογιστή από άψυχη μηχανή σε κάτι που μπορούσες να ελέγξεις, ανοίγοντας έναν εντελώς νέο κόσμο.
Η δύναμη του 6502 BASIC βρισκόταν στην απλότητά του αλλά και στην οικονομία του. Σε μόλις μερικές χιλιάδες γραμμές assembly, οι μηχανικοί της Microsoft κατάφεραν να χωρέσουν πλούσια λειτουργικότητα σε μνήμη που τότε κόστιζε πανάκριβα. Το τσιπ MOS 6502, σχεδιασμένο από τον Chuck Peddle, είχε χαμηλή τιμή – περίπου 25 δολάρια – και γρήγορα βρήκε τον δρόμο του σε κονσόλες όπως το Atari 2600 και το Nintendo Entertainment System (NES), αλλά και σε εκατομμύριαυπολογιστές της Commodore.
Η εμπορική ιστορία του λογισμικού έχει το δικό της ενδιαφέρον. Το 1977, η Commodore πλήρωσε εφάπαξ 25.000 δολάρια για να αποκτήσει το δικαίωμα να χρησιμοποιεί για πάντα το Microsoft BASIC σε άπειρα μηχανήματα, χωρίς επιπλέον χρεώσεις. Αν η Microsoft είχε διαπραγματευτεί ένα μοντέλο με δικαιώματα ανά συσκευή – όπως έκανε αργότερα με άλλα προϊόντα – τα έσοδα θα μπορούσαν να φτάσουν δεκάδες εκατομμύρια δολάρια. Το συγκεκριμένο deal θεωρείται σήμερα μια από τις χαμένες ευκαιρίες της εταιρείας.

Η έκδοση 1.1 που δόθηκε στο κοινό περιλαμβάνει βελτιώσεις που υλοποίησε ο John Feagans της Commodore μαζί με τον Gates το 1978, κατά την επίσκεψή του στα κεντρικά της Microsoft στο Bellevue της Ουάσινγκτον. Οι αλλαγές αυτές αφορούσαν κυρίως τη διαχείριση μνήμης, γνωστή και ως “garbage collection”, και κατέληξαν να διατεθούν ως BASIC V2 στο Commodore PET.
Ενδιαφέρον παρουσιάζει και η ευελιξία του κώδικα: μέσα από conditional compilation μπορούσε να προσαρμοστεί σε διαφορετικά συστήματα της εποχής, από τον Apple II (όπου έγινε Applesoft BASIC) έως τον KIM-1 και τους υπολογιστές της Ohio Scientific. Μια ενιαία βάση κώδικα τροφοδοτούσε έτσι μια ολόκληρη γενιά μηχανών.
Η αξία της σημερινής δημοσιοποίησης δεν είναι μόνο ιστορική ή νοσταλγική. Παρότι οι σύγχρονοι υπολογιστές δεν μπορούν να τρέξουν απευθείας κώδικα assembly του 1978, εξομοιωτές και FPGA υλοποιήσεις κρατούν ζωντανό το λογισμικό για μελέτη και πειραματισμό. Ο τρόπος με τον οποίο οι προγραμματιστές τότε κατάφερναν να αποσπάσουν μέγιστη λειτουργικότητα από ελάχιστους πόρους εξακολουθεί να προσφέρει διδάγματα – ειδικά σήμερα που το software πρέπει να λειτουργεί σε συσκευές με περιορισμούς, από wearables έως διαστημόπλοια.
Η κίνηση αυτή έχει και πολιτισμική σημασία. Χωρίς την επίσημη και νόμιμη διάθεση τέτοιου ιστορικού υλικού, οι μελλοντικοί ερευνητές κινδυνεύουν να χάσουν τη δυνατότητα να κατανοήσουν σε βάθος πώς λειτουργούσαν οι πρώτοι προσωπικοί υπολογιστές. Ήδη η κοινότητα των retrocomputing enthusiasts είχε ανακατασκευάσει ανεπίσημα περιβάλλοντα ανάπτυξης που αναπαράγουν ακριβώς τα αρχικά ROMs. Ο Michael Steil, για παράδειγμα, έχει δημιουργήσει εργαλεία που μεταγλωττίζουν τον κώδικα σε σύγχρονους assemblers όπως ο cc65, διατηρώντας ζωντανό το λογισμικό σε σύγχρονα συστήματα.
Η Microsoft τα τελευταία χρόνια δείχνει να αγκαλιάζει την ιδέα του ανοικτού κώδικα. Έχει ήδη δημοσιοποιήσει ιστορικά έργα όπως το GW-BASIC, το MS-DOS 4.0 και το Altair BASIC του 1975. Η στροφή αυτή, υπό την ηγεσία του Satya Nadella, έρχεται σε πλήρη αντίθεση με την εποχή που ο Steve Ballmer χαρακτήριζε το Linux “καρκίνο” και “κομμουνισμό”. Σήμερα, η ίδια η Microsoft φιλοξενεί στο GitHub – το οποίο εξαγόρασε το 2018 – τη μεγαλύτερη πλατφόρμα ανοικτού κώδικα παγκοσμίως.
Μάλιστα, στο αποθετήριο που δημιουργήθηκε για το 6502 BASIC υπάρχει και μια παιχνιδιάρικη λεπτομέρεια: οι καταχωρίσεις εμφανίζουν ως ημερομηνία τον Ιούλιο του 1978, σε μια σκόπιμη αναφορά στο παρελθόν του προγράμματος. Ένα μικρό κλείσιμο του ματιού σε όσους αντιλαμβάνονται ότι η ιστορία της πληροφορικής δεν είναι απλώς τεχνολογία, αλλά και πολιτισμός.
[via]