Когда в прошлый понедельник Mozilla выпустила Firefox 2.0.0.10, в примечаниях к выпуску это было относительно незначительное обновление, исправляющее, как обычно, небольшое количество проблем безопасности. Однако, как оказалось, в выпуске был неприятный сюрприз для разработчиков, чьи сайты опирались на Canvas.drawImage
Firefox 2.0.0.10 полностью сломал эту функцию, в результате чего изображения исчезли с сайтов, которые полагались на него. Библиотеки эффектов JavaScript, такие как instant.js, внезапно перестали работать, и у разработчиков не было возможности решить проблему, потому что, с точки зрения Firefox, все работало идеально.
Отчет об ошибке был быстро отправлен, и беспомощные разработчики начали сообщать о них. «Клиенты жалуются, потому что их Firefox автоматически обновляется до 2.0.0.10, и теперь они больше не могут заказывать фотопечати в нашем магазине», — написал Клаус Реймер, подчеркнув, насколько серьезно Подобная ошибка может быть в реальном мире.
Разработчики Mozilla быстро мобилизовались и смогли создать фиксированную версию браузера всего через 16 часов после исходного сообщения об ошибке. Затем команда релизов взялась за то, чтобы вытолкнуть Firefox 2.0.0.11 за рекордное время. «Это будет самый быстрый поворот между выпусками Firefox на сегодняшний день», — написал разработчик Firefox Ник Томас перед новой версией.
Теперь, когда Firefox 2.0.0.11 стал общедоступным , Mozilla изучает обстоятельства, при которых этой ошибке было разрешено сделать ее общедоступной версией. Конечно, были введены автоматические регрессионные тесты, чтобы предотвратить появление этой конкретной ошибки, но предпринимаются и другие шаги. Разработчик Mozilla Марсия Кноус ответила на запросы веб-разработчиков на получение раннего уведомления о предстоящих выпусках продукта, объявив новый список рассылки Betatesters для разработчиков, заинтересованных в тестировании новых выпусков Firefox и Thunderbird перед их выпуском.
Подводя итоги эпизода, Джонатан Флэк, архитектор инструментов для художественного фильма VFX в GMP Worldwide, поделился своими мыслями :
[…] В нашей книге ответ на это был абсолютно звездным. Как сами разработчики, мы понимаем, что время от времени вы обязаны вносить подобные ошибки. Любой, кто утверждает, что их компания процедурно защищена от подобных вещей, полностью бредит.
В нашей книге это яркий пример того, как работает разработка с открытым исходным кодом. Я никогда не мог представить поставщика закрытых исходных текстов, который реагировал бы на критическое исправление фактическим выпуском через +/- 48 часов.