Mac OS X: NeXT

Ако се върнем отново във времето от началото на предната публикация, а именно когато инженерите на Apple записват идеите си на цветни картончета и даже малко преди това – тогава един нов проект започва своето съществуване. CMU Mach всъщност наследява неуспешния проект на Carnegie Mellon University (CMU) – Accent – за създаване на ядро на мрежова операционна система, приключил безславно по ред причини – една от които била неспособността му да носи UNIX приложения. Основният замисъл на Mach бил да се превърне в UNIX-съвместим Accent. По това време UNIX вече има петнадесетина години история зад гърба си и на хората около Mach им се струвало, че кодът вече е далеч от своята първоначална простота и леснота за промени и напасвания, затова по идея Mach е трябвало да бъде семпла алтернатива на набъбналата сложност на UNIX. Всъщност по дизайн Mach е микроядро, написано на C за да се гарантира преносимост, което да е основа за други операционни системи. Фокусирано главно върху управлението на процесора и паметта, Mach оставя нещата около файловите системи, вход-изхода, мрежовите функции на „истинската“ операционна система, която се явява потребителска задача върху Mach. Реалността обаче е различна от концепциите и още първите версии на Mach биват комбинирани с BSD като монолитна имплементация. Всъщност едва Mach 3.0 е първото истинско микроядро, което е носело BSD като task.

Най-хубавото в цялата история е решението кодът на CMU Mach да се разпространява под незабранителен лиценз. Така Mach повлиява на много операционни системи – революционизира управлението на виртуалната памет на класическия UNIX – днес FreeBSD използва например пряко наследена от Mach архитектура за това. Проектът GNU прегръща Mach като микроядрото по подразбиране, върху което стъпва свободната операционна система GNU/Hurd като Mach user-space task. А каква е връзката между Mach и Mac OS X ще видим след малко.
Има още

Продава се!

Чета при Велян, че yovko.net е оценен на деветдесет хиляди долара. Добра цена за петгодишно съдържание на български език под най-свободния Creative Commons лиценз. Ако приемем грубо, че тук има около 1300 поста – средната цена на публикация е около 70 долара. Даже ако извадим кратките двуредови постове ще трябва да е още по-голяма. Sorry, Веляне, чак сега го виждам, че нещо ги пропускам класациите…

Я, да видим кой дава тези пари – до края на август – лятна 5% отстъпка ;-)

Какво мисля за Apple

Получих коментар към вчерашната ми публикация за Mac OS X, който там стои малко извън темата и би отклонил дискусията в друга посока (ако се получи такава), затова реших да отворя нова. Ето го и него:

Много ми е любопитно какво мислиш за критиките към Apple, че те само вземат от отворения свят (свободен като в BSD) без да връщат нищо обратно. Аз мисля, че са основателни, и като имам пред вид специфичния хардуер, относително високите цени, склонността към vendor lock-in и напоследък опитите да контролират дори съдържанието (откровен DRM в някои техни продукти), не бих си купил нещо тяхно. Те са по-зле и от Microsoft в това отношение. Напомнят ми на тях и по предимството на шаренията пред съдържанието, макар че в случая с Apple, под капака стои нещо много по-добро.

Ябълките са сладък продукт, гладък отвън и месест отвътре, с unix-ки семки, но на тези пектинът им е вреден за храносмилането. Та, емоционалната ти привързаност към Apple наистина ли е по-голяма от вярата ти в правото на всеки да бърника софтуера до bit, да подменя хардуера както намери за по-евтино и да си ползва съдържание на воля?

Ами мисля, че критиките са основателни в голяма степен. Честно казано даже извън сферата на open source-а са повече. Много би ми се искало, а със сигурност и на много други хора, цялостното поведение на Apple в няколко посоки да бъде коренно различно, но уви нещата не стоят така.

Apple по дух не е open source компания. Точка. Това е истината. Да – има заигравки в това отношение, има и прилично участие в някои проекти, но с това нещата приключват. Вярно е, че човек може да получи кода на Darwin или Xcode, но обратното връщане на някакъв код, поправящ някакъв bug или пък да добави нещо друго ще трябва да мине през тежката процедура на фирмата, ако е късметлия да спечели вниманието. Резултатът е, че общност така се заформя по-трудно. Тук обаче следва въпроса дали Apple наистина иска такава общност? Mac OS X не е нито Linux, нито FreeBSD и моделът на Apple очевидно е друг. Darwin е open source, но Mac OS X е комерсиален Unix. В същия момент нека не пропускаме добавките на Apple към ключови проекти за всички като gcc и CUPS. В момента реално CUPS е собственост на Apple, но не е престанал да бъде GNU GPL. Да – някой ще каже, че те участват там, където им е стратегически важно, така е. И какво – всеки се занимава с това, което му е интересно или важно – дори open-source разработчиците. Не виждам Apple да е прегазила някой лиценз или правила. Много хора ревнаха и срещу Red Hat, когато те решиха да правят само enterprise дистрибуция и да не я разпространяват бинарно без заплащане, но е факт, че open source лицензите не го забраняват. Darwin, CUPS, добавките към gcc не са нищо. Да, Apple може да връща повече на общността, но реално не е задължена да го прави – това е морален въпрос на жест и добра воля.

