Выбрать главу

Собственная реализация обработки зависимостей Deepsolver основана на полиномиальном полностью детерминированном алгоритме с наложением некоторых дополнительных ограничений на задачу, которая должна дать гарантированный минимум, подходящий под требования промышленного применения. Последующее добавление приближенных алгоритмов без ограничений на задачу не запрещается, обязательно будем пытаться делать это, чтобы удобство пользователя попутно не страдало. Начнём, скорее всего, с попытки задействования libsolv. Если всё пройдёт удачно — отлично, если же нет — выполним свою реализацию minisat или другого подходящего алгоритма.

Deepsolver предоставляет некоторый достаточный и отшлифованный минимальный функционал по умолчанию, но прочие идеи не запрещаются. Это одно из ключевых положений нашей архитектуры. В целом подобных деталей очень много, и устраниться от них нельзя. Реализовать их в APT крайне тяжело, это был бы в любом случае почти новый APT, не говоря уже о том, что скорость работы существующей системы не удовлетворяет современным требованиям масштабируемости.

- Deepsolver создан с нуля или является развитием уже существующих систем управления пакетами?

- Разработка ведётся с чистого листа, но с использованием различных вспомогательных библиотек, как, например, libcurl и пр.

- Кто занимается разработкой Deepsolver? Это проект «Альт Линукс» или возникшего вокруг продуктов компании сообщества?

- Разработку ведут сотрудники компании на постоянной основе. Руководство проектом и принятие основных технических решений выполняет Дмитрий Левин, который занимается основными техническими вопросами в компании. Для меня реализация и отладка компонентов Deepsolver — это основная рабочая задача. Да, это во всех отношениях проект «Альт Линукс», идея появилась непосредственно внутри компании. Но и сообщество принимает достаточно активное участие в обсуждении деталей развития. В частности, идеи для будущей реализаций мы берём прежде всего из сообщества, и в них нет недостатка.

- Есть ли у «Альт Линукс» планы по отказу от APT и переходу на новую систему управления пакетами?

- Ответ на вопрос об отказе от APT даст только время. Как бы то ни было, абсолютно неразумно разрабатывать Deepsolver, предполагая сохранение APT. Сроки работы мы оцениваем только приблизительно. Здесь необходимо найти компромисс между определением минимальных функций первой стабильной версии и наличием реализации новых идей, которые подтверждают, что Deepsolver является действительно чем-то новым, а не просто переписанным старым. Сейчас в активной разработке базовый компонент, который отвечает за вычисление списков пакетов для внесения изменений в состояние ОС. Это самый рисковый этап, после преодоления которого многое должно стать проще. Думаю, работа над ним продлится до конца лета, если не будет неожиданных трудностей. Не хотелось бы затягивать появление первой стабильной версии более, чем, скажем, на ближайший год, но это работа с сильной исследовательской составляющей, поэтому мы только предполагаем.

- Deepsolver — это свободный продукт? На каких условиях будут распространяться его исходные тексты?

- Да, безусловно. Сейчас выбрана GPL v.2, но в сообществе уже указывалось на необходимость изменения лицензии библиотечной части Deepsolver на LGPL. Этот вопрос пока не закрыли, но точно можно говорить, что это будет одна из распространённых свободных лицензий.

- Почему вы хотите распространять библиотечную часть на условиях LGPL? Предполагается возможность линковки с какими-то проприетарными компонентами?

- Да, дело именно в этом, но просьба о возможности линковки с проприетарными продуктами пришла из сообщества. Каких-либо причин препятствовать этому, кажется, нет, поэтому, скорее всего, поменяем лицензию библиотеки на LGPL. Какие именно продукты и проекты планируют участники сообщества, мы не знаем, но в любом случае готовы поддержать это направление.

- Насколько велик интерес к Deepsolver в сообществе ALT Linux? Интересуются ли продуктом сторонние разработчики свободного ПО (скажем, создатели других дистрибутивов GNU/Linux)?

- В достаточном интересе внутри сообщества «ALT Linux» сомневаться не приходится. В целом это легко объяснимо, поскольку APT стал всё чаще и чаще восприниматься как один из основных компонентов, сдерживающих развитие системы. В нашем списке-рассылке есть разработчики зарубежных дистрибутивов, и были общие отзывы от людей, принимающих активное участие в разработке свободных проектов. В случае списка рассылки Deepsolver есть проблема языкового барьера. Список объявлен двуязычным, но активное обсуждение продолжает вестись на русском языке. Разумеется, всё это не может способствовать интеграции иностранных разработчиков в наше сообщество, и я, увы, пока не вижу выхода из ситуации. Пытаемся сглаживать проблему поддержкой англоязычной версии сайта, периодически обращая внимание, что переход на английский язык необходим.