GitHub Archive Program. Код, тысяча лет и вечная мерзлота
Не все любят свободное программное обеспечение. На форумах ведь постоянно спорят о плюсах и минусах СПО и проприетарного софта. А пока споры спорятся, с 02.02.2020 GitHub собирается хранить коды СПО в арктической мерзлоте Шпицбергена. Зачем и почему? Обо всём по порядку.
GitHub Archieve Program
СПО принадлежит никому и всем: это наше с вами общее наследие. Нам даже тяжело оценить его влияние на современный мир.
Поэтому GitHub и ещё несколько организаций решили передать людям будущего коды СПО на всякий пожарный случай.
Хранить коды будут в куче резервных копий на разных носителях. Часть из них решили разместить в бывшей угольной шахте на норвежском острове Шпицберген. Глубина хранилища — 250 метров, а хранить данные там будут 1000 лет.
LOCKSS
Перфокарты, кассеты, дискеты, CD, DVD, HDD, SSD — у всего этого ограниченный срок службы. Решить эту проблему должен проект LOCKSS. Несколько организаций уже 20 лет дублируют резервные копии в разных форматах и распределяют между собой. В мае 2019 года был релиз LOCKSS 2.0-alpha — прототип ПО для распределённого сохранения данных длительное время среди многих учасников и хранилищ.
Разработчики проекта изменили принцип “Что попало в интернет оттуда уже никуда не денется” и считают, что аппаратные средства долговечнее обычных носителей. Создатели LOCKSS предполагают вариант в будущем, где хард остался, а вот софт к нему не завезли. Маловероятно? Не-а.
Человечество не раз теряло технологии. Например, римский бетон, противомалярийный препарат DFDT, чертежи ракеты “Сатурн-5” и так далее. Поэтому, сейчас мы сидим довольные и думаем, что скоро все эти коды устареют, а вдруг через 500 лет человечество вымрет из-за потерянной строчки кода? Нет, авторы проекта не параноики.
GitHub Archive
GitHub Archive предусматривает три уровня резервных копий:
- Горячий: почти в реальном времени
- Тёплый: обновляется в промежутках от месяца до года
- Холодный: обновляется каждые 5+ лет
Любые действия юзера GitHub будут реплицироваться в дата-центры по всему миру. Храниться будут бэкапы Git, issue, пул-реквесты и данные всех пользователей на GitHub. Через GitHub API эту информацию можно получить в реальном времени.
Кроме того, организован рекурсивное индексирование краулером GHTorrent, который будет выкладывать архивы на ежедневной или ежемесячной основе. Через GH Archive снимки из архива можно получать запросами BigQuery. Другие копии кода размещаются в хорошо известной «Машине времени» для Интернет-архива, которая хранит копии в нескольких местах. Фонд наследия программного обеспечения будет регулярно сканировать GitHub и добавлять свои публичные репозитории в свой архив, для которого есть публичный API.
Арктическое хранилище GitHub
2 февраля 2020 года GitHub сделает копию всех активных публичных репозиториев и поместит их в Арктическое хранилище GitHub.
Данные будут храниться на 3500-футовых плёночных катушках, предоставленных норвежской компанией Piql, которая специализируется на длительном хранении данных. Согласно измерениям ISO, эта плёнка с галогенидами серебра в полиэфире имеет срок жизни 500 лет. Тесты показали, что плёнка Piql сохраняет информацию как минимум вдвое дольше.
Ещё GitHub Archive сотрудничает с исследователи проекта Microsoft Silica, чтобы записать все публичные репозитории на кварцевые стеклянные пластины с помощью фемтосекундного лазера. Этот носитель обеспечит сохранность данных более 10 000 лет.
Арктическое хранилище кода GitHub создаётся на базе Arctic World Archive (AWA) на глубине 250 метров в вечной мерзлоте. Архив находится в бывшей угольной шахте на архипелаге Шпицберген, что не очень далеко от Северного полюса. Глобальное потепление затронет всего несколько метров вечной мерзлоты и не угрожает шахте в ближайшее время (несколько тысяч лет).
Шпицберген регулируется международным договором как демилитаризованная зона. Это одно из самых отдалённых и геополитически стабильных человеческих поселений на Земле, считает GitHub. Там же неподалёку располагается знаменитое Всемирное семенохранилище, главная надежда человечества на случай апокалипсиса.
AWA — совместная инициатива между норвежской государственной горнодобывающей компанией Norske Spitsbergen Kulkompani (SNSK) и провайдером цифрового сохранения Piql AS. Там уже сохраняются исторические и культурные данные из Италии, Бразилии, Норвегии, Ватикана и других стран.
Катушки с кодом GitHub будут храниться в контейнере со стальными стенками внутри герметичной камеры. В снимок 02.02.2020 года попадут все активные репозитории GitHub и значительная часть неактивных (судя по звёздам, зависимостям и др.), все бинарные файлы до 100 КБ. Каждый репозиторий в отдельном файле tar. Всё должно поместиться на 200 катушек по 120 ГБ.
Вместе с архивом положат человекочитаемый каталог и технические руководства по декодированию QR, форматам файлам, кодировкам символов и другие важным метаданным, чтобы потомки преобразовать данные обратно в исходный код.
В архив также включат общее руководство Tech Tree на тот случай, если у будущих читателей не останется работающих компьютеров и им придётся восстанавливать технологии с нуля.
А что вы думаете про GitHub Archive? Паранойя или адекватное решение? Обсудим в комментариях. И на соцсети не забудьте подписаться.