-
Notifications
You must be signed in to change notification settings - Fork 23
Massive update for modernization, layout improvements, and content #89
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from 54 commits
8dc6878
f3b27db
4f303d7
397152f
c99178c
cb4cea2
34825f6
f660161
1214f1f
d21d122
0d8f4a8
dd054c9
4d37dfb
a665c4f
3b4a9b2
fbd4b95
9435b67
06044a6
df0fd56
3600b0c
f255450
46be23c
11a694e
aa8e9d5
ee66491
5f9d438
bd7e4ed
a01d65c
257115d
37d24e2
557bde4
97f2fd9
5606a69
4416fd6
ce62072
ba9e681
b88e711
9e40000
9021bee
cebad4a
9da2f09
73cd767
08b9c2c
ce95633
655d035
48b9360
87ff7ca
02b0a36
73820b1
21083c7
020bc83
2ab77d4
296d046
8eb1edb
ee086cc
10c3c30
7553715
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,27 @@ | ||
| name: Update news | ||
|
|
||
| on: | ||
| schedule: | ||
| # Get the feed every day at 1:13 UTC | ||
| - cron: "13 1 * * *" | ||
| # allow manual update | ||
| workflow_dispatch: | ||
|
|
||
| jobs: | ||
| build: | ||
| runs-on: ubuntu-latest | ||
|
|
||
| steps: | ||
| - uses: actions/checkout@v4 | ||
| - name: Download File | ||
| run: | | ||
| curl https://www.softwareheritage.org/tag/codemeta/feed/ --output ./data/feeds/softwareheritage.xml | ||
| working-directory: ${{ github.workspace }} | ||
| - name: Commit and Push Changes | ||
| run: | | ||
| git config --global user.name "${{ github.actor }}" | ||
| git config --global user.email "${{ github.actor }}@users.noreply.github.com" | ||
| git add ./data/feeds/ | ||
| git commit -m 'Update news' | ||
| git push | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,23 +1,54 @@ | ||
| --- | ||
| title: "The CodeMeta Project" | ||
| layout: landing | ||
| --- | ||
|
|
||
| ## Motivation | ||
| ## Introducing CodeMeta | ||
|
|
||
| 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 ([Hannay et al 2009](https://doi.org/10.1109/SECSE.2009.5069155 "How do scientists develop and use scientific software?")). Despite this, _infrastructure to support the preservation, discovery, reuse, and attribution of software_ 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 ([Howison 2015](https://doi.org/10.1002/asi.23538 "Software in the scientific literature: Problems with seeing, finding, and using software mentioned in the biology literature")). Fortunately, a rapidly growing movement to improve preservation, discovery, reuse and attribution of academic software is now underway: a recent [NIH report](http://softwarediscoveryindex.org), conferences and working groups of [FORCE11](https://www.force11.org/), [WSSSPE](http://wssspe.researchcomputing.org.uk/) & [Software Sustainability Institute](http://www.software.ac.uk/), and the rising adoption of repositories like [GitHub](https://github.com), [Zenodo](https://zenodo.org), [figshare](https://figshare.com) & [DataONE](https://www.dataone.org) by academic software developers. Now is the time to improve how these resources can talk to each other. | ||
| Software development creates changes, and scientific research requires | ||
| reproducibility. Since software is routinely used in research projects, | ||
| this can cause problems. | ||
|
|
||
| ## What can software metadata do for you? | ||
| _**CodeMeta acts as a vital bridge between these disciplines.**_ | ||
|
|
||
| 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 _citation_ 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. | ||
| [Aiming to solve this problem](/background), CodeMeta was founded in 2016 | ||
| by a consortium of researchers. Using existing standards such as Schema.org | ||
| terms and JSON-LD, CodeMeta is now a recognised framework that is employed | ||
| by a worldwide community of developers, researchers, and archivists. | ||
|
|
||
| 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. | ||
| When used and maintained in code repositories and software distribution | ||
| systems, CodeMeta enables the exact version of a library or application, | ||
| that has been used and cited in scientific and other research, to be | ||
| reliably identified and reused. | ||
|
|
||
| For more detail, [visit the project on GitHub](https://github.com/codemeta/codemeta) or check back here soon. | ||
| ### Research Software MetaData Guidelines | ||
|
|
||
| ## Special thanks to our supporters | ||
| CodeMeta is suggested for use by the following | ||
| [Research Software MetaData Guidelines](https://fair-impact.github.io/RSMD-guidelines/) | ||
| recommendations: | ||
|
|
||
| <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"/> | ||
| {{< rsmd >}} | ||
|
|
||
| ## Use Cases | ||
|
|
||
| Credit | ||
| : CodeMeta's _citation_ metadata is useful for ensuring that authors get | ||
| credit for their software, when it is used for published research. | ||
|
|
||
| Reproducibility | ||
| : Tracking the software libraries and applications used in research, using | ||
| CodeMeta's _versions_ and _dependencies_ metadata, ensures that important | ||
| findings can be reviewed and verified with greater accuracy. | ||
|
Comment on lines
+38
to
+41
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Off-topic for this PR, but I find that dependency metadata in Codemeta is either missing or unusable because it's underspecified |
||
|
|
||
| Discovery | ||
| : Finding software is easier with CodeMeta's _keywords_ and _descriptions_ | ||
| metadata. These terms allow everyone to discover relevant software, and use | ||
| or contribute to it. | ||
|
|
||
| ## Connecting via Crosswalks | ||
|
|
||
| Repositories, software languages, and scientific domains often have different | ||
| vocabularies for their metadata. Our Crosswalks exist to provide a reliable | ||
| path to interoperability. By mapping each of these formats to CodeMeta via a | ||
| Crosswalk, CodeMeta acts as a translation layer for data to be converted | ||
| freely, preserving information that would otherwise be lost. | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,16 @@ | ||
| --- | ||
| title: "The CodeMeta Project" | ||
| layout: sidenav | ||
| --- | ||
|
|
||
| ## Motivation | ||
|
|
||
| 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 ([Hannay et al 2009](https://doi.org/10.1109/SECSE.2009.5069155 "How do scientists develop and use scientific software?")). Despite this, _infrastructure to support the preservation, discovery, reuse, and attribution of software_ 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 ([Howison 2015](https://doi.org/10.1002/asi.23538 "Software in the scientific literature: Problems with seeing, finding, and using software mentioned in the biology literature")). Fortunately, a rapidly growing movement to improve preservation, discovery, reuse and attribution of academic software is now underway: a recent [NIH report](http://softwarediscoveryindex.org), conferences and working groups of [FORCE11](https://www.force11.org/), [WSSSPE](http://wssspe.researchcomputing.org.uk/) & [Software Sustainability Institute](http://www.software.ac.uk/), and the rising adoption of repositories like [GitHub](https://github.com), [Zenodo](https://zenodo.org), [figshare](https://figshare.com) & [DataONE](https://www.dataone.org) by academic software developers. Now is the time to improve how these resources can talk to each other. | ||
|
|
||
| ## What can software metadata do for you? | ||
|
|
||
| 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 _citation_ 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. | ||
|
|
||
| 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. | ||
|
|
||
| For more detail, [visit the project on GitHub](https://github.com/codemeta/codemeta) or check back here soon. |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,11 +1,60 @@ | ||
| --- | ||
| title: "Create a CodeMeta file" | ||
| #layout: login | ||
| layout: wide | ||
| --- | ||
|
|
||
| Need to generate a CodeMeta compliant metadata file? Try out the [CodeMeta Generator](https://codemeta.github.io/codemeta-generator), which was created by the folks at [Software Heritage](https://www.softwareheritage.org). | ||
| Need to generate a CodeMeta compliant metadata file? The folks at | ||
| [Software Heritage](https://www.softwareheritage.org) maintain this tool to | ||
| make that easy. | ||
|
|
||
| The form below is both a generator and a validator for `codemeta.json` files. | ||
| It can be [accessed directly](https://github.com/codemeta/codemeta-generator). | ||
|
|
||
| ## Create a new CodeMeta file | ||
|
|
||
| Generate a CodeMeta file by filling out the fields in the form below | ||
| according to the [CodeMeta terms](/terms) definitions. The `Name` field in | ||
| the first section is mandatory. | ||
|
|
||
| Providing the `Name` of your software will result in a basic `codemeta.json` | ||
| output in the final textarea. Filling out additional fields will build a | ||
| more complete file. The version of CodeMeta can be selected with the | ||
| `Generate codemeta.json v2.0` or `Generate codemeta.json v3.0` buttons above | ||
| the final textarea. | ||
|
|
||
| Some fields require specific formatting. The example text in the fields will | ||
| hint the required formatting. Errors will be highlighted by the generator as | ||
| they are encountered. | ||
|
|
||
| Your generated file may be copied from the text area, or downloaded with the | ||
| `Download codemeta.json` button above the field. | ||
|
|
||
| ## Check a CodeMeta file | ||
|
|
||
| Pasting the contents of your current `codemeta.json` file into the final | ||
| textarea will allow you to: | ||
| - Validate the syntax with the `Validate codemeta.json` button, and | ||
| - Pre-fill the other form fields with your current values using the | ||
| `Import codemeta.json` button. | ||
|
|
||
| {{< rawhtml >}} | ||
| <script type="text/javascript"> | ||
| function iframeResize() { | ||
| const iFrameID = document.getElementById('generator'); | ||
| if(iFrameID) { | ||
| iFrameID.height = ""; | ||
| iFrameID.height = (iFrameID.contentWindow.document.body.scrollHeight + 50) + "px"; | ||
| } | ||
| } | ||
| window.addEventListener('resize', function() { | ||
| iframeResize() | ||
| }); | ||
|
|
||
| </script> | ||
| <iframe id="generator" title="CodeMeta Generator" onload="iframeResize()" src="/codemeta-generator" class="d-inline-block w-100" frameborder="0"> | ||
| If there is no form visible here, you can also access the [CodeMeta Generator](https://codemeta.github.io/codemeta-generator) directly. This may be due to browser security settings. | ||
| </iframe> | ||
|
||
|
|
||
| <a href="https://www.softwareheritage.org"> | ||
| <img src="/img/swh-logo.png" style="height: 50px;"/> Software Heritage</a> | ||
| <img alt="" src="/img/swh-logo.png" style="height: 50px;"/> Software Heritage</a> | ||
| {{< /rawhtml >}} | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,6 @@ | ||
| --- | ||
| title: Codemeta News | ||
| layout: single | ||
| --- | ||
|
|
||
| {{< news >}} |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,5 +1,6 @@ | ||
| --- | ||
| title: CodeMeta Terms | ||
| layout: sidenav | ||
| --- | ||
|
|
||
| ## Terms from Schema.org | ||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,5 +1,6 @@ | ||
| --- | ||
| title: Tools | ||
| layout: sidenav | ||
| --- | ||
|
|
||
| This page lists some existing tools to help with CodeMeta files. | ||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,6 +1,10 @@ | ||
| --- | ||
| layout: single | ||
| --- | ||
|
|
||
| Edited Use cases | ||
| CodeMeta meeting in Portland | ||
| Created 20160415 (use cases group pulled from here 230pm 20160516) https://docs.google.com/document/d/1SalOP_tLw7FC6jnoz5hJBB2jA7xBClKqc88wgmJu5Ro/edit | ||
| Created 20160415 (use cases group pulled from here 230pm 20160516) [PDF export of google doc notes](/CodeMeta_Software_Use_Cases-Day2PM_WrkngGrp.pdf) | ||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. thx |
||
|
|
||
|
|
||
|
|
||
|
|
@@ -296,4 +300,4 @@ datacite/crossref/orcid -- utility providers | |
| ``Repository'' refers to public software repositories such as GitHub, Netlib, Comprehensive R Archive Network (CRAN), and institutional repositories. \item ` | ||
|
|
||
|
|
||
| ``Citation manager`` refers to people and organizations that create scholarly reference management software and websites including Zotero, Mendeley, EndNote, RefWorks, BibDesk, etc., that manage citation information and semi-automatically insert those citations into research products. | ||
| ``Citation manager`` refers to people and organizations that create scholarly reference management software and websites including Zotero, Mendeley, EndNote, RefWorks, BibDesk, etc., that manage citation information and semi-automatically insert those citations into research products. | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,5 +1,6 @@ | ||
| --- | ||
| title: User Guide | ||
| layout: sidenav | ||
| --- | ||
|
|
||
| ## Generating a CodeMeta file | ||
|
|
||


Uh oh!
There was an error while loading. Please reload this page.