Много open source потребители също не връщат нищо на общността. Познавам хора, които използват open source, защото е далавера. Не са дарили 5 лева на никой проект, не са си купили t-shirt-ка даже. И могат да не го направят никога. Това е въпрос на жест, усет и благородство. Те, както и Apple нямат тази доза благородство. Това не ги прави по-важни или по-маловажни части на обществото. Нито по-лоши или по-малко смислени хора. Просто в тази посока толкова могат.

Не съм съгласен обаче за специфичния хардуер – първо не виждам какво му е специфичното – всеки хардуер е специфичен сам по себе си. Особено пък Mac-машините днес не са много по-различни от кое да е PC. А и дори да са специфични къде точно е проблема? Да вземем да спрем IBM да продава mainframe-и щото им е специфичен хардуера ли?

Или проблема е там, че Mac OS X не върви на друга платформа? А кой комерсиален Unix върви на друга платформа – и какъв е смисъла? AIX e направен за IBM, HP-UX за HP, Sun размислиха за Solaris не за друго, а защото видяха дебелия… Концепцията на Apple за обвързане на хардуера със софтуера е повече от успешна и стратегически правилна. Може да не изглежда гот през open source поглед и мислене, но иначе си е в десятката и е ключова за успеха им днес. Крайния брой варианти на хардуер значи, че всяка машина си има своята версия и като хардуер (не само като софтуер) и има известен брой модификации, което значи улеснена поддръжка понеже версията на софтуера X с версията на хардуера Y има такъв и такъв проблем, който се решава ето така.

За измъкването на Apple от голямата им криза беше ключово именно това, което виждаме днес – две серии лаптопи – потребителска и профи. Окей отскоро има и трети вид – въздушния – нека го наречем lifestyle серия, макар да е само един засега. Две серии десктопи – iMac и Pro. Толкова. Семпло и ясно. Apple се докара до дъното преди време именно с кошмарното си портфолио, пълно с какви ли не глупости. Майкъл Дел тогава се бил изказал, че най-умното което би направил ако е в Apple е да я закрие. Сега му предстои всеки следващ ден да се страхува от Apple.

Когато се поставя въпроса за Mac OS X върху други PC-та би следвало да се отчита факта, че дълги години Apple е възпитавала различен тип потребители, които не искат и да си помислят за драйверната лудница на PC-света. Те са свикнали, че всичко около тях просто работи. В голяма част са избрали Apple, именно защото не искат да са компютърджии, а само потребители. Mac OS X върху други компютри би означавало поддръжка за необозрим брой хардуерни модификации и друг вид бизнес – продаване на операционна система. Аз твърдя, че Apple де факто не е в бизнеса с операционни системи – Mac OS със или без хикса отзад винаги е била системния приложен софтуер за оживяване на продуктите и. Apple от известно време дори не се казва вече Apple Computer, защото реши дори, че бизнеса с компютри е вече минало и изхвърли втората думичка.

Всъщност който иска може да си слоби хакинтош и да си търкаля Mac OS X – не е официално, не е по правилата, няма поддръжка, но не съм чул някой да е пострадал от това. Нито Apple да пречат – а могат да го направят лесно и елементарно. Може би, защото обикновено експеримента приключва с идеята – абе аз що се ебавам, а не си купя истински Mac…

И тук идваме до темата за високите цени, за която вече съм писал. В момента блогвам това от най-малкия модел MacBook (последната най-актуална модификация), който струва 2000 лв с фактурата и ДДС-то. Този смешко е повече от два пъти по-производителен от другия ми лаптоп, който струва почти 4000 лв. Мисля, че това е достатъчно по темата за високите цени.

За vendor lock-in – това го прави всеки vendor – ще се лъжем ако си твърдим обратното. Това го прави и Google даже. Някой обаче кара ли насила хората да си купуват Mac? Някой кара ли ги да поверяват целия си живот и личен свят на Google? Днес един приятел по повод Google каза – аз просто съм им се предал… те ме притежават… Честно казано – мен повече ме е страх от Google отколкото от някакъв хардуерен vendor, който ми предлага много добре подбран хардуер на добра цена и на който вървят още купчина операционни системи.

