Программное наследие: библиотека программного обеспечения Александрии

Программное наследие: библиотека программного обеспечения Александрии

Проект Software Heritage направлен на создание Александрийской библиотеки программного обеспечения; универсальный и постоянный архив исходного кода на службе общества, науки и промышленности.

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

Программное наследие также является прекрасным инструментом для изучения программного обеспечения, находящегося в разработке сегодня, что должно позволить программистам создавать более качественное программное обеспечение.

«Чтобы сохранить это наследие и ответить на технологические и научные вызовы завтрашнего дня, важно построить сегодня универсальный и постоянный архив программного обеспечения». Это амбициозная цель Software Heritage. Этот проект, запущенный Национальным институтом исследований в области цифровых наук и технологий (Inria) в 2016 году и осуществляемый в партнерстве с ЮНЕСКО, направлен на сбор, сохранение и предоставление доступа ко всему общедоступному программному обеспечению в виде исходного кода. Исходный код — это текст, в котором подробно описаны инструкции для компьютерной программы на удобном для чтения и использования языке программирования.

Концепция программного наследия

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

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

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

Само по себе выражение человеческого творчества и интеллекта, программное обеспечение является частью нашего наследия, которое следует защищать и передавать будущим поколениям. Поэтому ЮНЕСКО включает их в Хартия о сохранении цифрового наследия который он принял в 2003 году. В 2017 году агентство ООН подписало соглашение с Inria, касающееся сохранения исходного кода программного обеспечения и доступа к нему, что вывело проект Software Heritage на новый уровень.

Путешествие в прошлое (и будущее) программирования

Любой может использовать Software Heritage для поиска, изучения, улучшения и повторного использования нужного кода. “Наш архив — это абсолютно уникальная обсерватория разработки программного обеспечения на планете.», — говорит Роберто Ди Космо, директор Software Heritage, в интервью журналу Usbek & Rica. Отслеживание тысяч языков программирования, а также любых ресурсов, связанных с разработкой программ (документация, статьи, комментарии, оставленные программистами и т. д.), представляет огромный интерес для исследователей, специализирующихся в области истории информатики. Архив может служить основой для фундаментальной работы, например, той, которая была проведена по истории Unix или исходному коду навигационного компьютера Apollo.

Помимо того, что это «машина времени», архив программного обеспечения из прошлого, устройство позволяет исследовать программное обеспечение, находящееся в разработке в настоящее время. Разработчики могут положиться на него, чтобы создавать лучшие программы.

Ключевой элемент открытой науки

Software Heritage хочет стать эталоном программного обеспечения, используемого в научных исследованиях, тем самым дополняя подходы открытого доступа и открытых данных которые стремятся сделать научные публикации и данные свободно доступными для всех.

Воспроизводимость результатов эксперимента является императивом научного метода. Это позволяет научно обосновать исследование. Чтобы гарантировать эту воспроизводимость, необходимо иметь доступ к статьям, в которых представлены результаты, данные исследований, а также к программному обеспечению, используемому во время эксперимента. Ведь они сейчас участвуют на всех этапах исследований, во всех научных дисциплинах. Благодаря Software Heritage исследователи могут точно знать версию программного обеспечения, на котором основана исследовательская работа.

Архивируйте, делайте доступными и сохраняйте

Сложная задача, архивирование всех исходных кодов — Software Heritage не выполняет никакой выборки — опирается на различные механизмы. Программисты и различные лица, владеющие так называемыми «артефактами программного обеспечения» (любой элемент, созданный в процессе разработки), могут сами депонировать исходный код и ссылаться на него, включая несколько файлов (описание программного обеспечения, имена авторов, лицензия проекта, файл метаданных для помощи в исходном коде). индексация кода). Интернет-пользователи могут принять участие в проекте, отправив запрос на резервное копирование любого «современного» исходного кода, который еще не включен в архив или не обновлен. Это дополняет автоматическое исследование (сканирование), выполняемое на основных платформах размещения кода, для постоянного обнаружения «источников программного обеспечения» (местоположений, определяемых URL-адресами, из которых был получен согласованный набор исходных кодов). Они также могут внести свой вклад в восстановление и организацию исторического исходного кода, следуя процессу приобретения наследия программного обеспечения SWHAP, разработанному в сотрудничестве с Пизанским университетом.

Организация и индексация коллекций, а также предоставление инструментов поиска в архиве должны позволить пользователям ориентироваться во всем этом программном обеспечении. Каждому программному артефакту присваивается уникальный идентификатор, и возможен запуск поиска на основе метаданных программного обеспечения, собранных и извлеченных проектом. Пользователи могут писать программы для просмотра архива черезAPI Программное наследие.

Наконец, чтобы обеспечить непрерывность архивов, были приняты некоторые меры предосторожности. На сегодняшний день существует три копии архива: две в дата-центрах Inria и одна в облаке Microsoft в другой стране. Участники проекта также работают над сетью международных «зеркал», полных копий архива, которым управляют другие организации, полностью независимые от «Инрии». Таким образом, ценное программное обеспечение Software Heritage никогда не должно постичь трагическую судьбу документов Александрийской библиотеки.

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

Оцените статью
Добавить комментарий