Избегая холиваров на данную тематику, первым делом хочу напомнить уважаемым читателям что количество мнений по какому-либо вопросу обычно равняется количеству вовлечённых в спор участников. В данной статье я постараюсь максимально объективно рассмотреть факторы и события, ответственные за существование и развитие обеих платформ, а все приведённые здесь гипотетические доводы являются строго моим мнением, которое, как и у каждого из нас, может быть ошибочным.
History of Everything
В стародавние времена, когда деревья были большими, а трава зеленее, в 1911 году, в прекрасном городе Нью-Йорк, была основана компания IBM. Компании этой суждено было сделать, наверное, самый важный, самый главный шаг в истории развития компьютерной индустрии. В 1981 году это производитель мейнфреймов представил миру персональный компьютер IBM 5150, укомплектованный по стандартам, имеющим место быть до сих пор -- процессор, оперативная память, постоянное запоминающее устройство, внешнее записывающее устройство. Главная фишка этого аппарата заключалась в открытой архитектуре, сборщик такого компьютера мог сам выбирать производителя оборудования. IBM не запатентовала и не лицензировала ничего, даже гениальную разработку своих инженеров -- BIOS. И из стана появившихся на свет клонов родилось такое понятие, как "IBM-совместимый компьютер", которым индустрия пользуется по сей день. Разумеется, была ещё компания Apple, представившая в том же году свой компьютер Apple III, но это уже совсем другая история.
В то же время, по заказу IBM, малоизвестная компания Microsoft разрабатывает операционную систему для этих компьютеров. Точнее не разрабатывает, а покупает операционную систему 86-DOS у компании Seattle Computer Products и дорабатывает её до уровня требований IBM. Система переименовывается в PC-DOS и идёт в комплекте с компьютерами, выпущенными "голубым гигантом". Здесь очень важно отметить, что альтернативной ОС для этих компьютеров на тот момент не было в принципе.
Билл Гейтс, будучи невероятно талантливым бизнесменом и очень дальновидным человеком, посмотрев на отказ IBM защищать свою интеллектуальную собственность, быстро смекнул, что долго этой фирме на рынке PC лидером не быть, а такой рынок появится точно, причём из практически точно таких же компьютеров. Что же делать? Не оставаться же на тонущем корабле. Ответ был прост. Для ОЕМ производителей был создан комплект разработчика, который позволял "вшивать" в ядро DOS драйверы для выбранного ими оборудования, и ставить операционную систему на свои компьютеры. Мистер Гейтс не ошибся, уже в 1986 году IBM теряет позиции лидера на рынке домашних компьютеров. Появляются фирмы-сборщики, которым нужна программная оболочка для их машин. А продукту Microsoft, как было сказано выше, альтернативы нет. Благодаря открытой архитектуре, IBM PC-совместимые компьютеры становятся доминирующими на рынке, вытесняя все остальные платформы, а Microsoft получает полную и безраздельную монополию на поставку операционной системы для этих компьютеров. 20 ноября 1985 года выходит Windows 1.0 - графическая надстройка над ядром DOS, а 18 марта 1992 года выходит Windows 3.1 для рабочих групп, которая позиционируется маркетологами майкрософт как самостоятельная операционная система, что, как выяснилось практически сразу, было совсем не так, но это уже совсем другая история.
В 1969 году, в компании Bell Labs, являющейся подразделением AT&T, группа разработчиков создаёт операционную систему, пытаясь реализовать идеи совместного проекта General Electric и Массачусетского технологического университета, MULTIX, которому AT&T оказала весьма щедрую поддержку, но позже отказалась от него в силу его нерентабельности. Получившийся продукт получил название "Первая редакция" и стал первой официальной версией UNIX. Проект рос и развивался, выйдя за пределы AT&T он стал популярен в высших учебных заведениях. Были выпущены ещё две редакции, отличающиеся существенными дополнениями и нововведениями. Именно UNIX-разработчикам мы обязаны появлением языка Си, на котором (или языках, созданных на его основе) в наше время написано практически всё. UNIX отлично прижился в дата-центрах крупных компаний, на мейнфреймах, в научно-исследовательских институтах, разрабатывался отдельно для каждой машины, и стоил весьма солидных денег.
В 1983 году человек по имени Ричард Столлман, окрылённый мечтой об опенсорсной утопии, запускает свой проект GNU - попытку создать полнофункциональную программную среду для персонального компьютера исключительно из свободно распространяемого и основанного на открытых исходных кодах программного обеспечения. В рамках этого проекта к 1990 году для UNIX-платформы были созданы: текстовый редактор Emacs, компилятор языка Си gcc, отладчик программ gdb, командная оболочка bash, библиотека важнейших функций для программ на Си libc. С помощью этих инструментов можно было писать программы на Си, пользуясь только свободными продуктами. Однако, свободного UNIX-совместимого ядра в природе не существовало. Этот недочёт мог бы поставить жирный крест на, по мнению многих фигур тогдашней IT-индустрии, нелепой мечте, если бы не один студент из Финляндии по имени Линус Торвальдс.
В 1991 году Торвальдс загорелся идеей написать UNIX-совместимую операционную систему для своего компьютера на базе тогда очень распространённой архитектуры Intel 80386. Прототипом ядра стала операционная система MINIX, созданная Эндрю Танненбуамом в качестве учебной модели, демонстрирующей архитектуру и возможности UNIX. Ключевым моментом стало решение Торвальдса выложить исходники ядра в общий доступ, то есть по лицензии GNU. Кстати, название Linux было придумано админом того ftp-сервера, на который был залит исходный код, как гибрид имени создателя и слова UNIX. Вокруг тогда ещё откровенно сырого ядра быстро выросло коммьюнити, оказывающее Линусу посильную помощь в разработке, исправляя ошибки в его коде и предлагая собственные модули. Впоследствии из этого коммьюнити выросла организация Linux Foudation, которая продолжает выпускать новые версии ядра Linux по тому же самому принципу, что и 24 года назад. Абсолютно любой человек может скачать исходные тексты и принять участие в разработке.
Таким образом, в 1994 году была представлена версия 1.0, что значит, что разработка и исправление всех ошибок (теоретически) закончены. К нововыпущенному ядру были готовы, пусть и не полностью с ним совместимые, вышеупомянутые инструменты, созданные Столлманом. В итоге получилась полноценная программная платформа для IBM-совместимых компьютеров с готовым набором инструментов разработчика на языке Си.
Разумеется, в таком виде новоиспечённая система никак не годилась для установки на компьютеры среднестатистических пользователей, ведь всё, что можно было делать в Linux, это писать программы для Linux. Для выполнения каких-либо прикладных задач необходимо было как минимум обладать серьёзными навыками в программировании, а в идеале учавствовать в разработке ОС. К примеру, чтобы почитать электронную почту, нужно было либо написать почтовый клиент, либо заставить работать на Linux какой-то из существующих, и не известно какая из этих задач была сложней. Речь идёт даже не о работе в чистом ядре со скомпилированными в нём GNU-программами, это было справедливо и в первых дистрибутивах на основе Linux, например, Slackware. Впрочем, определённые плюсы в этой ситуации были. Всё, что писалось для Linux в те годы, распространялось по лицензии GNU, на эти программы распространялись те же принципы разработки, что и на само ядро. Софт этот писали всем миром, миллионы программистов всех возрастов и квалификаций имеют возможность протестировать и поправить код, именно поэтому Open Sorce-программы даже в наше время отличаются высокой стабильностью, надёжностью и отказоустойчивостью. Почему? По мне так причина очень проста. Люди, задавленные корпоративной средой, сроками, начальством и семью часами утра, будут работать намного хуже, чем те, что работают от души, по доброй воле на балго себя и окружающих, пусть даже и бесплатно, но занимаясь любимым делом. В последствии, это создало весьма неприятный стереотипный образ ботаника-красноглазика вокруг представителей Linux-сообщества. Даже когда эта операционка добралась до компьютеров обычных пользователей вокруг неё сохранился ореол страшной-престрашной командной строки, по которой бегут страшные-престрашные буквы и цифры, читать которые могут только гении с двумя докторскими степенями и очками толщиной со стеклопакет. Обидно, что этот стереотип отчасти сохранился до сих пор, но на самом деле всё гораздо проще. В современных дистрибутивах Linux можно вообще не связыватсья с терминалом, но это уже совсем другая история.
Icons and demons.
Итак, после короткой исторической справки, давайте посмотрим, что же мы имеем сегодня. Говорить об этом на самом деле сложно, ибо статистика очень сильно разнится. К примеру, рынок PC в России на >95% контролируется Windows. В США Windows тоже доминирует, однако, весьма ощутимый процент пользовательских душ там принадлежит компании Apple и её MacOS. Есть ещё Китай, население которого составляет немногим меньше четверти от всего населения земного шара, и там статистика вообще другая.
В любом случае, основную массу персональных компьютеров сейчас обслуживают операционные системы компании Microsoft. Почему? Если Линукс такой хороший и замечательный, то почему им никто не пользуется? Существует такая интереснейшая особенность человеческой психики -- синдром утёнка. Всем известно, что птенцы считают мамой того, кого увидят сразу после вылупления. То же самое происходит с людьми в повседневной жизни. Когда человек начинает знакомится с какой либо новой для него областью, он будет считать самым лучшим то, что первое попадётся ему на глаза. Подумайте над этим, вспомните себя в прошлом и понаблюдайте.
А что было с молодым и развивающимся рынком PC? На все без исключения продаваемые в мире компьютеры устанавливалась Windows. Когда вычислительные машины стали появляться в квартирах, на предприятиях, в офисах, первое что видели люди -- это летящее окошко с цветными стёклами. Сюда же добавим, что Microsoft никогда не вела крупномасштабных кампаний против пиратов, никогда. Были отдельные показательные случаи, когда людей, в частности системных администраторов, сажали за установку не лицензионных копий программного продукта и последующую их активацию, но это делалось скорее для сохранения баланса и в основном органами внутренних дел страны, чтобы особо предприимчивые граждане не наживались на плодах чужого труда. Ну и конечно же, чтобы напомнить электорату, что за всё хорошее нужно платить. Но рядовым пользователям, конечно, бояться было нечего.
Итак, абсолютно все, кто начинал знакомство с высокими технологиями, вынужден был начинать его с Windows. С этим вроде бы разобрались. Теперь предлагаю взглянуть на задачи, которые из года в год выполняет типичный PC.
Конечно же, это рутинные офисные процедуры. Обработка документов, подсчёт бухгалтерии, обмен сообщениями через Интернет. Для этого нам дали Microsoft Office. Текстовый редактор, редактор таблиц, простая СУБД, инструмент создания презентаций и великолепный почтовый клиент. Интернет? Нам дали Internet Explorer, который до середины нулевых лидировал на рынке браузеров. Идём дальше. Фильмы и музыка? Нам дают Windows Media Player. И если бы всё это ещё и работало как надо... А впрочем, это уже совсем другая история. Разумеется, в Windows у нас было всё, что нужно, всё, чего мы привыкли ждать от компьютера. Зачем было лезть куда-то ещё?
Следующая мысль когда-то вызвала значительные разногласия между мной и некоторыми моими коллегами, поэтому хочу вновь вернуть внимание читателя к памятке в самом начале статьи. На мой строго субъективный взгляд, с середины 90-х и, пожалуй, по сей день главным двигателем PC-индустрии являются компьютерные игры. Серьёзно, вы когда-нибудь слышали, чтобы кто то бежал в магазин апгрейдить свой компьютер ради новой версии офисного пакета? А из-за свежей игры? Потребности игроделов серьёзно подстёгивали производителей железа, заставляя их совершенствовать свои технологии, выпуская всё новые и новые модели навороченных железок. Индустрия развлечений сама по себе имеет финансовые обороты сопоставимые с ВВП некоторых стран, войдя в неё, можно солидно заработать. Этим и занялись производители компьютерного железа и создатели игр. А поскольку Windows являлась (и является) доминирующей платформой, естественно, всё это делалось для неё. Плюс Microsoft, и здесь вовремя прочувствовав тенденцию, выпускает пакет API под названием DirectX, призванный упростить создание игрового контента.
Нет, разумеется, Linux на вашем топовом железе заведётся как родной, однако, поскольку он мало распространён, создатели видеокарт, звуковых карт и прочего оборудования предпочли не тратить время на написание драйверов для этой ОС. Было время, когда драйвера для новенького принтера или звуковой карты немногочисленным домашним пользователям Linux приходилось писать самостоятельно. Подобное положение дел наращивалось как снежный ком: чем больше пользователей Windows, тем больше разных приятностей, сделанных для неё, и чем больше приятностей для Windows, тем больше у неё пользователей. Казалось бы, замкнутый круг? Однако...
Here come the Savior.
Однако, что-то пошло не так. Примерно с момента выхода Windows 8. Многие студии-разработчики игр, а также производители некоторого железа начали отмечать, что Microsoft в этой операционной системе начали изменять политику доступа ко внутренним ресурсам, к взаимодействию с аппаратной частью PC и делать прочие вещи, меняющие положение дел и, по сути, затрудняющие им работу. Высказывались даже мнения, что Microsoft намеренно саботирует свои программные продукты, делая их менее пригодными для занятий, которые продвинули их ОС на вершину Олимпа. В рамках данного обсуждения, допустим что это так, и попробуем разобраться, почему.
Для начала, зачем вообще это делать? Зачем намеренно резать курицу, несущую золотые яйца? На самом деле, ничего опасного в этом нет. Синдром утёнка, плюс те самые инвестиции в будущее надёжно защитят уровень популярности их операционных систем. Фактически, Microsoft может себе позволить откровенную халтуру, "пипл схавает", как это было, например, с Windows Vista и ранее с Windows Millenium.
Далее, игровой рынок на PC. Как бы печально это ни звучало, но финансовая статистика за последние лет 6-7 наглядно демонстрирует его сокращение. Вполне вероятно, что ещё через 15-20 лет делать игры для PC станет попросту убыточно. Виной тому, в первую очередь, повальное пиратство. Распространение широкополосного интернета и засилье торрент-трекеров лишает разработчиков и издателей огромной доли прибыли. Конечно, помимо этого есть и другие причины, их можно рассмотреть вкупе с причинами, сделавшими PC самой популярной игровой платформой на добрые 15 лет, но это уже совсем другая история. Пиратства и всех прочих губительных для PC факторов почти нет на консолях, и игровая индустрия постепенно смещается туда. Здесь Microsoft опять же выстроила оборонительные позиции. Их консоль Xbox является одной из самых популярных игровых платформ. Но не всё так хорошо, финансовые отчётности консольного подразделения говорят о том, что показатели этого проекта на волоске от черты убыточности, в то время как Sony и Nintendo довольно неплохо зарабатывают на своих продуктах. Саботаж Windows 8 мог быть тонким намёком как геймерам, так и разработчикам, что пора бы переходить на консоли. Это увеличило бы процент консольных игроков, и пропорционально увеличило бы продажи Xbox.
Но как же, не опасно ли отводить пользователей от своей, так сказать, родной платформы? Нет, не опасно. Современные приставки умеют всё то же самое, что умеет PC. Плюс, на заре своего становления находится другой рынок -- рынок мобильных устройств. Не берусь делать такие предположения, но есть вероятность, что через пару-тройку десятков лет PC вымрет как класс устройств. Но в любом случае, пока PC жив, Windows на нём прописана железно, благодаря проделанной ранее работе. Так, вероятно, считают в Microsoft.
Стремительно развивающийся рынок смартфонов, возможно, ещё одна причина того, что сделали с Windows. В условиях доминации Google (Android) и Apple (iPhone), Microsoft необходимо было принимать срочные меры, чтобы занять пока ещё свободные ниши. Возможно, что все эти неприятные изменения в Windows были следствием попытки сделать кроссплатформенную ОС. Что мы в общем то и увидели в Windwos 10.
Итак, по тем или иным причинам, Microsoft поменяла некоторые свои политики и стратегии. Что происходит на этом фоне? В двух словах -- Linux постепенно набирает обороты. Впервые в истории она пошла в массы, когда в Google объявили о создании собственной операционной системы. Когда вышла первая версия Android`а, в ней не было практически ничего. Был магазин приложений и набор SDK для разработчика. Сейчас современные мобильные устройства выпускаются с 5 версией Андроида, и она уже является полноценной операционной системой. В ней есть абсолютно всё, что только душе угодно: офисные пакеты, медиапроигрыватели, все популярные браузеры портированы на эту платформу. Почтовые клиенты, различные мессенджеры, реализована поддержка всех современных веб-технологий. Магазин приложений насчитывает тысячи наименований, как платных, так и бесплатных. Для Андроида даже были портированы некоторые особенно популярные игры, а кое-что созданное эксклюзивно для него, набирает себе такую славу, что портируется и на Его Высочество PC. А теперь главное -- Андроид это Linux. То есть Андроид это операционная система, основанная на ядре Linux. То есть по сути, это почти такой же дистрибутив Linux как Ubuntu, Fedora, Mint, Debian и другие популярные ОС на этом ядре. И всё это без страшной кошмарной командной строки и для людей с нулевыми знаниями в системном программировании. Вы всё ещё считаете, что линукс для очкариков? Тогда мы идём к вам.
Почему же нельзя сделать то же самое для обычного компьютера, спросите вы. Вообще-то уже сделано. Время идёт, и работы над дистрибутивами Linux не останавливались ни на минуту. На данный момент самый популярный среди пользователей дистрибутив Linux Mint, на ощупь мало чем отличается от привычной рабочей среды. Я не говорю, что пересев на него, пользователь не заметит никакой разницы. Однако дискомфорт может вызвать разве что смена привычной обстановки. Функционал, который вы привыкли ожидать от своего компьютера, полностью сохранится. Всё выполнено в графическом интерфейсе. Командная строка, конечно, осталась, но вполне можно работать и не связываясь ней.
Честно говоря, за последние два года на платформу Linux прямо таки снизошёл свет. Производители видеокарт начали писать полноценные драйвера для своих продуктов, некоторые технологии, созданные для игровой индустрии, в частности OpenGL, начали освоение и терраформирование некогда агрессивного линуксового грунта. Но самый громкий бум прогремел в недрах компании Valve (Half-Life, Counter Strike, Portal, Team Fortress, Left 4 Dead, Dota и многие другие), когда её глава Гейб Ньюэлл заявил, что считает Windows 8 полным провалом и что его компания теперь будет выпускать игры в том числе и для Linux, так как, якобы, она является куда более перспективной игровой платформой. Его фирма начала кампанию по популяризации Linux, были даже устроены несколько закрытых семинаров для разработчиков, где ребята из Valve делились своим опытом разработки игр под Linux. И, кажется, сообщество начинает прислушиваться. Для меня стало огромным сюрпризом, когда я увидел в клиенте Steam под Ubuntu возможность установить Bioshock Infinity. Это, пардон, бренд мирового уровня, общепризнанный шедевр игрового искусства. Возможно, читателю также что-нибудь скажут такие названия, как Mineсraft, Sid Meier's Civilization V, Payday, Flatout 2, Braid... Список можно продолжать, но я думаю, что моя мысль понятна. Все эти игры портированы с Windows на Linux. Популяризацией Linux занялись серьёзные компании, и просто так это уже не затухнет. К тому же, на Linux есть такая наикрутейшая штука как Wine. Это программная среда для запуска exe-файлов и сопутствующих компонентов. Летом прошлого года я занялся её серьёзным тестированием. Будучи заядлым геймером, меня особенно интересовал вопрос запуска в этой среде различных игр. Дамы и господа, у меня запустилось АБСОЛЮТНО ВСЁ что я ему подсовывал. Что то просто по щелчку мыши, что то после установки дополнительных компонентов в настройках Wine. Исключение составила одна узкоспециализированная программка, написанная на платформе .NET. Она запустилась, но наотрез отказалась издавать какие-либо звуки, что было очень важно для реализации её рабочего назначения.
Добавим сюда ещё несколько плюсов: малое потребление системных ресурсов (может, процентов 30 от того, что кушает Windows после месяца использования), укомплектованность стандартным набором программ по умолчанию, полностью открытый исходный код, что исключает какую-либо возможность использовать ваши личные данные без вашего ведома. Конечно, кому-то это не важно, но у меня, как у параноика со стажем, встали дыбом волосы, когда я прочитал о результатах анализа скрытой деятельности Windows 10. Пользуясь Linux, вы всегда знаете, что происходит на вашем компьютере и всегда можете это контролировать на 100%. Единственное, что может отпугнуть -- Linux не так удобен как Windows. Причина этого вполне очевидна, Microsoft тратит миллиарды долларов в год на рекламные кампании и исследования, призванные выяснить что творится в голове у среднестатистического пользователя и где ему будет удобно видеть кнопку "Пуск", в трёх миллиметрах от края экрана, или в двух.
Сколько стоит быть честным?
В завершении своего повествования, хочу поговорить ещё об одной деликатной теме, ибо в рамках данной статьи не поговорить о ней просто нельзя. Несмотря на то, что пиратство и откровенное воровство интеллектуальной собственности в нашей стране дело вполне привычное, если не сказать нормальное, я всё-таки надеюсь, что когда-нибудь мы научимся уважать такое понятие, как "авторское право".
Подумаем вот о чём. Windows стоит денег. И программы, которые вам, вероятно, потребуются, тоже не всегда бесплатные. Разумеется, чему угодно (почти) можно подобрать бесплатные альтернативы, но далеко не всегда они оказываются лучше своих дорогостоящих коллег по цеху. Платные программы, как правило, имеют более широкий функционал, производитель предоставляет их поддержку. Сейчас предлагаю вам небольшое исследование, которое, я надеюсь, наглядно покажет толщину вашего кошелька при использовании Windows и Linux.
Windows 10 - Самое дешёвое предложения с Яндекс маркета 5150р.
Да, есть такие дистрибутивы как Red Hat Enterprise, круглосуточная поддержка от производителя которого стоит денег, но и предназначены они для крупных дата-центров, таких как у Google и Яндекса. Всё остальное достанется вам за просто так.
Функционал конечно не аналогичный, OpenOffice отстаёт процентов на 20, но эти проценты представляют собой весьма специфические функции, которыми вы, вероятно, не воспользуетесь никогда.
Microsoft Visual Studio - от 4 до 122 тысяч в зависимости от комплектации.
Eclipse -- бесплатно.
Среда разработки она и есть среда разработки. Без наворотов, не такая красивая и удобная, но функционал ограничивается лишь вашими профессиональными навыками. Не умеет C#. Его умеет Mono. Его и .NET.
На Linux вам антивирус не понадобится вообще, но если очень хочется, то практически все популярные продукты, такие как Касперский, Доктор Web, NOD32, и Avast портированы на Linux.
Ладно, буду с вами честен до конца, все бесплатные программы из данного списка есть и для Windows. Но ими пользуются очень мало и неохотно. По долгу службы я повидал достаточно много компьютеров домашних пользователей, и у всех установлен пиратский Microsoft Office, взломанный Photoshop, совершенно не нужный им крякнутый AutoCAD и прочее. На самом деле, нередко попадаются компьютеры, владельцы которых ставят пиратского софта тысяч на 500. Зачем? Чтоб было. Разумеется, есть определённые экономические, социальные и иные причины, по которым наша страна до сих пор ворует, но это уже совсем другая история.
Хочу поблагодарить за помощь в создании этого материала человека скрывающегося под ником ButylkUs и моего хорошего друга и коллегу Inearthed.