Девушка, мне грамм четыреста сегодняшнего софта
Война на истощение между Microsoft, с одной стороны, и девятью беспокойными штатами - с другой, в очередной раз всколыхнула горячие дискуссии между адептами и противниками движения open source. Дискуссии эти ведутся в характерном стиле закидывания друг друга банановыми шкурками: противники Microsoft традиционно используют риторику борьбы с Империей Зла, защитники Microsoft обвиняют оппонентов в нанесении урона интересам потребителя и непрофессионализме.
Тем не менее, вопрос, вновь и вновь возникающий в такого рода дискуссиях, - имеются ли у движения open source объективные преимущества перед традиционной компьютерной индустрией - является критически важным для понимания будущего компьютерных технологий.
Традиционная коммерческая индустрия не дает никаких поводов думать, что она может растаять в синем тумане одним калифорнийским утром. А движение open source лишь набирает силу и могущественных сторонников. В будущем этим явлениям предстоит сосуществование, и в свете этого неправы обе дискутирующие стороны, отказывающие оппонентам в праве на жизнь.
Так где проходит водораздел, и какими историческими тенденциями мы обязаны нынешней ситуации?
Сегодня уже можно не стыдясь признаться - мы живем в глянцевом журнале. HDTV, GSM, пробиотический йогурт, EFI, 4x4, Slim-Fast, Абсолютно Плоский Монитор, Dolby Surround, MPEG4, 4.4 мегапикселя, DVD, ABC, XYZ... Имена брэндов, форматов и стандартов кружатся и кружат голову, обещая если не спасение души, то по меньшей мере рай земной.
Так было не всегда.
Всего 50 лет назад на Земле царил Золотой Век Технологии, Век Инженеров.
Мирный и не очень мирный атом, баллистические ракеты и улыбка Гагарина, синхрофазотрон и первые многоэтажные компьютеры - технология перестала быть всего лишь любимой игрушкой западной цивилизации, стала выражением национальной мощи, предметом национальной гордости, основой и опорой. Образы, навеянные успехами технологии, глубоко проникли в общественное сознание - "бунт машин", спор физиков с лириками, научная фантастика об руку с популяризацией науки. С присущим государственным предприятиям размахом и пренебрежением тонкими морально-этическими материями, инженеры поставили на повестку дня немыслимые ранее задачи - создание искусственного интеллекта, массивное вмешательство в человеческий организм.
В целом технология была проста, доступна и понятна, пусть мнимо. Картина светлого будущего не мыслилась без научно-технического прогресса (научно-техническая революция, помните?), и не носила вовсе корпоративно-коммерческого характера. Было, было время, когда технология грелась на солнышке шестеренками наружу, и все знали how stuff works.
Где-то по пути в светлое будущее мы потеряли пыл и наивность. Ихтиандр выродился в косметические операции по увеличению груди, мечта о покорении космоса просвистела порноканалами по спутниковому ТВ.
Конечно, социологи нам скажут, что это естественно и закономерно. Общество встало на постиндустриальные рельсы массового потребления и транснациональной коммерции, и технология не могла не последовать за ним. Новые принципы финансирования технологической деятельности сосредоточились на прибыли, рыночной конкуренции и коммерческих приложениях. Это привело к повышению роли конъюнктурных прикладных исследований в ущерб долгосрочным фундаментальным, закрытости технологии в целом, миниатюризации, массовому производству и падению (себе)стоимости. Техническая культура приобретала все более рекламно-глянцевый характер.
Технология перестала быть искусством одиночек и превратилась в товар для миллионов. Профессиональная терминология и брэндинг создали магическую реальность от технологии - ширму, за которой слишком часто прячется некомпетентность и шарлатанство.
Мы не только не знаем, как stuff works, нам зачастую непонятно зачем нам stuff, и что он должен делать.
Все эти тенденции не обошли стороной и компьютерную индустрию. От гигантских ламповых компьютеров, через UNIX-микрокомпьютеры и персоналки, вплоть до КПК - она разворачивается лицом к массовому коммерческому потребителю. Требования рынка, его жестко коммерческая ориентация, массовый характер, товаризация (commodization) компьютерных технологий, как и все на свете, имеют как положительные, так и отрицательные стороны. Товар для масс должен быть простым, надежным и удобным в использовании - как для соседского ребенка, так и для домохозяйки в штате Айова.
Производители программного обеспечения ответили на этот вызов упрощением и консолидацией пользовательского интерфейса, массированным вложением средств в инфраструктуры технической поддержки софта, подробным документированием его эксплуатации. Были приняты стандарты контроля за качеством программного обеспечения. Oтделы контроля за качеством (QA - Quality Assurance) в софтверных фирмах приобрели статус, равный статусу разработчиков, пусть не по престижности, но по коммерческой важности. Сам софт становится все более самодостаточным и даже самочинящимся.
На этой волне возникли целые вторичные индустрии - компании, предоставляющие услуги по проверке удобства пользования (usability), консультации по вопросам позиционирования продуктов на потребительком рынке, услуги по тестированию программных продуктов.
Произошло общее подчинение программных продуктов пользовательской системе отсчета. Так, еще десятилетие назад операционные системы для персонального компьютера могли бы в лучшем случае заслужить названия среды запуска. Среда, которой вы с недоверием вверяли вашу аппликацию, не предоставляла самых базовых услуг. Ныне же операционная система представляет собой мощную среду с элементами самовосстановления в случае поломки, включающую в себя интегрированный сетевой браузер, поддержку большого количества сетевых протоколов, способности редактирования и создания дигитального аудио и видео и т.д.
Вдобавок уже несколько лет назад наметилась тенденция разделения операционных систем по типу использования, в целях максимальной адаптации к нуждам потребителя. Так называемые "бизнес-операционные" системы, такие как Windows NT 4, Windows 2000 и Windows XP Pro, пошли по пути максимизации функциональности в расчете на технически подкованных корпоративных зубров, тогда как "домашние" операционные системы - Windows 98, Windows Me и Windows XP Home Edition - предоставляют прежде всего возможности для домашних приложений - заснять детишек у моря, да послать их фотографии заокеанскому другу - в расчете на нас, обыкновенных пользователей.
Чтобы доставить нам, простым смертным, столько радости, а также упростить процедуру технической поддержки и защитить себя от возможных исков в нашем все более законодательном мире, поставщики программного обеспечения посадили нас в золотую клетку. В наших же интересах, конечно. Don't break this seal. Не влезай, убьет.
Производитель ограничивает доступ к "шестеренкам" программного обеспечения, помещая пользователя между молотом гарантии и наковальней мануала. С одной стороны, гарантия производителя и техническая поддержка отменяется в случае использования недокументированных "секретов", с другой стороны, наше знание о продукте ограничено инструкциями по эксплуатации. Нажми на кнопку, получишь результат.
В результате пользователь не в состоянии модифицировать продукт в собственных целях, и, что хуже, совершенно беспомощен перед техническими неполадками. Так же, как вы больше не можете заставить ваш утюг принимать "Маяк", вы не сможете и что-либо сделать с пресловутым Blue Screen of Death.
Здесь следует обратить внимание на тот факт, что у программных продуктов есть два рынка сбыта, равных по важности. Кроме конечного потребителя, у производителя программного товара есть еще один важный клиент - разработчик. Adobe Photoshop не был бы собой без большого количества plug-in'ов, богатство Билла Гейтса вряд ли было бы столь астрономическим без полчищ разработчиков программного обеспечения под Windows, и, в конце концов, ни один уважающий себя производитель софта не может не иметь у себя программы поддержки developers. Стратегический успех того или иного программного продукта зачастую зависит именно от успеха на этом рынке.
Много воды утекло со времен легендарной компьютерной лаборатории MIT. Программистa-артиста, который, по расхожей легенде, оптимизировал код, помещая данные на магнитном барабане памяти сразу перед считывающей головкой, или же сразу после нее, сменил программист-ремесленник, рисующий программное обеспечение в различных visual-средах. Чтобы обеспечить сотни миллионов потребителей необходимыми для жизни сотнями миллионов строчек кода, нужны сотни тысяч программистов. И побыстрее, пожалуйста. Скорость и простота разработки определяют все.
Как результат, программные средства и библиотеки приняли основной удар на себя, оставляя программисту возможность внести минимальные изменения. "Толщина" готового кода, используемого программистами (библиотеки и программные среды) резко увеличилась. По приблизительным оценкам, в двух ведущих бизнес-средах для Web приложений - Sun Java2 Enterprise Edition (J2EE) и Microsoft .NET, объем готовой инфраструктуры так велик, что процент кода, действительно разрабатываемого программистом, составляет не более 10%.
Программная среда, в которой работает современный программист, предоставляет готовые семантические объекты значительно более высокой степени абстракции, чем ранее. Зачем программировать на уровне битов, единиц и нулей, когда можно работать с готовым объектом HTTP connection? Новое поколение программистов от Интернета, собственно, уже и не умеет иначе.
В итоге средний программист так же беспомощен перед проблемой в программной среде, как пользователь-чайник перед Word'ом, рухнувшим вместе с несохраненным документом.
До того, как движение open source заявило о себе всерьез, казалось, что эта ситуация безвыходна, иначе быть не может, и сие есть неизбежная плата за удобства коммерческого товара. Появление open source как действенной и действующей альтернативы раскрыло нам глаза. Оказывается, можно иначе. Оказывается, можно вернуть контроль, вновь стать хозяином своей судьбы. Удушающие границы закрытой технологии взломаны; потребитель, будь то программист или просто продвинутый пользователь, при наличии достаточных технических знаний в состоянии модифицировать и полностью контролировать технологию. Казалось бы, идеалы свободы торжествуют.
При более внимательном рассмотрении картина представляется менее розовой. Во-первых, удручающе мало число людей, которые в состоянии воспользоваться преимуществами open source. Во-вторых, модель разработки open source и конкретные проекты хорошо показали себя лишь в областях, не требующих массового капиталовложения или длительных академических исследований. Более того, в области разработки дешевого low-end hardware, где такие капиталовложения не являются необходимыми, модель не прижилась вовсе.
С точки зрения пользователя, все продукты open source страдают неудобством в использовании, ориентацией на производителя, но не на потребителя. Так, все главные усилия по превращению операционной системы Linux в удобную пользовательскую среду и реального конкурента на рынке "настольных" операционных систем проводятся и финансируются как раз в жестко коммерческих рамках. Поэтому до сих пор главными потребителями индустрии open source являются разработчики и продвинутые пользователи (так называемые "power users"). Наверное, самым парадоксальным и ироническим моментом в этой ситуации является то, что антикорпоративное движение open source в действительности оказывается самым активным агентом коммерциализации и товаризации в области разработки программного обеспечения. Компоненты программного обеспечения превратились в настолько общее место, что стали бесплатны.
Так что, девушка, мне четыреста грамм сегодняшнего софта, пожалуйста.