Марк Шаттлворт планирует включить Qt-приложения в базовую поставку Ubuntu
Марк Шаттлворт, сообщил в своём блоге, что в осеннем выпуске Ubuntu 11.10 в состав базовой системы могут быть включены некоторые приложения, построенные с использованием библиотеки Qt. Также Марк выразил свою благодарность "хорошим парням" из Trolltech (ныне принадлежащей Nokia) за то, что они создали такой прекрасный инструмент разработки, как Qt и пригласил к сотрудничеству всех тех разработчиков Ubuntu, кто заинтересован в его использовании.
Марк пишет, что разработчики компании Canonical постараются найти немного места на базовом CD с Ubuntu для стандартных библиотек Qt, и что они определят, какие приложения, основанные на Qt, будут включены в состав установочного диска Ubuntu. Вероятно, первым Qt-проектом претендующим на включение в состав Ubuntu 11.10 станет окружение Unity 2D, представляющее собой упрощенную альтернативную реализацию интерфейса Unity, не использующую OpenGL и способную работать на устаревших видеокартах и портативных устройствах на базе архитектуры ARM.
Как утверждает Марк, простота использования и эффективная интеграция являются ключевыми факторами при выборе приложений для Ubuntu. Он, говорит, что разработчики Ubuntu заботятся о том, чтобы приложения, которые они выбирают были гармонично связаны друг с другом и с системой в целом. Исторически это означало, пишет Марк, что создатели Ubuntu наибольшее предпочтение отдавали приложениям, написанным на GTK+, потому что опредлённое количество гармонии приходит уже при использовании одного и того же инструмента разработки для всех приложений системы.
Однако, несмотря на присутствие с самого начала в составе Ubuntu OpenOffice.org и Firefox, GTK+ не является абсолютным требованием. GTK+ - это всего лишь инструментарий для достижения цели, сами же цели намного важнее любого инструментария. Марк утверждает, что нужно оценивать приложения исходя из того, насколько хорошо они отвечают требованиям, и исходя из того, не наносит ли ущерб пользователю выбор разработчиком того или иного технического решения.
Марк говорит, что при оценке приложения для включения в состав Ubuntu, необходимо ответить на следующие вопросы:
* Это бесплатное программное обеспечение ?
* Приложение лучшее в своём классе ?
* Интегрируемо ли приложение с настройками и параметрами системы ?
* Интегрируемо ли приложение с другими программами ?
* Можно ли использовать приложение людям с ограниченными возможностями, которые не могут пользоваться мышью или клавиатурой?
* Не противоречит ли внешний вид и стиль приложения остальной системе ?
Конечно, говорит Марк, выбор разработчиком в качестве инструментария разработки Qt, никоим образом не влияет на первые два пункта. Qt долгое время был непосредственно доступен под GPL, и позже стал доступен под LGPL. По словам Марка, многие приложения, написанные на Qt, являются лучшими в своём классе - это инструментарий, который способен на многое.
Однако, по словам Марка, параметры настройки системы и пользовательских предпочтений долгое время были причиной разногласий между Qt и GTK. Интеграция с параметрами настройки системы и предпочтениями пользователя является критически важной для приложения, являющегося частью системы. Это влияет на возможность управлять приложением, используя те же самые инструменты, которые используются для управления другими приложениями, и на возможность управления этими настройками пользователем. Традиционно, с приложениями Qt и KDE в Ubuntu были проблемы из-за того, что GTK-приложения используют централизованно управляемое хранилище настроек, а в KDE всё устроено иначе.
Чтобы устранить эту проблему Canonical ведет работу над созданием Qt-биндинга для механизма управления и хранения настроек приложений dconf, чтобы можно было написать приложение Qt, которое использовало бы ту же систему формирования настроек, что и всё остальное в Ubuntu. Компания Canonical заключила контракт с Райаном Лорти (Ryan Lortie), разработчиком dconf и членом Gnome Foundation. Он будет работать с несколькими людьми из Canonical, которые использовали Qt в различных заказных проектах. Марк выражает свою уверенность в том, что результат будет положительным, а семантика и стиль dconf будут реализованы полностью.
По словам Марка, команда Qt долго и плодотворно работает с сообществом Ubuntu - разработчики Qt всегда бывают хорошо представлены на саммите разработчиков Ubuntu (Ubuntu Developers Summit), проходящем каждые шесть месяцев. У команды Kubuntu имеется большой опыт и интерес к разработке и поддержке Qt-приложений. Между разработчиками Qt и различными частями сообщества Ubuntu, включая Canonical, постоянно происходит обмен техническими новшествами и знаниями. Например, разработчики Qt работают над интеграцией в Ubuntu интерфейса для сенсорных экранов uTouch.
Таким образом, разработчики Ubuntu не собираются в скором времени заменить, например, Banshee на Amarok, говорит Марк. Но вполне вероятно, что dconf, как только у неё появится хорошая оболочка на Qt, будет рассмотрена сообществом KDE. Однако, KDE-приложение, в дополнение к стандартным механизмам KDE, должно научиться чётко взаимодействовать с dconf. Только тогда оно станет кандидатом на включение в стандартную поставку Ubuntu.
По словам Марка, решение открыть двери для Qt никоим образом не является критикой в адрес GNOME - это результат разнообразности и запутанности СПО. Принципы простоты использования и интеграции в Ubuntu остаются такими же, как и в Gnome, и являются веским основанием для дальнейшего сотрудничества с разработчиками и членами многочисленного сообщества GNOME.
Марк говорит, что, возможно, в самом GNOME появятся средства для интеграции с Qt, а возможно и нет. Но если всё же это случится, то это откроет перед Canonical новые возможности для лидерства в мире свободного ПО. По мнению Марка, намного проще создать яркую и качественную экосистему, если немного отойти от "канонического" пути развития и разработки. Также он указывает на то, что в данный момент, в связи с переходом на Gnome 3.0 и GTK3, работа команды Ubuntu над дизайном сосредоточена вокруг GNOME, с уклоном на улучшение возможностей настроек и предпочтений пользователя.