Между другото и моята поща е в Google, нищо че си имам собствени машини, хостинг и т.н. Причината е, че по-добра anti-spam технология в действие не съм виждал. Откакто използвам Google просто се родих… И си поех риска да ме притежават… за да притежавам повече време за себе си.

Дали ще си купи нещо тяхно или не заради някакъв морален или емоционален бойкот е право на всеки. Аз не виждам нищо лошо в това да имаш читав хардуер под пръстите си. И между другото Linux работи прекрасно върху него. Имам предвид native. Даже за Windows разправят същото, но не съм пробвал лично.

Та най-накрая да отговоря на Големият въпрос, заключен в последния абзац по-горе, който толкова много хора ми задават под една или друга форма – аз Linux, open source и creative commons фенът – как така толкова си падам по това подозрително и доста затворено нещо.

Отговорът е в гледните точки – аз съм фен, мечтател, някакъв IT експерт, фотограф от време на време и сигурно още хиляди други неща. Нека вземем фотографията – повечето мои снимки, публикувани в Интернет, са свободни. Даже не участвам във форуми, защото не съм съгласен с правилата, третиращи авторските права там. Което обаче не означава, че харесвам всичките си снимки. Нито пък това, че са свободни ги прави по-хубави. В същия момент харесвам снимки на хора, които са толкова затворени и консервативни откъм споделяне на творчеството им, че не може да бъде повече. Не споделям мисленето им, но се възхищавам на креативността и творбите им. Това, че техните неща не са „open source“ не ги прави по-слаби и по-лоши като творби.

Нека оставим фотографията и надникнем в бизнеса – аз съм професионалист – никога не съм споделял колко тъпо съм се чувствал, когато на всякакви публични форуми различни FOSS ентусиасти, обзети от емоцията да докажат, че софтуерът с отворен код е всесилен и непобедим, са говорели какво ли не… Неща, които всъщност са твърде условни и според обстоятелствата. Никога не съм споделял как клиенти на доста изявени в open source средите у нас хора, след това не са давали дума да им се обели за open source заради хипер-мега-ултра непрофесионалното отношение – минал някой фен – пуснал нещо през пръсти и си отишъл с мисълта, че е боцнал още една чертичка в тефтера на покръстените в правата вяра, а всъщност е направил мечешка услуга и на клиента си и на идеята по принцип, понеже не е бил достатъчно честен да му признае някоя дреболия, или да осмисли, че няма универсални решения и 100% open не бива непременно да е самоцел.

Имал съм клиенти, на които съм казвал, че open source не е за тях, нищо че на пръв поглед имат възможност за миграция. На други пък нямаше да бъде по-евтино, както ги бяха прилъгали. Имам и клиенти дето на пръв поглед са толкова затворени откъм технологии и приложения, че трябва да си луд да се пробваш дори да ги местиш на open source – но съм ги местил – и сега с топ не можеш да ги върнеш обратно, но ситуацията и предпоставките са били в десятката…

Бизнесът не е емоция, нито да отидеш и да заблъскаш с чука и теслата. Бизнесът е подход, преценка, анализ, изводи, алтернативи, претегляне на варианти, доверие – много неща… Твърде елементарна е в този контекст фенщината – open source на всяка цена – винаги е по-добре. Винаги… ама другия път…

Хайде пак към фотографията – не може да се работи фотография с open source например – имам предвид от определено ниво нататък, а не любителски снимки. Не става и може да не става никога – религиозен проблем – парадоксално е, но единственото възможно цветно пространство, което свободния софтуер може да ползва е това на Microsoft и HP – т.нар. sRGB – сигурно са забравили да го патентоват и закатинарчат едно време ;-) Всички други са vendor-зависими, суровите формати да не говорим, OpenRAW е за погребване. Поддръжката на многобитов цвят е горе-долу… Харесва ми или не – такива са фактите. В този контекст да препоръчам Linux за фотография (за FreeBSD да не говорим) на професионален фотограф е просто несериозно. Да – може да се работи фотография с Linux – аз мога, доста хора могат, но е компромис – дори и аз не искам да го правя – Linux и FreeBSD са силни в други неща – ще ги използвам там, където са добри без цената на компромиси.

Та това е моят отговор – когато съм професионалист, не мога да си позволя фенщина – ще препоръчам и Microsoft щом това е най-правилното. Или комбинацията, която трябва да бъде сглобена. Когато съм мечтател, ми се иска всичкия софтуер да е open source, да няма авторски права, юристите, полицията и крадците да не съществуват и всички хора да се харесват и обичат. Но не мога да съм мечтател непрекъснато… Когато съм фотограф, искам най-лесно и бързо да стигна до този вид на снимката ми, който имам в представите си, и да ми остане повече време за още снимане, или за нещо друго…

