Организация Software Freedom Conservancy анонсировала систему управления репозиториями Kallithea, которая по решаемым задачам напоминает GitHub, но кроме Git поддерживает и систему контроля версий Mercurial. Код проекта распространяется под лицензией GPLv3.

В качестве основы Kallithea выступает исходный код, выпущенный компанией RhodeCode GmbH под лицензией GPLv3. Изначально RhodeCode являлся свободным проектом, но в прошлом году был преобразован в коммерческий продукт с частично открытым кодом. Группа энтузиастов, заинтересованных в продолжении существования свободного варианта RhodeCode, взяла на себя работу по доведению открытой кодовой базы RhodeCode по функциональности до проприетарной версии, развивая свободные аналоги для функций, доступных в проприетарной версии RhodeCode, и предлагая собственные новшества. В настоящее время не вся запланированная функциональность реализована - форк произведён всего несколько дней назад, но проект развивается достаточно активно.

Как и Git, Kallithea будет развиваться под покровительством организации Software Freedom Conservancy (SFC), что позволит гарантировать дальнейший свободный характер разработки и снять с разработчиков решение юридических и финансовых вопросов, дав возможность сконцентрироваться на процессе разработки. В частности, SFC берет на себя функции по сбору пожертвований, становится владельцем активов проекта и избавляет разработчиков от личной ответственности в случае судебных разбирательств. Так как SFC подпадает под льготную категорию налогообложения, проведение средств на развитие Kallithea через эту организацию позволит организовать налоговый вычет при переводе пожертвований. К числу проектов, развиваемых при поддержке SFC, относятся Amarok, Wine, Samba, Mercurial, OpenChange, Git, BusyBox, Inkscape, uCLibc и еще около десятка свободных проектов.

Kallithea представляет собой веб-интерфейс к системам контроля версий Mercurial и Git, позволяющий развернуть на своих мощностях полностью подконтрольную платформу управления разработкой, похожую на GitHub и Bitbucket. Код проекта написан на языке Python. Для работы с репозиториями задействована библиотека vcs, мета-данные о проектах хранятся в БД на основе SQLite, PostgreSQL или других, поддерживаемых SQLAlchemy. Программа позволяет через Web управлять репозиториями, разделять права доступа, рецензировать код, отслеживать активность других участников, делать форки проектов, отправлять пулл-реквесты или изменять код на месте, через простой редактор. Поддерживается интеграция с централизованной базой пользователей предприятия, основанной на LDAP или ActiveDirectory. Поддерживается создание групп репозиториев и групп разработчиков с унификацией управления членами группы.

Платформа является многопоточной, что позволяет одновременно обслуживать несколько pull/push-запросов. Для увеличения производительности в системе активно используется кэширование и выполнение действий в асинхронном режиме. В систему также интегрированы средства резервного копирования, позволяющие периодически архивировать и сохранять через scp копию всех данных. Для отслеживания активности в репозиториях поддерживается специальная прослойка, ведущая журнал всех обращений и позволяющая аутентифицировать каждый запрос. В системе рецензирования изменений поддерживается обсуждение изменений и отправка уведомлений. Внешний вид интерфейса может легко быть изменён через систему шаблонов. Поддерживается наглядное представление активности в виде графиков.

Источник: http://www.opennet.ru/opennews/art.shtml?num=40141