Dump-ul neglijent de Git al codului sursa MS-DOS 4.00 compromite constructia si sterge metadatele

Dump-ul neglijent de Git al codului sursa MS-DOS 4.00 compromite constructia si sterge metadatele

Microsoft merită laude pentru faptul că a făcut sursa MS-DOS 4.00 open-source, aruncând lumină asupra unui moment important din istoria calculatoarelor. Dar gigantul tech a greșit lansarea într-un mod care ar putea cauza dureri de cap nejustificate pentru istoricii și arhiviștii dornici să studieze codul din decenii în urmă.

Gafa constă în aruncarea sursei într-un depozit Git în loc să furnizeze un arhivă curată, care, așa cum arată curatorul de software Michal Necasek de la Muzeul OS/2, ar fi fost abordarea corectă. El subliniază un punct excelent: „Codul sursă istoric ar trebui să fie lansat pur și simplu ca o arhivă de fișiere, ZIP sau tar sau 7z sau orice altceva, cu toate marcajele de timp păstrate și fiecare byte păstrat așa cum era. Git pur și simplu nu este un instrument potrivit pentru asta.”

Prin aruncarea sursei în Git, Microsoft ar fi putut corupe fișierele în mai multe moduri. Git a ignorat marcajele de timp originale, eliminând metadatele potențial valoroase despre când a fost modificat fiecare fișier. Mai rău, conversia la codare UTF-8 a transformat unele coduri în baliverne, spărgând procesul de construcție.

Așa cum subliniază Necasek, sursa din decenii trecute nu este doar text; este practic date binare care necesită o conservare completă, fără nicio modificare. Re-codarea ei cauzează defecțiuni, deoarece uneltele învechite precum MASM 5.10 și Microsoft C 5.1 nu pot gestiona natural formate Unicode precum UTF-8 care nu existau pe atunci.

În timp ce disponibilitatea codului MS-DOS 4.00 este fără îndoială un beneficiu pentru istoricii software care examinează linia de la MS-DOS la Windows, abordarea GitHubbing ar fi putut submina inutil eforturile de construcție și analiză a codului ca material arhivistic autentic.

Cu toate acestea, un comentator sub pseudonimul ‘starfrost’, care susține că a lucrat cu Microsoft pentru a face această lansare posibilă, a afirmat sub articolul original că ar putea obține potențial fișierul ZIP original. Marcajele de timp ar putea să nu fie disponibile, însă, pentru că „legea protecției datelor impune anonimizarea fișierelor sursă.”

În plus, Necasek a comentat că a reușit să construiască cu succes codul în întregime copiindu-l într-o mașină virtuală cu PC DOS 2000 și rulând procesul de construcție acolo. Deci, dacă doriți să construiți, acesta este modul de a merge.

Microsoft ar fi fost totuși mai înțelept să furnizeze sursa ca o arhivă curată ZIP sau 7z direct din backup-urile interne cu codare corectă, păstrând fiecare byte în forma sa originală. Moștenirea calculatoarelor este pur și simplu prea prețioasă pentru trucuri amatoricești.

În apărarea sa, Microsoft a mers dincolo de așteptări prin includerea binarelor beta din arhivele lui Ray Ozzie, a documentației originale și a imaginilor de disc pentru emulare ușoară.