Аз нямам вътрешен конфликт да харесвам различни неща. Вярата ми, в правото на всеки да бърника софтуера си, е голяма. Емоционалната ми привързаност към Apple всъщност не съществува – харесвам нещата им – не компанията. Според мен третирането на софуера с отворен код като свещена крава е дълбоко погрешно и дори отблъскващо. Пречупването на всяка мисъл a priori през анализа – отворено-затворено – и съответно – добро-лошо… е въпрос на религия, а при мен винаги водещо е рационалното. А най-важното е хората да нямат пречки пред избора си, да нямат пречки да подбират инструментите си за да творят – това е свободата – изборът… дори този да избереш да те притежава Google… Защото и софтуерът и хардуерът са само инструменти за създаване на други инструменти, полезни неща, или такива каквито доставят удоволствие…

Не харесвам Джобс – за мен той е повече гъз, отколкото идол – ако се върна към тезите си от вчера, но с голям кеф гледам презентациите му – дори само заради онзи негов кретенски поглед с блясъка в очите, когато вади поредния фокус от шапката си, доволен от създаденото. Същия като на Столмън, като се разгорещи да приказва, даже го мярнах и в очите на Лари Лесиг на една вечеря, въпреки умората му от три лекции през деня и сдържаният му темперамент и характер. Блясъка на креативността, на Създателя… и тогава не е нужно да ги харесваш… ама никак…

И накрая нещо твърде лично. Аз съм обикновен хетеросексуален мъж, но преди известно време имах връзка с бисексуално момиче. Не бях във възторг от факта, че тя си пада и по жени, но всъщност я обичах истински и не по-малко или различно отколкото момичетата от другите ми по-“нормални“ връзки. И когато се чудех дали да започна тази връзка, предвид горните обстоятелства, бързо стоплих, че нейната двойнственост всъщност не бива да възприемам като изневяра. И до днес ни най-малко не съжалявам, че тази връзка е част от миналото ми.

Това е, което имам да казвам – като open source фен, професионалист и каквото още съм. Харесвам свободността на Linux (и на *BSD, но се случи Linux да е по-голямата ми страст), харесвам и Unix, нищо, че в голяма степен не е свободен, харесвам и Mac OS X – вероятно най-добре направения Unix-десктоп – даже desktop въобще… Всъщност харесвам Linux защото е свободен, но и защото е Unix-like. Един свободен Windows не би ме развълнувал по никакъв начин. Падам си по добре работещ хардуер, но в къщи трудно влиза mainframe, имам оригинална бутилка с Free Beer пред очите ми (мерси Тони!), която стои на секцията в хола ми, но пия най-често closed-source Tuborg или Шуменско (нищо, че съм от Пловдив), от три дни ходя на работа с бял лаптоп, нищо че в офиса всички други са черни и… дори някога бях влюбен в бисексуално момиче…

И за мен проблеми с всичко това – и каквото и да е останалото – няма. Ако някой го мъчи някаква драма – вече специалисти има всякакви – и психиатри също… Но съм съгласен, че пектинът е шибано нещо – хем причинява запек, хем ти оправя перисталтиката на червата – иди го разбери за к’во се бори…

Валиден YouTube код

Този сайт вече e с почти валиден код след промените през уикенда. Поне там където няма коментари, понеже остана да поправя само поддръжката на gravatar-и. Продължавам да се дразня, че си купуваш с желание дизайн-template от професионални дизайнери и кодери, който се нуждае от още няколко часа дебъгване, подкарване и валидация, но повече ме подразни факта, че гигант като YouTube предоставя на потребителите си невалиден код за embed-ване в техните страници. Коментарите са нецензурни, затова ще си ги оставя за себе си.

Следващият път, когато взимате от YouTube код за да пуснете клипче във ваш сайт вместо това, което най-вероятно ще изглежда подобно на тази боза:

<object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/E6dVfYGTyFw&hl=en&fs=1"></param><param name="allowFullScreen" value="true"></param><embed src="http://www.youtube.com/v/E6dVfYGTyFw&hl=en&fs=1" type="application/x-shockwave-flash" allowfullscreen="true" width="425" height="344"></embed></object>

и което не е валиден XHTML, използвайте това, което е равносилно на горното, но отговаря на правилата:

<object type="application/x-shockwave-flash" data="http://www.youtube.com/v/E6dVfYGTyFw&amp;hl=en&amp;fs=1" style="width:425px; height:344px;"><param name="movie" value="http://www.youtube.com/v/E6dVfYGTyFw&amp;hl=en&amp;fs=1" /></object>

Да не говорим, че на всичко отгоре е далеч по-кратко и елегантно…

Разбира се, ако останалият код на страницата ви не е валиден, упражнението няма особен смисъл.