Как могла организация, которая приложила руку к такому количеству изменяющих мир технологий, не процветать?
Когда появилась новость о том, что Mozilla запускает новый раунд увольнений - пока это второй в 2020 году, реакция была быстрой. Разработчики заметили, что сокращение Mozilla пролегло через корпоративный жир на мясо компании. Они сокращали свои вложения в популярное подразделение инструментов для разработчиков. Расформировать всю команду по управлению угрозами. Нарезка команды Servo, которая работала над браузером нового поколения на базе Rust. Испарение команды MDN. В общей сложности два объединенных раунда увольнений составили почти треть компании.
Учитывая, что значительную часть скромной пользовательской базы Firefox составляют программисты, сокращение его инструментов разработчика кажется особенно недальновидным способом разочаровать самых лояльных пользователей. Но людям, менее знакомым с компанией, сокращение Mozilla кажется просто еще одним случаем, когда конкурент не может добиться успеха с нишевой альтернативой. В конце концов, прошли годы с тех пор, как популярный продукт Mozilla - браузер Firefox - серьезно оспаривал господство на рынке. Неужто это был просто очередной медленно вымирающий динозавр?
Но Mozilla - это не просто компания Firefox. Это не просто еще одна технологическая компания, которую обошли конкуренты с доходом в триллионы долларов, такие как Microsoft, Apple и Google. Вместо этого Mozilla - это компания с долгой историей продвижения вперед мира веб-стандартов. И его кризис должен волновать всех нас.
Краткая история Mozilla
Mozilla была создана из пепла одной из самых заметных программных ошибок в мире. Netscape Navigator, компания-первопроходец, выпускающая веб-браузеры в конце 1990-х годов, за несколько месяцев превратилась из короля Интернета в компанию, работающую также на рынке. Причина - агрессивный набор Internet Explorer от Microsoft - вряд ли казалась справедливой. Но большинство наблюдателей за отраслью смирились с будущим, в котором браузеры будут бесплатными и повсеместными. Вряд ли они были продуктом, на котором можно было построить компанию.
Затем, проявив гениальность, Netscape решила, что превратит свой браузер в проект с открытым исходным кодом. Он создал проект Mozilla для управления этим процессом и разработки следующей версии интегрированного набора приложений для браузера, почты и чата Netscape. Эта программная инициатива медленно рушилась перед лицом конкурентов, у которых было больше денег и больше возможностей. Но в последующие годы команда Mozilla превратилась в организацию другого типа - некоммерческую Mozilla Foundation, занимающуюся продвижением открытых веб-стандартов и веб-грамотности. (Не говоря уже о нескольких утопических принципах, изложенных в знаменитом Манифесте Mozilla.)
Вскоре после этого группа разработчиков Mozilla перезагрузила свои браузерные разработки с помощью Firefox и выделила его в отдельную, полностью принадлежащую ему корпорацию, которая до сих пор финансирует Mozilla Foundation. Если бы эти технологии оставались заблокированными AOL (компанией, купившей Netscape), они бы умерли много лет назад, утомленные меняющимися ветрами интернет-моды. Фактически, даже AOL отказалась от программного обеспечения, приобретенного вместе с Netscape, и перешла на Internet Explorer незадолго до того, как оно стало неактуальным.
Лучшие хиты Mozilla
Firefox - самое известное творение Mozilla. И хотя сегодня его легко отвергнуть как просто альтернативный браузер, ранний Firefox был пионером в области блокировки рекламы, конфиденциальности данных и инструментов для разработчиков. (До появления Chrome DevTools был Firebug.)
Если бы это было все, что было в Mozilla, компания стала бы еще одним ударом на пути к мировому господству Chromium и WebKit. Вместо этого Mozilla продвинула некоторые из наиболее важных современных веб-технологий. Вот четыре их лучших начинания.
1. Ржавчина
Когда Netscape рухнул, немногие осознали, что его наиболее важным вкладом был небольшой, недостаточно мощный язык сценариев, который он оставил. Этим языком был JavaScript.
JavaScript был создан в тот короткий период, когда Netscape доминировала в сети. Но за два десятилетия, прошедшие после провала Netscape, JavaScript стал более распространенным и доминирующим. Так что нетрудно представить, что самым важным нововведением, которое оставляет после себя Firefox, может стать невероятно эффективный типизированный язык Rust.
Привлекательность Rust простирается через весь проход. Разработчики, которые считают C ++ слишком вседозволенным и подверженным ошибкам, любят Rust. Но разработчики, которые считают традиционные языки ООП слишком тяжелыми и неэффективными, также любят Rust. И, несмотря на относительно низкое распространение, Rust ежегодно с 2016 года оценивается как самый любимый язык программирования в опросе разработчиков Stack Overflow.
К сожалению, поддержка языка Rust больше не является приоритетом для новой Mozilla. В последнем раунде увольнений они вырезали преданных разработчиков Rust и команду Servo, которая стремилась создать новый движок браузера на базе Rust. Но в настоящее время принято считать, что Rust не погибнет вместе с кораблем. Планирование автономного Rust Foundation уже ведется.
2. HTML5
Трудно вспомнить, но было время, когда мир был захвачен ужасной битвой между HTML и XHTML, несовместимой с предыдущей версией HTML, переосмысленной с использованием более строгого синтаксиса XML. А HTML проигрывал. В 2004 году организация по стандартизации, отвечающая за HTML (W3C), официально прекратила всю работу над HTML.
На этом история бы закончилась, если бы не WHATWG, специальная группа, быстро сколоченная Apple, Opera и Mozilla. Остальное уже история - WHATWG победила, вынудила W3C изменить курс и запустила множество новых стандартов под эгидой HTML5, включая видео без Flash, веб-работников, веб-сокеты и многое другое. Эти стандарты действуют и сегодня.
Mozilla определенно была не единственным игроком в этой драме. Но они сыграли важную роль в запуске движения, которое помогло определить следующее десятилетие веб-технологий.
3. Asm.js
Одной из самых замечательных уловок, появившихся в Mozilla, был asm.js. Технически asm.js - это всего лишь упрощенное подмножество JavaScript с такими хитростями, как побитовая арифметика, для принудительной строгой типизации. Но разработчики из Mozilla продемонстрировали, что они могут компилировать другие языки до этого микроязыка с улучшенной производительностью. Имея не более чем неформальную спецификацию и транспилятор под названием Emscripten, они взяли 3D-игры в реальном времени, созданные на движке Unreal на C ++, и поместили их в веб-браузер.
Asm.js стал трамплином для самого важного нововведения в новейшей истории Интернета: WebAssembly. WebAssembly следует по пути asm.js как своего рода машинный язык для Интернета, который работает в среде выполнения JavaScript. Он добавляет дополнительные улучшения, такие как компактный двоичный формат для кода, который не требует синтаксического анализа или уловок компилятора. Сегодня некоторые из самых интересных инноваций в мире создаются на основе WebAssembly, включая фреймворк Microsoft Blazor.
WebAssembly - это совместный проект Mozilla и других разработчиков браузеров, но он не смог бы так быстро воплотиться в жизнь без примера asm.js. Даже сегодня asm.js является полифилом для WebAssembly - резервом обратной совместимости для некоторых старых браузеров, не поддерживающих WebAssembly.
4. MDN (Сеть разработчиков Mozilla)
MDN - это огромный ресурс высококачественной документации для разработчиков. Вы можете думать об этом как о Википедии для современной веб-разработки или как о значительно лучшей версии W3Schools.
Если вы искали ответ в Интернете, вы, вероятно, уже сталкивались с одной из жемчужин MDN. Возможно, вы использовали его исчерпывающий справочник свойств CSS или его хорошо организованный справочник HTML DOM. Возможно, вы глубоко погрузились в разработку нового API, такого как IndexedDB или WebRTC. (Здесь нет устаревшей информации!) Или, возможно, вы читали амбициозное Введение в HTML MDN, которое начинается с описания разметки для начинающих и продолжается вплоть до фреймворков JavaScript, таких как React, Ember и Vue.
Документация MDN идет еще глубже, чем то, что представлено на веб-сайте. Например, данные о совместимости браузеров, которые собирает Mozilla, настолько тщательны, что их можно использовать для таких сервисов, как https://caniuse.com.
Теперь Mozilla распотрошила команду MDN. Они обещают поддержать популярный сайт, возможно, с помощью других партнеров и большей поддержки сообщества. Но без вливания денежных средств и талантов из мотивированной организации остается открытым вопрос, сможет ли MDN поддерживать свои высокие стандарты. В конце концов, у Mozilla уже есть полное кладбище заброшенных инициатив для раннего веб-образования, таких как Webmaker, Mozilla Backpack и - мой любимый - X-Ray Goggles (невероятно простой способ представить HTML, который более эффективен, чем 90% видеоуроков мира). Если это признаки будущего, они не обнадеживают.
Что убило Mozilla
Mozilla еще не умерла (пока), но явно достигла критической точки. Письмо Mozilla об увольнении своим сотрудникам возлагает вину на COVID-19, что кажется сомнительным. В конце концов, Mozilla Foundation была создана, чтобы помочь Mozilla преодолеть краткосрочные потрясения и принять долгосрочную перспективу. Он был разработан, чтобы изолировать разработку программного обеспечения Mozilla от темпераментных руководителей, причудливых тенденций и инвесторов Кремниевой долины, стремящихся удвоить свои деньги. И хотя COVID-19 в конечном итоге пройдет, нет простого способа воссоздать выпотрошенную команду разработчиков или восстановить доверие разработчиков.
Реальность - о которой Mozilla не говорит, но о которой часто пишут в технической прессе - такова, что Mozilla использует чрезвычайно хрупкую модель дохода: рекламную щедрость конкурента, создающего браузер. Более 90% средств Mozilla поступает от сделки с Google, которая делает ее поисковой системой по умолчанию для Firefox. Взамен Mozilla получает ежегодную выплату, которая превышает 400 миллионов долларов. Google продлевал эту сделку несколько раз, даже несмотря на то, что проникновение Firefox на рынок резко упало.
С годами обновления Google стали медленнее и менее восторженными. Возможно, они продолжают финансировать Firefox только потому, что не хотят, чтобы испытывающий трудности браузер полностью прекратил свое существование и сосредоточил внимание антимонопольных органов на их пути. (Это почти та же самая причина, по которой Microsoft когда-то инвестировала в Apple.) Но какими бы ни были намерения Google, практика Mozilla почти полностью полагаться на одно пожертвование от технологической мегакорпорации кажется серьезной стратегической ошибкой.
На протяжении многих лет Mozilla пыталась разработать долгосрочные коммерческие продукты, такие как Firefox OS, дорогостоящую сеть VPN и службу закладок премиум-класса. По большей части они потерпели неудачу. Теперь Mozilla (корпорация, а не фонд) нацелена на новую и неутешительную цель: рост ядра браузера за счет дифференцированного взаимодействия с пользователем. Вы можете прочитать это по-разному, но, по крайней мере, одна интерпретация состоит в том, что они надеются добиться успеха, возясь с пользовательским интерфейсом своего браузера и переупаковывая текущие продукты с новым маркетингом. Если так, то душераздирающая история упадка Mozilla также является началом ее конца.
Хотите предложить свою поддержку? Вы можете пожертвовать Mozilla Foundation, но из-за того, как устроена корпорация, ни одна из этих денег не инвестируется в Firefox или инструменты разработчика. Если у вас есть навыки и время, лучшая возможная поддержка - это присоединиться к сообществу Mozilla и внести свой вклад в их кодовую базу.
Чтобы узнать больше об истории JavaScript, прочтите Как JavaScript вырос и стал настоящим языком. А чтобы получать уведомления о новых статьях, подпишитесь на ежемесячную рассылку Young Coder.