-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
e7c4407
commit 20c879c
Showing
18 changed files
with
1,056 additions
and
731 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,279 @@ | ||
<!doctype html> | ||
<html> | ||
<head> | ||
<meta charset="utf-8"> | ||
|
||
<meta property="og:image" content="https://blog.zenodo.org/static/img/logos/zenodo-gradient-1000.png" /> | ||
|
||
|
||
<meta property="og:title" content="Zenodo launches integration with Software Heritage" /> | ||
|
||
|
||
<meta property="og:type" content="article" /> | ||
|
||
|
||
|
||
<meta name="twitter:card" content="summary_large_image" /> | ||
<meta name="twitter:site" content="@zenodo_org" /> | ||
<meta name="twitter:creator" content="@zenodo_org" /> | ||
|
||
<meta property="og:title" content="Zenodo launches integration with Software Heritage" /> | ||
|
||
|
||
|
||
<meta name="twitter:description" content="Zenodo is a free and open digital archive built by CERN and OpenAIRE, enabling researchers to share and preserve research output in any size, format and from all fields of research." /> | ||
|
||
<meta name="twitter:image" content="https://blog.zenodo.org/static/img/logos/zenodo-gradient-1000.png" /> | ||
<link rel="stylesheet" href="../../../../static/zenodo.css"> | ||
<link rel="stylesheet" href="../../../../static/style.css"> | ||
<link rel="stylesheet" href="../../../../static/font-awesome/css/font-awesome.min.css"> | ||
<link href="https://fonts.googleapis.com/css?family=Roboto:300,400,500,700,100,italic" rel="stylesheet"> | ||
<title>Zenodo launches integration with Software Heritage | Zenodo Blog | Zenodo</title> | ||
<script src="https://code.jquery.com/jquery-3.1.1.min.js"></script> | ||
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script> | ||
</head> | ||
<body> | ||
<header> | ||
<nav class="navbar navbar-default navbar-static-top"> | ||
<div class="container"> | ||
<div class="navbar-header"> | ||
<a href="https://zenodo.org"><img class="navbar-brand" src="/static/img/zenodo.svg" alt="Zenodo" /></a> | ||
<span class="logo-divider"></span> | ||
<span class="header-title" aria-label="header-title">Blog</span> | ||
</div> | ||
<div id="navbar" class="navbar-collapse collapse"> | ||
<ul class="nav navbar-nav navbar-right toplist"> | ||
|
||
<li><a href="https://about.zenodo.org">About</a></li> | ||
|
||
<li><a href="https://blog.zenodo.org">Blog</a></li> | ||
|
||
<li><a href="https://help.zenodo.org">Help</a></li> | ||
|
||
<li><a href="https://about.zenodo.org/projects">Projects</a></li> | ||
|
||
<li><a href="https://developers.zenodo.org">Developers</a></li> | ||
|
||
</ul> | ||
</div> | ||
</div> | ||
</nav> | ||
</header> | ||
<div class="communities"> | ||
|
||
|
||
<div class="container body-container"> | ||
<div class="row"> | ||
<div class="col-md-12"> | ||
|
||
|
||
|
||
<h1>Zenodo launches integration with Software Heritage</h1> | ||
|
||
<p class="meta"> | ||
by | ||
|
||
|
||
|
||
<img class="img-rounded" width=18 height=18 src="../../../../static/img/authors/lnielsen.jpg" /> | ||
|
||
|
||
|
||
Lars Holm Nielsen, | ||
|
||
on October 21, 2024 | ||
</p> | ||
<hr /> | ||
<div class="body"><p>Zenodo and <a href="https://www.softwareheritage.org/">Software Heritage</a>, through the EU-funded <a href="https://faircore4eosc.eu/">FAIRCORE4EOSC</a> project, have launched a new integration. In order to fulfill the promise of an interconnected and interoperable academic ecosystem, research software infrastructures should support the archiving of source code within the universal source code archive, contributing to the global software commons. | ||
This integration ensures that software source code deposited in Zenodo is automatically archived in Software Heritage. It implements the recommendations from the <a href="https://data.europa.eu/doi/10.2777/28598">EOSC Scholarly Infrastructures for Research Software</a> report:</p> | ||
<p><em>“In the 21st century, many research activities use computing systems to monitor their experiments, to visualise or analyse their results, or to check hypotheses through simulation.It has therefore become essential to archive, preserve and share research software.”</em></p> | ||
<p><em>“Over the past decade, awareness has been raised about the importance of software in the scholarly world. Several infrastructures have started to be built, or adapted, to address some of the following key challenges that need to be tackled to put software on equal footing with other research outputs in the scholarly world:</em></p> | ||
<ul> | ||
<li><em>Archiving software to ensure research software artifacts are not lost.</em></li> | ||
<li><em>Referencing software to ensure research artifacts can be precisely identified.</em></li> | ||
<li><em>Describing software to easily discover and identify research software artifacts.</em></li> | ||
<li><em>Crediting all authors to ensure their contributions are recognized.”</em></li> | ||
</ul> | ||
<h4>Zenodo: Research software + Versioning + GitHub</h4> | ||
<p>Zenodo has long had a strong focus on supporting research software. Since 2014 Zenodo has an integration with GitHub that enables researchers to easily archive research software in GitHub into Zenodo. Upon deposit of the research software in Zenodo (either from GitHub or directly in Zenodo), the researcher would obtain a DOI (Digital Object Identifier) which would facilitate the persistent identification of software and support researchers in adopting the <a href="https://doi.org/10.7717/peerj-cs.86">Software Citation Principles</a>, in particular in citing research software papers. The Zenodo versioning feature further enabled both the citation of individual snapshots of software vs. citing a software project as a whole. Today, Zenodo is the <a href="https://doi.org/10.5438/1nmy-9902">largest minter of software DOIs</a> and is able to <a href="https://blog.zenodo.org/2019/01/10/2019-01-10-asclepias/">track citations to software independently</a> of which persistent identifier was used in the citation.</p> | ||
<h4>Integration with Software Heritage</h4> | ||
<p>The new integration between Zenodo and Software Heritage enhances the capabilities to archive, reference, describe, and cite research software artifacts. Most of the process occurs behind the scenes, ensuring seamless and transparent software archiving for researchers, regardless of their workflow.</p> | ||
<div align="center" style="padding:20px"><img src="/2024/10/21/2024-10-21-swh/zenodo.png" width="100%" /><br/><i>Figure 1 - Zenodo record for a software deposit showing that it has been archived in Software Heritage in the bottom right corner.</i></div><p>When a researcher deposits software in Zenodo, the software will be automatically sent to Software Heritage (if the files are publicly accessible). Zenodo then obtains the associated Software Hash Identifier (<a href="https://www.swhid.org/">SWHID</a>), links it with the DOI, and displays it on the record landing page. The DOI integrates with the scholarly publishing ecosystem, while the SWHID provides direct access to the archived source code, including the full version history. This bi-directional linking ensures interoperability between two key identifiers for research software.</p> | ||
<div align="center" style="padding:20px"><img src="/2024/10/21/2024-10-21-swh/swh.png" width="100%" /><br/><i>Figure 2 - The corresponding Zenodo software record in Software Heritage.</i></div><p>In addition to archiving software in Software Heritage, Zenodo has enhanced the upload form with software-specific fields, such as programming languages and repository URLs on top of our already existing fields such as the SPDX license field. We’ve also added support for CodeMeta and Citation File Format export formats.</p> | ||
<h4>What’s next?</h4> | ||
<p>While the core integration with Software Heritage has launched, further backend improvements are planned for the coming six months, primarily aimed at improving interoperability. Additionally, this integration will be fully incorporated into InvenioRDM, making it easier for other repositories, such as institutional ones, to <a href="https://docs.softwareheritage.org/devel/swh-deposit/index.html">integrate with Software Heritage</a>.</p> | ||
<p>This work was funded by the European Commission through grant agreement no. <a href="https://doi.org/10.3030/101057264">101057264</a> (FAIRCORE4EOSC).</p> | ||
</div> | ||
|
||
|
||
</div> | ||
</div> | ||
</div> | ||
|
||
</div> | ||
<footer class="footer"> | ||
<div class="menu-wrapper"> | ||
<div class="container"> | ||
<div class="row footer-menu"> | ||
<div class="col-xs-12 col-md-8"> | ||
<div class="row"> | ||
<div class="col-xs-2 col-md-2"> | ||
<h5>About</h5> | ||
<ul class="list-unstyled"> | ||
<li><a href="http://about.zenodo.org">About</a></li> | ||
<li><a href="http://about.zenodo.org/policies/">Policies</a></li> | ||
<li><a href="http://about.zenodo.org/infrastructure/">Infrastructure</a></li> | ||
<li><a href="http://about.zenodo.org/principles/">Principles</a></li> | ||
<li><a href="http://about.zenodo.org/roadmap/">Roadmap</a></li> | ||
<li><a href="http://about.zenodo.org/projects/">Projects</a></li> | ||
<li><a href="http://about.zenodo.org/contact/">Contact</a></li> | ||
</ul> | ||
</div> | ||
<div class="col-xs-2 col-md-2"> | ||
<h5>Blog</h5> | ||
<ul class="list-unstyled"> | ||
<li><a href="https://blog.zenodo.org">Blog</a></li> | ||
</ul> | ||
</div> | ||
<div class="col-xs-2 col-md-2"> | ||
<h5>Help</h5> | ||
<ul class="list-unstyled"> | ||
<li><a href="https://help.zenodo.org">Overview</a></li> | ||
<li><a href="https://help.zenodo.org/faq/">FAQ</a></li> | ||
<li><a href="https://help.zenodo.org/guides/">Guides</a></li> | ||
<li><a href="https://zenodo.org/support">Support</a></li> | ||
</ul> | ||
</div> | ||
<div class="col-xs-2 col-md-2"> | ||
<h5>Developers</h5> | ||
<ul class="list-unstyled"> | ||
<li><a href="https://developers.zenodo.org">REST API</a></li> | ||
<li><a href="https://developers.zenodo.org#oai-pmh">OAI-PMH</a></li> | ||
</ul> | ||
</div> | ||
<div class="col-xs-2 col-md-2"> | ||
<h5>Contribute</h5> | ||
<ul class="list-unstyled"> | ||
<li><a href="https://github.com/zenodo/zenodo-rdm"><i class="fa fa-external-link"></i> GitHub</a></li> | ||
<li><a href="https://zenodo.org/donate"><i class="fa fa-external-link"></i> Donate</a></li> | ||
</ul> | ||
</div> | ||
</div> | ||
</div> | ||
<div class="col-xs-12 col-md-4"> | ||
<div class="pull-right-md text-center-sm text-center-xs"> | ||
<h5>Funded by</h5> | ||
<ul class="list-inline"> | ||
<li><a href="https://home.cern"><img src="/static/img/cern.png" width="60" height="60" /></a></li> | ||
<li><a href="https://www.openaire.eu"><img src="/static/img/openaire.png" width="80"/></a></li> | ||
<li><a href="https://ec.europa.eu/programmes/horizon2020/"><img src="/static/img/eu.png" width="88" height="60" /></a></li> | ||
</ul> | ||
</div> | ||
</div> | ||
</div> | ||
</div> | ||
</div> | ||
<div class="container"> | ||
<div class="row"> | ||
<div class="col-xs-12 col-sm-6 col-sm-push-6"> | ||
<div class="pull-right-sm text-center-xs"> | ||
<ul class="list-inline"> | ||
<li><a href="https://stats.uptimerobot.com/vlYOVuWgM">Status</a></li> | ||
<li><a href="https://about.zenodo.org/privacy-policy">Privacy policy</a></li> | ||
<li><a href="https://about.zenodo.org/cookie-policy">Cookie policy</a></li> | ||
<li><a href="https://about.zenodo.org/terms">Terms of Use</a></li> | ||
<li><a href="https://about.zenodo.org/contact">Support</a></li> | ||
</ul> | ||
</div> | ||
</div> | ||
<div class="col-xs-12 col-sm-6 col-sm-pull-6 text-center-xs"> | ||
<p><a title="Except where otherwise noted, content on this site is licensed under a Creative Commons Attribution 4.0 International License." rel="license" href="http://creativecommons.org/licenses/by/4.0/"><img alt="Creative Commons Licence" height="20" src="https://i.creativecommons.org/l/by/4.0/88x31.png" /></a> Powered by <a href="https://home.cern/science/computing/data-centre">CERN Data Centre</a> & <a href="http://inveniosoftware.org">Invenio</a>.</p> | ||
</div> | ||
</div> | ||
</div> | ||
</footer> | ||
|
||
|
||
<div class="cookie-banner hidden"> | ||
<i class="close icon"></i> | ||
<div> | ||
<p >This site uses cookies. Find out more on <a href="https://about.zenodo.org/cookie-policy">how we use cookies</a></p> | ||
</div> | ||
<div class="buttons"> | ||
<button class="small primary" id="cookies-all">Accept all cookies</button> | ||
<button class="small" id="cookies-essential">Accept only essential cookies</button> | ||
</div> | ||
</div> | ||
|
||
<script> | ||
var _paq = window._paq = window._paq || []; | ||
_paq.push(['requireCookieConsent']); | ||
|
||
(function() { | ||
var u="https://webanalytics.web.cern.ch/"; | ||
_paq.push(['setTrackerUrl', u+'matomo.php']); | ||
_paq.push(['setSiteId', '362']); | ||
var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0]; | ||
g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s); | ||
})(); | ||
|
||
var cookieConsent = document.cookie | ||
.split("; ") | ||
.find((row) => row.startsWith("cookie_consent=")) | ||
?.split("=")[1]; | ||
|
||
if (cookieConsent) { | ||
if (cookieConsent === "all") { | ||
matomo(); | ||
} | ||
} else { | ||
document.querySelector(".cookie-banner").classList.remove("hidden") | ||
_paq.push(['forgetConsentGiven']); | ||
} | ||
|
||
$('.cookie-banner .close') | ||
.on('click', function () { | ||
$(this) | ||
.closest('.cookie-banner') | ||
.fadeOut('fast'); | ||
setCookie("cookie_consent","essential"); | ||
}); | ||
|
||
$('#cookies-essential') | ||
.on('click', function () { | ||
$(this) | ||
.closest('.cookie-banner') | ||
.fadeOut('fast'); | ||
setCookie("cookie_consent","essential"); | ||
}); | ||
|
||
$('#cookies-all') | ||
.on('click', function () { | ||
$(this) | ||
.closest('.cookie-banner') | ||
.fadeOut('fast'); | ||
setCookie("cookie_consent","all"); | ||
_paq.push(['rememberCookieConsentGiven']); | ||
matomo(); | ||
}); | ||
|
||
function matomo() { | ||
/* tracker methods like "setCustomDimension" should be called before "trackPageView" */ | ||
_paq.push(['trackPageView']); | ||
_paq.push(['enableLinkTracking']); | ||
} | ||
|
||
function setCookie(cname, cvalue) { | ||
var d = new Date(); | ||
d.setTime(d.getTime() + (365 * 24 * 60 * 60 * 1000)); // one year | ||
var expires = "expires=" + d.toUTCString(); | ||
var cookie = cname + "=" + cvalue + ";" + expires + ";" | ||
cookie += "Domain=zenodo.org;Path=/;SameSite=None; Secure"; // so that it works across subdomains | ||
document.cookie = cookie; | ||
} | ||
</script> | ||
|
||
|
||
|
||
</body> | ||
</html> |
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.