Прекращение разработки мобильной платформы Ubuntu Touch — не только достаточно неприятное событие для сторонников Open Source, но и повод проанализировать допущенные ошибки для того, чтобы их не повторять. Именно так считает популяризатор Linux менеджер SUSE Social Media Marketing Брайан Лундюк, поделившийся с читателями сайта Networkworld.com своими соображениями на этот счёт.
Самой главной проблемой проекта эксперт считает его чрезмерную агрессивность, несовместимую со сколько-нибудь разумными средствами достижения цели. К сожалению, эта болезнь слишком распространена в разработке программного обеспечения.
По мнению Лундюка, Ubuntu Touch — не просто проект по переносу уже существующей системы на мобильные устройства с дополнением её некоторыми специфическими средствами (набор телефонного номера, адресная книга...). Планы руководства были намного шире и включали в себя:
- разработку революционного с эргономической точки зрения рабочего окружения;
- разработку новой системы управления пакетами Snappy;
- разработку дисплейного сервера Mir;
- создание нового магазина приложений;
- создание нового комплекта средств разработки;
- создание новых программ с использованием оригинального SDK.
Иными словами, надо было сделать всё. Причём практически с нуля.
Подобные объёмы работ по силам очень крупному предприятию. Лундюк называет такие корпорации мамонтами, подчёркивая их размер.
Совершенно очевидно, что Canonacal, даже с помощью сообщества разработчиков Ubuntu, не обладает такими ресурсами. Проект с самого начала был изрядной авантюрой, и его неудаче вряд ли стоит удивляться.
Но если это было понятно, то почему руководство компании не приняло решение ограничить объём работ? Лундюк утверждает, что он понимает причины. Люди, ответственные за все направления, слишком привязались к своим относительно небольшим проектам и воспротивились бы их закрытию.
В некотором смысле это прекрасно, поскольку во многом именно благодаря «Just for Fun» и развивается Open Source. Но при этом не было никаких шансов выпустить первый релиз хотя бы на минимально приемлемом для пользователя уровне.
Конечно, до прототипов дело дошло, и это само по себе большой успех. Но вряд ли нашлось много желающих использовать устройства на основе Ubuntu Touch на постоянной основе.
Наверное тут будет уместна аналогия с десктопом. Любознательные люди начали устанавливать Linux на свои рабочие станции много лет назад. Но только второй системой. Понадобилось достаточно времени, чтобы она смогла стать единственной. Canonical не могла столько ждать — рынок мобильных устройств слишком динамичен.
Кстати, Ubuntu Touch — не первый провал на этом рынке. Аналогичные попытки предпринимала Nokia, но и они завершились неудачно.
Означает ли это, что рынок мобильных платформ уже закрыт для новых участников? Лундюк уверен, что нет. Просто новую систему надо делать постепенно и относительно долго, постоянно внося коррективы в первоначальный план, который должен быть гибким.
Для первой версии не нужны ни магазин приложений, ни новые форматы, ни оригинальный SDK. Цель этого этапа должна быть максимально простой и ясной — взять существующий дистрибутив и запустить его на одном серийном мобильном устройстве. Именно одном — не надо отвлекаться на другие.
Разумеется подобный продукт сможет заинтересовать исключительно энтузиастов. Но даже очень масштабная разработка приведёт к тому же результату, зато потребует значительно больше ресурсов.
Затем следует сосредоточиться на поддержке ключевых аппаратных компонентов: Wi-Fi-адаптеров, сенсорных экранов и других специфических модулей. Потом подобрать необходимое программное обеспечение и заставить его работать.
На этом следует остановиться и объявить о выходе первой версии новой мобильной системы. Она может быть неоптимизирована, она может быть неудобна... Главное, чтобы она работала. Только после этого имеет смысл приступать к реализации точечных изменений, постоянно контактируя с тестерами.
Даже если разработчики не смогли бы продвинутся дальше, в результате был бы один смартфон или планшет, работающий под управлением новой системы. В любом случае это лучше, чем совсем ничего.
Главный принцип, который должен выполняться всегда — максимальное использование уже существующих решений. Нужен ли новый магазин приложений, если их и без этого много? Почему бы не выбрать наиболее подходящий и доработать его с учётом конкретного устройства?
Сосредоточиться на основном и не отвлекаться на второстепенное — вот основа свободной разработки. В противном случае может получиться только то, что сообщество уже видело на примере Ubuntu Touch.