wiki/data.archives.software-heritage.html
2022-07-29 15:41:17 +00:00

26 lines
12 KiB
HTML

<!DOCTYPE html><html><head><meta name="viewport" content="width=device-width"/><meta charSet="utf-8"/><title>Software Heritage</title><script src="https://polyfill.io/v3/polyfill.min.js?features=es6"></script><script id="MathJax-script" async="" src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"></script><script type="text/x-mathjax-config">
MathJax = {
tex: {
inlineMath: [ [&#x27;$&#x27;,&#x27;$&#x27;], [&#x27;\(&#x27;,&#x27;\)&#x27;] ],
displayMath: [ [&#x27;$$&#x27;,&#x27;$$&#x27;], [&#x27;[&#x27;,&#x27;]&#x27;] ]
},
options = {
processHtmlClass = &quot;math&quot;
}
}
</script><meta name="next-head-count" content="6"/><link rel="preload" href="/wiki/_next/static/css/52fc2ba29703df73922c.css" as="style"/><link rel="stylesheet" href="/wiki/_next/static/css/52fc2ba29703df73922c.css" data-n-g=""/><noscript data-n-css=""></noscript><link rel="preload" href="/wiki/_next/static/chunks/main-ae4733327bd95c4ac325.js" as="script"/><link rel="preload" href="/wiki/_next/static/chunks/webpack-50bee04d1dc61f8adf5b.js" as="script"/><link rel="preload" href="/wiki/_next/static/chunks/framework.9d524150d48315f49e80.js" as="script"/><link rel="preload" href="/wiki/_next/static/chunks/commons.0e1c3f9aa780c2dfe9f0.js" as="script"/><link rel="preload" href="/wiki/_next/static/chunks/pages/_app-8e3d0c58a60ec788aa69.js" as="script"/><link rel="preload" href="/wiki/_next/static/chunks/940643274e605e7596ecea1f2ff8d83317a3fb76.4841a16762f602a59f00.js" as="script"/><link rel="preload" href="/wiki/_next/static/chunks/pages/%5B%5B...slug%5D%5D-1aa198f87ede1cd0e1dc.js" as="script"/></head><body><div id="__next"><main><h1>Software Heritage</h1><section class="post-metadata"><span>Date: <!-- -->2021-07-25 21:01:45 +08:00</span><span>Date modified: <!-- -->2021-07-28 00:02:38 +08:00</span></section><nav class="toc"><ol class="toc-level toc-level-1"></ol></nav><ul><li><p>project link is at <a href="https://www.softwareheritage.org/">https://www.softwareheritage.org/</a></p></li><li><p>the infrastructure and tools they used is also open source;
primarily happening at <a href="https://forge.softwareheritage.org/">their software forge</a></p></li><li><p>an ambitious project archiving all of humanity&#x27;s publicly available source code
</p></li><li><p>primarily made for researchers to easily refer to software;
a centralized database for referring software similar to digital object identifiers (DOI) in research materials and ISBN for books
</p></li><li><p>the archive itself is more of a gigantic merkle tree with the ability to interact with the <a href="https://docs.softwareheritage.org/devel/swh-model/data-model.html">individual objects</a> such as commits, revisions, snapshots, and even the very source code files of an archived repo
</p></li><li><p>it is version control software-agnostic;
archived software from several sources (e.g., Git, Mercurial)
</p></li><li><p>each object is given an identifer referred to as <a href="https://docs.softwareheritage.org/devel/swh-model/persistent-identifiers.html">Software Heritage persistent identifiers</a> (SWHIDs)
</p></li><li><p>funded from donations including big companies and several not-for-profit foundations
</p></li><li><p>a big component for <a href="/wiki/2020-04-12-11-20-53">Reproducible research</a> for other projects such as <a href="/wiki/tools.nix">Nix package manager</a> and <a href="/wiki/2020-08-19-08-21-44">Guix package manager</a> used as a fallback when upstream vanished;
soon enough, it will develop tools to integrate them further such as archiving the code used to build the binary cache
</p></li><li><p>there is a <a href="https://archive.softwareheritage.org/">public interface for browsing the archive</a></p></li><li><p>they have dedicated resources into creating an infrastructure for creating a centralized reference for software such the following list
</p><ul><li><p><a href="/wiki/tools.swh-fuse">swh.fuse</a>, a tool that integrates the archive into a user-local filesystem integrating the archive for development workflow
</p></li><li><p><a href="roam:swh.search">roam:swh.search</a> adding the search functionality in the archive
</p></li><li><p><a href="roam:swh.lister">roam:swh.lister</a> lists from several forges (e.g., GitHub, GitLab)
</p></li></ul></li></ul><section><h2>Backlinks</h2><ul><li><a href="/wiki/data.software-archives">Software archives</a></li><li><a href="/wiki/literature.allanconSoftwareHeritageFilesystem2021">The Software Heritage Filesystem (SwhFS): Integrating Source Code Archival with Development</a></li></ul></section></main></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"metadata":{"date":"2021-07-25 21:01:45 +08:00","date_modified":"2021-07-28 00:02:38 +08:00","language":"en","source":""},"title":"Software Heritage","hast":{"type":"root","children":[{"type":"element","tagName":"nav","properties":{"className":"toc"},"children":[{"type":"element","tagName":"ol","properties":{"className":"toc-level toc-level-1"},"children":[]}]},{"type":"element","tagName":"ul","properties":{},"children":[{"type":"element","tagName":"li","properties":{},"children":[{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"project link is at "},{"type":"element","tagName":"a","properties":{"href":"https://www.softwareheritage.org/"},"children":[{"type":"text","value":"https://www.softwareheritage.org/"}]}]}]},{"type":"element","tagName":"li","properties":{},"children":[{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"the infrastructure and tools they used is also open source;\n primarily happening at "},{"type":"element","tagName":"a","properties":{"href":"https://forge.softwareheritage.org/"},"children":[{"type":"text","value":"their software forge"}]}]}]},{"type":"element","tagName":"li","properties":{},"children":[{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"an ambitious project archiving all of humanity's publicly available source code\n"}]}]},{"type":"element","tagName":"li","properties":{},"children":[{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"primarily made for researchers to easily refer to software;\n a centralized database for referring software similar to digital object identifiers (DOI) in research materials and ISBN for books\n"}]}]},{"type":"element","tagName":"li","properties":{},"children":[{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"the archive itself is more of a gigantic merkle tree with the ability to interact with the "},{"type":"element","tagName":"a","properties":{"href":"https://docs.softwareheritage.org/devel/swh-model/data-model.html"},"children":[{"type":"text","value":"individual objects"}]},{"type":"text","value":" such as commits, revisions, snapshots, and even the very source code files of an archived repo\n"}]}]},{"type":"element","tagName":"li","properties":{},"children":[{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"it is version control software-agnostic;\n archived software from several sources (e.g., Git, Mercurial)\n"}]}]},{"type":"element","tagName":"li","properties":{},"children":[{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"each object is given an identifer referred to as "},{"type":"element","tagName":"a","properties":{"href":"https://docs.softwareheritage.org/devel/swh-model/persistent-identifiers.html"},"children":[{"type":"text","value":"Software Heritage persistent identifiers"}]},{"type":"text","value":" (SWHIDs)\n"}]}]},{"type":"element","tagName":"li","properties":{},"children":[{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"funded from donations including big companies and several not-for-profit foundations\n"}]}]},{"type":"element","tagName":"li","properties":{},"children":[{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"a big component for "},{"type":"element","tagName":"a","properties":{"href":"/2020-04-12-11-20-53"},"children":[{"type":"text","value":"Reproducible research"}]},{"type":"text","value":" for other projects such as "},{"type":"element","tagName":"a","properties":{"href":"/tools.nix"},"children":[{"type":"text","value":"Nix package manager"}]},{"type":"text","value":" and "},{"type":"element","tagName":"a","properties":{"href":"/2020-08-19-08-21-44"},"children":[{"type":"text","value":"Guix package manager"}]},{"type":"text","value":" used as a fallback when upstream vanished;\n soon enough, it will develop tools to integrate them further such as archiving the code used to build the binary cache\n"}]}]},{"type":"element","tagName":"li","properties":{},"children":[{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"there is a "},{"type":"element","tagName":"a","properties":{"href":"https://archive.softwareheritage.org/"},"children":[{"type":"text","value":"public interface for browsing the archive"}]}]}]},{"type":"element","tagName":"li","properties":{},"children":[{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"they have dedicated resources into creating an infrastructure for creating a centralized reference for software such the following list\n"}]},{"type":"element","tagName":"ul","properties":{},"children":[{"type":"element","tagName":"li","properties":{},"children":[{"type":"element","tagName":"p","properties":{},"children":[{"type":"element","tagName":"a","properties":{"href":"/tools.swh-fuse"},"children":[{"type":"text","value":"swh.fuse"}]},{"type":"text","value":", a tool that integrates the archive into a user-local filesystem integrating the archive for development workflow\n"}]}]},{"type":"element","tagName":"li","properties":{},"children":[{"type":"element","tagName":"p","properties":{},"children":[{"type":"element","tagName":"a","properties":{"href":"roam:swh.search"},"children":[{"type":"text","value":"roam:swh.search"}]},{"type":"text","value":" adding the search functionality in the archive\n"}]}]},{"type":"element","tagName":"li","properties":{},"children":[{"type":"element","tagName":"p","properties":{},"children":[{"type":"element","tagName":"a","properties":{"href":"roam:swh.lister"},"children":[{"type":"text","value":"roam:swh.lister"}]},{"type":"text","value":" lists from several forges (e.g., GitHub, GitLab)\n"}]}]}]}]}]}]},"backlinks":[{"path":"/data.software-archives","title":"Software archives"},{"path":"/literature.allanconSoftwareHeritageFilesystem2021","title":"The Software Heritage Filesystem (SwhFS): Integrating Source Code Archival with Development"}]},"__N_SSG":true},"page":"/[[...slug]]","query":{"slug":["data.archives.software-heritage"]},"buildId":"Ie9t5zutrXP6Of75Cb5xF","assetPrefix":"/wiki","nextExport":false,"isFallback":false,"gsp":true}</script><script nomodule="" src="/wiki/_next/static/chunks/polyfills-99d808df29361cf7ffb1.js"></script><script src="/wiki/_next/static/chunks/main-ae4733327bd95c4ac325.js" async=""></script><script src="/wiki/_next/static/chunks/webpack-50bee04d1dc61f8adf5b.js" async=""></script><script src="/wiki/_next/static/chunks/framework.9d524150d48315f49e80.js" async=""></script><script src="/wiki/_next/static/chunks/commons.0e1c3f9aa780c2dfe9f0.js" async=""></script><script src="/wiki/_next/static/chunks/pages/_app-8e3d0c58a60ec788aa69.js" async=""></script><script src="/wiki/_next/static/chunks/940643274e605e7596ecea1f2ff8d83317a3fb76.4841a16762f602a59f00.js" async=""></script><script src="/wiki/_next/static/chunks/pages/%5B%5B...slug%5D%5D-1aa198f87ede1cd0e1dc.js" async=""></script><script src="/wiki/_next/static/Ie9t5zutrXP6Of75Cb5xF/_buildManifest.js" async=""></script><script src="/wiki/_next/static/Ie9t5zutrXP6Of75Cb5xF/_ssgManifest.js" async=""></script></body></html>