Online-каталоги универсальных приложений могут составить конкуренцию классическим репозиториям ПО
Тони Мобили (Tony Mobily), основатель журнала Free Software Magazine, опубликовал статью с размышлением о возможности создания online-каталогов (app store) самодостаточных приложений для распространения свободного ПО, которые разительно отличались бы от стандартных способов распространения свободного ПО через репозитории дистрибутивов.6 января компания Apple откроет магазин приложений для Mac OS X. Ожидается, что повторив судьбу магазинов приложений для iPhone и Android, экосистема Mac OS X получит гигантский толчок вперед. На первый взгляд может показаться, что GNU/Linux не нуждается в подобных магазинах приложений, потому что это свободное ПО и распространение приложений уже отлично реализовано через различные менеджеры пакетов. Ниже представлены некоторые доводы в пользу магазинов программ, при этом под "приложением" подразумевается ориентированные на пользователя программы с графическим интерфейсом, такие как Google Chrome, OpenOffice.org, Pidgin, Rhythmbox, Gnutella и т.п.
Требования и технические решения для магазина приложений GNU/Linux:
- Самодостаточные приложения. Это означает, что "приложение" должно быть в виде директории, содержащей собственно приложение, все необходимые библиотеки и пиктограммы. "Установка" приложения должна означать не более, чем копирование директории в каталог пользователя, и должна быть по возможности доступна любому пользователю системы. В данные момент в GNU/Linux приложения "раскиданы" по всему диску, что делает невозможным установку приложения любым пользователем путём обычного копирования директории с приложением.
Что нужно магазину приложений: каждому пользователю в системе должна быть доступна возможность устанавливать свои собственные приложения, независимо от других пользователей, и каждый пользователь должен иметь возможность скопировать любое приложение "как есть" на любой съёмный носитель или любой другой компьютер, и работать с приложением на другом компьютере, как и на своём.
- Приложения должны одинаково работать в любом дистрибутиве. Это означает, что должно быть создано некое стандартное подмножество библиотек, представленное в каждом дистрибутиве (должны быть как библиотеки Gnome, так и KDE). Приложения будут ожидать, что подмножество библиотек будет статически связано с их дополнительными библиотеками, необходимыми для их работы. В данный момент каждый дистрибутив имеет свой набор библиотек, и каждое приложение, чтобы иметь возможность функционировать, должно быть скомпилировано под требования конкретного дистрибутива.
Что нужно в магазине приложений: каждое приложение должно одинаково работать в любом скомпилированном дистрибутиве GNU/Linux.
- Приложения должны уметь предупреждать пользователя о необходимости их обновления, если таковое необходимо, и они должны уметь регистрировать в системе свои типы файлов. В основном это означает, что каждое из приложений должно быть зарегистрировано на каждого пользователя. В данный момент в GNU/Linux приложения устанавливаются с помощью менеджера пакетов, который занимается обновлением, в то время как оболочка (Gnome или KDE) решает, какие типы файлов привязаны к конкретным приложениям.
Что нужно реализовать в магазине приложений: магазину приложений GNU/Linux понадобится механизм обновления, не зависящий от конкретного дистрибутива, и функция связывания типов файлов с приложениями, не зависящая от дистрибутива и оболочки.
- Необходимо иметь возможность формировать рейтинг приложений в централизованной базе данных, чтобы у пользователей была возможность поделиться информацией о приложениях со своими друзьями. Это позволило бы продвигать приложения методами "вирусного маркетинга", а также помогло бы создать то, чего так не хватает в GNU/Linux сейчас - культуру потребления приложений. В данный момент пользователи вынуждены активно искать приложения, а в поиске, как правило, первым всплывает не совсем то, что хочется видеть.
Что нужно реализовать в магазине приложений: возможность обмена информацией о приложениях в централизованном порядке: голосования, комментарии, предложения приложений от друзей, и т.д. Необходимо сфокусироваться на приложениях с графическим интерфейсом пользователя.
- Необходимо создать приложения, которые будут работать на разных процессорах, напирмер, приложение может содержать в основной директории несколько каталогов - по одному для каждого типа процессоров. Если это возможно, то упаковщик пакетов будет поддерживать несколько типов процессоров. Первоначально это может быть всего лишь теорией и можно начать с поддержки лишь процессоров Intel. Что происходит сейчас: с нынешней системой управления пакетами проблема поддержки множества процессоров является довольно серьёзной, если не сказать неразрешимой.
Что нужно сделать в магазине приложений: возможность иметь самодостаточные приложения, которые будут работать на разных процессорах.
- Разработчики приложений должны сами нести ответственность за создание исполняемых файлов своих приложений; дистрибутивы должны способствовать этому путём предоставления готовых к использованию стандартных сред компиляции. Техническую сторону должна обеспечить стандартизация дистрибутивов GNU/Linux. Фрагментация GNU/Linux сделала технически невозможным подобный сценарий, по крайней мере сейчас. Основные дистрибутивы, ориентированные на конечного пользователя, должны будут согласиться принять стандартный набор библиотек и предоставить универсальные инструменты разработчикам приложений. Также разработчики основных дистрибутивов должны будут вместе "замарать руки", чтобы разработать кросс-дистрибутивную систему регистрации и обновления установленных приложений.
Экономика магазина приложений, некоторые сценарии организации финансирования разработчиков:
- Пользователь ищет приложение под лицензией GPL, находит его и начинает с ним работать. Это бесплатно. Однако появляется всплывающее окно, которое говорит, что автор хотел бы получать 1.5$ в год на развитие приложения. Пользователь может сказать "Да", "Нет", "Никогда" или "Напомните мне в следующем месяце".
- У пользователя может быть общесистемная настройка (или специальная утилита), которая будет автоматически выделять несколько долларов в месяц на каждое приложение. Эта настройка будет контролировать то, какие приложения используются чаще всего, и будет распределять выделенный пользователем бюджет между наиболее популярными приложениями.
- Дистрибутив может быть ответственным за управление платежами и делать небольшой (оговорённый заранее) отчёт по каждому платежу. Разработчики дистрибутива будут в тесном контакте в разработчиками приложений и перечислять средства на их счета.
- Действительно популярные приложения будут получать хорошее финансирование. Как бы там ни было, но критическая масса здесь играет большую роль: с миллионами пользователей GNU/Linux становится возможным написать приложение, которое будет иметь, например, 50 тысяч пользователей, и, следовательно, получать несколько тысяч долларов финансирования в год от своих пользователей.
© OpenNet