Проект Software Heritage нацелен на создание полного архива открытых исходных текстов

Французский институт исследований в информатике и автоматике INRIA, при поддержке правительства Франции, ввёл в строй проект Software Heritage, задачей которого является сбор, сохранение и предоставление доступа к исходным текстам, собранным в одном месте из различных доступных источников. На базе Software Heritage создан крупнейший архив кода, ставящий перед собой задачу охватить все существующие открытые проекты и защитить доступный открытый код от возможной потери после закрытия сайтов проектов и репозиториев, а также дающий возможность организовать научные исследования над крупнейшей коллекцией кода.

В настоящий момент архив включает более 2.6 миллиарда файлов, охватывающих 23 миллиона открытых проектов и почти 600 млн коммитов. Архив включает код, размещённый в GitHub, в репозиториях Debian, коллекциях GNU и в других публичных архивах. Налажен процесс автоматической синхронизации изменений с GitHub, который скоро будет реализован и для других источников. Для запроса файлов пока можно использовать только контрольные суммы SHA-1.

Из планов на будущее отмечается расширение базы источников, реализация удобной навигации по коду и системы полнотекстового поиска, создание средств для отслеживания происхождения кода и цепочек заимствования, расширение метаданных и проведение статистических исследований, подготовка интерфейса для загрузки кода и истории изменений в форматах современных систем контроля версий.

Дополнительно можно отметить совместную инициативу GitHub и Google, в рамках которого подготовлено новое хранилище, расширяющее возможности GitHub Archive. Хранилище включает данные об активности в более чем 2.8 млн репозиториев на GitHub, 145 млн коммитах и 2 миллиардах файлов. Предоставлен интерфейс для поиска данных с использованием регулярных выражений, а также для формирования SQL-подобных запросов (например, можно определить наиболее часто используемые в коде модули, наиболее активных разработчиков, использование Emoji в коммитах и т.п.).