Macos ir UNIX sertificēts
Šis ieraksts ir tehnisks. Tas var būt par datoriem, programmēšanu, lodēšanu un tamlīdzīgām ne pārāk populārām lietām. Ja tevi šāds saturs neinteresē, droši vari to nelasīt.
Vai esi aizdomājies, kāpēc uz tava Mac un uz Linux servera bieži vien komandrindas parametri vienai un tai pašai komandai atšķiras? Greps negrepo un fainds nefaindo? Tieši tā. Mac un arī visas BSD bāzētās sistēmas satur UNIX (precīzāk — POSIX) savietojamās utilītu versijas, kuras visbiežāk ir vēsturisko programmu atvasinājumi vai pat pašrakstīti. Kamēr Linux sistēmā ir GNU utilītu versijas.
Vakar, brīvā brīdī lasot RSS (jā, vēl aizvien lasu), uzzināju, ka Apple katru macOS versiju oficiāli sertificē kā UNIX. Arī pēdējo — Tahoe. Respektīvi, viss ir UNIX specifikācijai atbilstošs .
Ne jau tāpēc, ka tas ir labi un pareizi, bet tāpēc, ka viņi savulaik publiski reklamēja, ka Mac OS X ir UNIX compliant. UNIX preču zīmes turētāji Open Group iesūdzēja viņus tiesā. Nu un bija trīs varianti:
- Samaksāt sodu (200M prasība), beigt mānīties.
- Nopirkt ar visiem paltrakiem Open Group un lieot UNIX treimdārku kā vien ienāk prātā. Ap miljardu tolaik.
- Reāli nosertificēt Mac OS X.
Paprasīja Terijam Lambertam (Apple, Google, FreeBSD pionieris, citi nozīmīgi projekti) — varam? Terijs padomāja un teica — varam. Salasīja komandu, un aiziet jūriņā. Protams, ceļš noteikti bija sarežģīts — nācās cīnīties ar GCC kļūdām, brutāli salauzt kaudzi ar Apple strādājošu programmatūru, pārcelt sertifikāciju par vienu lielo relīzi. Bet tāpat laikam lētāk un vienkāršāk. Vai arī principa jautājums. Tam gan ir sekas. Viņiem vajag sertificēt katru savu versiju, lai Open Group liktos mierā.
Nav nemaz tik daudz to UNIX sertificēto. MacOS ir tāds kā baltais zvirbulis starp visiem AIX un z/OS, HP-UX, un Solaris.
Ko testē? Atbilstību IEEE POSIX standartiem un XSI paplašinājumiem. Tā ir standartu kopa, lai nodrošinātu nosacītu savietojamību starp dažādām operētājsistēmām. Linux, piemēram, ir daļēji POSIX savietojams. Noteiktu šella un utilītu uzvedību. Sistāmas interfeisu atbilstību C API līmenī. Savietojamība ietver arī kaut kādas tur internacionalizācijas prasības.
Šai sertifikācijai gan vairs nav nekādas dižās jēgas. Gribi vai nē, bet klienti un arī programmatūra prasa Linux un GNU savietojamību, jo pieraduši. Un tas ir lētāk.
Interesanti, ka macOS ir pirmā un vienīgā uz BSD bāzētā sistēma, kura ir UNIX sertificēta. Nav jau tā, ka kādu šāda sertifikāta neesamība mūsdienās satrauktu.