После нашумевшей уязвимости Heartbleed в OpenSSL, обнаруженной в том числе сотрудниками Google, среди различных программных проектов началась небольшая паника — проводились внеочередные аудиты безопасности, отправлялись пожертвования в OpenSSL, а также обсуждались возможности отказа от этой криптографической библиотеки. Google решила пойти именно по последнему пути, сделав форк под забавным названием BoringSSL (СкучныйSSL).
Причиной, побудившей Google сменить OpenSSL в Chromium, стала вовсе не безопасность, так как по мнению компании абсолютно надёжных продуктов не бывает, а удобство разработки. Google работала с OpenSSL и довольно активно разрабатывала патчи, отправляя их также основным разработчикам проекта. Но с течением времени исправления и улучшения от поисковой корпорации переставали попадать в основную ветку проекта из-за того, что потенциально могли нарушить совместимость и стабильность в API и ABI. В Google с этими обоснованиями отказа соглашались, так как понимали, что правильно работающая функциональность библиотеки в собственных продуктах может некорректно работать в продуктах других разработчиков. Но с течением времени собственные специфические патчи компании накапливались (на данный момент их около 70), поэтому возникали программные конфликты с основной веткой, и возникали сложности в поддержке. Именно поэтому в Google было принято решение создать свой собственный форк, который включён в бета-канал обновлений Google Chrome.
Увеличить рисунок
По словам Адама Лэнгли, разработавшего BoringSSL, новая библиотека вовсе не замена для OpenSSL, поэтому инженерам других компаний не стоит радоваться и переключаться на разработку от Google, так как BoringSSL решает специфичные для корпорации задачи, которые могут быть не нужны другим разработчикам ПО. Он также заявил, что его библиотека занимает промежуточное положение между OpenSSL и LibreSSL, форка от фонда OpenBSD, так как Google намерена импортировать патчи из обоих проектов. Команда разработки продолжит сообщать о багах и передавать патчи в OpenSSL, но теперь разработка криптографической библиотеки будет вестись внутри Google на коммерческой основе. Первая попытка перехода к BoringSSL в Chromium состоялась 17 июля, но из-за проблем с WebView в Android и WebRTC на всех платформах, библиотека попала в Canary-сборку Google Chrome только сегодня, поэтому примерно через двенадцать недель все пользователи этого браузера обновятся до версии с BoringSSL. В дальнейшем компания планирует включить BoringSSL в состав Android Open Source Project, но конкретных сроков в Google не называют.
Напомним, что у Google уже был подобный опыт значительного форка — переход от движка рендеринга WebKit к собственному Blink, который сейчас используется в Chrome, Opera и браузере от Яндекс.