CINXE.COM
The CodeMeta Project
<!doctype html><html lang=en> <head> <meta charset=utf-8> <meta http-equiv=x-ua-compatible content="IE=edge,chrome=1"> <meta content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=0,shrink-to-fit=no" name=viewport> <meta name=generator content="Hugo 0.92.2"> <meta name=author content="codemeta"> <title>The CodeMeta Project</title> <link rel=apple-touch-icon sizes=76x76 href=./img/favicon.png> <link rel=icon type=image/png href=./img/favicon.png> <link rel=stylesheet type=text/css href="https://fonts.googleapis.com/css?family=Roboto:300,400,500,700|Roboto+Slab:400,700|Material+Icons"> <link rel=stylesheet href=https://maxcdn.bootstrapcdn.com/font-awesome/latest/css/font-awesome.min.css> <link href="./css/material-kit.css?v=2.0.4" rel=stylesheet> <link href=./css/demo.css rel=stylesheet> <link rel=stylesheet href=https://cdn.rawgit.com/gaborcsardi/r-font/master/rlogo.css> <link rel=stylesheet href=https://cdn.rawgit.com/wesbos/Font-Awesome-Docker-Icon/master/fontcustom/fontcustom.css> <link rel=stylesheet href=https://cdnjs.cloudflare.com/ajax/libs/academicons/1.8.0/css/academicons.min.css> <link rel=stylesheet href=./css/glyphicon.css> <link rel=feed href=https://codemeta.github.io/index.xml type=application/rss+xml title="The CodeMeta Project"> <link rel=canonical href=https://codemeta.github.io/> </head> <body class="profile-page sidebar-collapse"> <nav class="navbar navbar-transparent navbar-color-on-scroll fixed-top navbar-expand-lg" color-on-scroll=100 id=sectionsNav> <div class=container> <div class=navbar-translate> <a class=navbar-brand href=/> The CodeMeta Project </a> <button class=navbar-toggler type=button data-toggle=collapse aria-expanded=false aria-label="Toggle navigation"> <span class=sr-only>Toggle navigation</span> <span class=navbar-toggler-icon></span> <span class=navbar-toggler-icon></span> <span class=navbar-toggler-icon></span> </button> </div> <div class="collapse navbar-collapse"> <ul class="navbar-nav ml-auto"> <li class=nav-item> <a class=nav-link href=./index.html data-target=/index.html title=Home> Home</a> </li> <li class=nav-item> <a class=nav-link href=./crosswalk/ data-target=/crosswalk/ title=Crosswalk> Crosswalk</a> </li> <li class=nav-item> <a class=nav-link href=./create/ data-target=/create/ title=Create> Create</a> </li> <li class=nav-item> <a class=nav-link href=./terms/ data-target=/terms/ title=Terms> Terms</a> </li> <li class=nav-item> <a class=nav-link href=./user-guide data-target=/user-guide title="User Guide"> User Guide</a> </li> <li class=nav-item> <a class=nav-link href=./developer-guide data-target=/developer-guide title="Developer Guide"> Developer Guide</a> </li> <li class=nav-item> <a class=nav-link href=./jsonld data-target=/jsonld title=JSON-LD> JSON-LD</a> </li> <li class=nav-item> <a class=nav-link href=./tools data-target=/tools title=Tools> Tools</a> </li> </ul> </div> </div> </nav> <div class="page-header header-filter clear-filter purple-filter" data-parallax=true style=background-image:url(https://codemeta.github.io/img/pyramids.jpg)> <div class=container> <div class=row> <div class="col-md-8 ml-auto mr-auto"> <div class=brand> <h1>The CodeMeta Project</h1> <h3></h3> </div> </div> </div> </div> </div> <div class="main main-raised"> <div class="section section-basic"> <div class=container> <h1>The CodeMeta Project</h1> <div class=article-style itemprop=articleBody><h2 id=motivation>Motivation</h2> <p>Research relies heavily on scientific software, and a large and growing fraction of researchers are engaged in developing software as part of their own research (<a href=https://doi.org/10.1109/SECSE.2009.5069155 title="How do scientists develop and use scientific software?">Hannay et al 2009</a>). Despite this, <em>infrastructure to support the preservation, discovery, reuse, and attribution of software</em> lags substantially behind that of other research products such as journal articles and research data. This lag is driven not so much by a lack of technology as it is by a lack of unity: existing mechanisms to archive, document, index, share, discover, and cite software contributions are heterogeneous among both disciplines and archives and rarely meet best practices (<a href=https://doi.org/10.1002/asi.23538 title="Software in the scientific literature: Problems with seeing, finding, and using software mentioned in the biology literature">Howison 2015</a>). Fortunately, a rapidly growing movement to improve preservation, discovery, reuse and attribution of academic software is now underway: a recent <a href=http://softwarediscoveryindex.org>NIH report</a>, conferences and working groups of <a href=https://www.force11.org/>FORCE11</a>, <a href=http://wssspe.researchcomputing.org.uk/>WSSSPE</a> & <a href=http://www.software.ac.uk/>Software Sustainability Institute</a>, and the rising adoption of repositories like <a href=https://github.com>GitHub</a>, <a href=https://zenodo.org>Zenodo</a>, <a href=https://figshare.com>figshare</a> & <a href=https://www.dataone.org>DataONE</a> by academic software developers. Now is the time to improve how these resources can talk to each other.</p> <h2 id=what-can-software-metadata-do-for-you>What can software metadata do for you?</h2> <p>What metadata you want from software is determined by your use case. If your primary concerns are credit for academic software, then you’re most interested in <em>citation</em> metadata. If you’re trying to replicate some analysis, you worry more about versions and dependencies than about authors and titles. And if you seek to discover software you don’t already know about that is suitable for a particular task, well then you are interested more in keywords and descriptions. Frequently, developers of scientific software, repositories that host that software, and users themselves are interested in more than one of these objectives, and others besides.</p> <p>Different software repositories, software languages and scientific domains denote this information in different ways, which makes it difficult or impossible for tools to work across these different sources without losing valuable information along the way. For instance, a fantastic collaboration between GitHub and figshare provides researchers a way to import software on the former into the persistent archive of the latter, getting a permanent identifier, a DOI in the process. To assign a DOI, figshare must then pass metadata about the object to DataCite, the central DOI provider for all repositories. While this makes DataCite a powerful aggregator, the lack of a crosswalk table means that much valuable metadata is currently lost along the way, such as the original software license, platform, and so forth. Any tool or approach working across software repositories faces similar challenges without a crosswalk table to translate between these.</p> <p>For more detail, <a href=https://github.com/codemeta/codemeta>visit the project on GitHub</a> or check back here soon.</p> <h4 id=special-thanks-to-our-supporters>Special thanks to our supporters</h4> <img width=50px src=./img/nsf.jpg> <img width=50px src=./img/datacite.png> <img width=50px src=./img/github.png> <img width=50px src=./img/figshare.png> <img width=50px src=./img/zenodo.jpg> </div> <div class=row> <div class=col-11> <div class=article> <h2><a href=./crosswalk/wikidata/> <img src=./img/wikidata.png height=50px> Crosswalk for WikiData Properties</a></h2> </div> <div class=article> <h2><a href=./crosswalk/datacite/> <img src=./img/datacite.png height=50px> Crosswalk for DataCite metadata</a></h2> </div> <div class=article> <h2><a href=./crosswalk/debian/> <img src=./img/debian.png height=50px> Crosswalk for Debian packages</a></h2> </div> <div class=article> <h2><a href=./crosswalk/doap/> <img src=./img/codemeta.png height=50px> Crosswalk for DOAP Ontology</a></h2> </div> <div class=article> <h2><a href=./crosswalk/github/> <img src=./img/github.png height=50px> Crosswalk for GitHub API</a></h2> </div> <div class=article> <h2><a href=./crosswalk/java/> <img src=./img/java.png height=50px> Crosswalk for Java's Maven metadata</a></h2> </div> <div class=article> <h2><a href=./crosswalk/node/> <img src=./img/npm.png height=50px> Crosswalk for NodeJS package.json</a></h2> </div> <div class=article> <h2><a href=./crosswalk/python/> <img src=./img/python.png height=50px> Crosswalk for Python distutils</a></h2> </div> <div class=article> <h2><a href=./crosswalk/r/> <img src=./img/R.png height=50px> Crosswalk for R Packages</a></h2> </div> <div class=article> <h2><a href=./crosswalk/ruby/> <img src=./img/ruby.png height=50px> Crosswalk for Ruby gems</a></h2> </div> </div> <nav> <ul class=pager> <li><a href=./page/2/>Next »</a></li> </ul> </nav> <br> </div> </div> </div> </div> <footer class=footer> <div class=container> <nav class=pull-left> <ul> </ul> </nav> <div class="copyright pull-right"> <img src=./img/cc-by.svg> </div> </div> </footer> </body> <script src=./js/core/jquery.min.js type=text/javascript></script> <script src=./js/core/popper.min.js type=text/javascript></script> <script src=./js/core/bootstrap-material-design.min.js type=text/javascript></script> <script src=./js/plugins/moment.min.js></script> <script src=./js/plugins/bootstrap-datetimepicker.js type=text/javascript></script> <script src=./js/plugins/nouislider.min.js type=text/javascript></script> <script src=./js/plugins/jquery.sharrre.js type=text/javascript></script> <script src="./js/material-kit.min.js?v=2.0.4" type=text/javascript></script> <script>$(document).ready(function(){$('body').bootstrapMaterialDesign()})</script> </html>