Разработчики проекта Mozilla представили новую методику оценки совместимости дополнений с релизами браузера Firefox. Необходимость изменений подхода к оценке совместимости дополнений возникла после перехода проекта Firefox на новую схему формирования релизов, в соответствии с которой новый значительный релиз будет выпускаться каждые 6 недель, при этом цикл разработки будет занимать 4 месяца и разные версии одновременно будут находиться на разных стадиях формирования (например, альфа-версия Firefox 6 будет доступна одновременно с бета-версией Firefox 5).
Ранее для проверки совместимости дополнения с релизами Firefox использовалась техника жесткого определения поддерживаемых дополнением версий браузера - блоке мета-данных вручную задавалась минимальная и максимальная версии браузера и html-движка. При таком подходе дополнение изначально считалось несовместимым с новым релизом браузера до тех пор, пока его разработчики не протестируют работоспособность и не выпустят новую версию дополнения с измененными параметрами совместимости. Отрицательной стороной данного метода является большая инертность процесса адаптации дополнений - для обеспечения поддержки нового релиза браузера в основной массе дополнений требовалось как минимум несколько месяцев, что было терпимо при прежнем многомесячном цикле разработки, но неприемлемо при переходе на новую схему подготовки релизов.
Для решения возникшей проблемы разработчики Mozilla предложили оставить в прошлом данную практику и отныне считать все дополнения по умолчанию совместимыми, если не обнаружено наличие проблем. При ответвлении очередной ветки Firefox все признанные работоспособными для прошлого релиза дополнения автоматически будут считаться поддерживаемыми, что позволит обеспечить совместимость с дополнениями не только финальных релизов, но и тестовых выпусков Aurora и Beta.
Поля с определением максимально поддерживаемой версии будут оставлены, но обновляться они смогут автоматически - в процессе ответвления очередной ветки Firefox будет запускаться система автоматической проверки работоспособности дополнений. Если дополнение пройдет все тесты, версия поддерживаемой ветки будет автоматически увеличена в блоке мета-данных. В случае проблем, поле с максимальной поддерживаемой версией будет оставлено неизменным и разработчик будет вынужден как и раньше обновить его после устранения выявленных проблем.
Так как не все ошибки можно выявить автоматически, то к процессу проверки будут привлечены обычные пользователи, которые смогут на этапе тестирования предварительных сборок браузера при помощи Add-on Compatibility Reporter отправить уведомление о наличии проблем, которое после проверки приведет к маркировке дополнения как несовместимого.
Для предотвращения массовой неработоспособности дополнений из-за изменения API, при отделении Aurora и Beta веток сохранение базовой совместимости с основными дополнениями будет задано в виде одного из обязательных критериев. В случае внесения нарушающих совместимость изменений будет сформирован регламент отправки уведомлений разработчикам дополнений, документирования ожидаемых нарушений совместимости и выявления дополнений на которых может отразиться вносимое изменение.
|