Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 20 additions & 0 deletions dimensions/open_source_software.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
{
"@context": "https://w3id.org/everse/rsqd#",
"@id": "https://w3id.org/everse/i/dimensions/open_source_software",
"@type": "SoftwareQualityDimension",
"name": "Open Source Software",
"abbreviation": "open_source_software",
"identifier":"https://w3id.org/everse/i/dimensions/open_source_software",
"description": "Open source software is software with source code that anyone can inspect, modify, and enhance. Research software can be published with or without open access to the source code. Open access to source code aligns better with academic research purposes than closed source software; open source software aligns with the FAIR4RS principles. It allows other researchers to directly verify the methods used to produce the results published in papers. It also makes reproducibility much easier. In addition to these research-driven reasons, publishing research software as open source software can help with long term maintenance in a cost-effective way, since interested developers can easily contribute new functionality or fix bugs. Moreover, by integrating with the greater open source ecosystem, researchers can leverage tools and support communities already available. As such, for most academic communities with limited resources, it is also a good choice from a software engineering perspective",
"source": [
{
"identifier": "https://doi.org/10.5281/zenodo.14204478",
"url": "https://doi.org/10.5281/zenodo.14204478",
"name": "EVERSE Reference Framework"
},
{
"url": "https://opensource.com/resources/what-open-source",
"name": "What is Open Source?"
}
]
}
40 changes: 25 additions & 15 deletions website/dimensions.html
Original file line number Diff line number Diff line change
Expand Up @@ -233,30 +233,40 @@ <h2>Research Software Quality Dimensions</h2>
row.appendChild(descriptionCell);

const sourceCell = document.createElement("td");
if (data.source && typeof data.source === "object") {
let href = null;

if (data.source.url) {
href = data.source.url;
} else if (data.source['@id']) {
href = data.source['@id'];
} else if (data.source.identifier) {
href = data.source.identifier;
}
function appendSourceLink(src, cell, addSeparator = false) {
let href = src.url || src['@id'] || src.identifier;
let label = src.name || href;

if (href) {
const link = document.createElement("a");
link.href = href;
link.textContent = data.source.name || href;
link.textContent = label;
link.target = "_blank";
link.style.color = "#1E90FF";
link.style.display = "block";
sourceCell.appendChild(link);
} else {
sourceCell.textContent = "";
link.style.marginBottom = "6px";
cell.appendChild(link);
}

if (addSeparator) {
const separator = document.createElement("hr");
separator.style.borderTop = "1px dashed #444";
separator.style.margin = "6px 0";
cell.appendChild(separator);
}
}

if (Array.isArray(data.source)) {
data.source.forEach((src, index) => {
appendSourceLink(src, sourceCell, index < data.source.length - 1);
});
} else if (data.source && typeof data.source === "object") {
appendSourceLink(data.source, sourceCell);
} else {
sourceCell.textContent = "";
const noSource = document.createElement("span");
noSource.textContent = "no source available";
noSource.style.color = "#999";
sourceCell.appendChild(noSource);
}
row.appendChild(sourceCell);

Expand Down