Findable: Software, and its associated metadata, is easy for both humans and machines to find.
|
F1: Software is assigned a globally unique and persistent identifier: We use Zenodo to create unique and persistent DOIs for our releases in GitHub. Zenodo offers an integration of GitHub to create DOIs automatically when a release is published. |
F2: Software is described with rich metadata: We use the citation file format CITATION.cff in our GitHub repository for describing the software with rich metadata. |
F3: Metadata clearly and explicitly include the identifier of the software they describe: CITATION.cff has a field for including the identifiers of the releases clearly and explictitly. |
F4: Metadata are FAIR, searchable and indexable: The use of Zenodo and CITATION.cff ensures that the metadata are FAIR, searchable and indexable. |
Accessible: Software, and its metadata, is retrievable via standardized protocols.
|
A1: Software is retrievable by its identifier using a standardized communications protocol: The software is retrievable by its persistent identifier from Zenodo and the URL to the GitHub repository. This allows researchers to download and install the software on a (local) webserver. |
A2: Metadata are accessible, even when the software is no longer available: The software is accessible on several websites and repositories over https. While the software and source code are available without further authorization, using the software as a service will be possible through a closed authentication procedure. We ensure that metadata will remain accessible by sharing it on Zenodo and using CITATION.cff. |
Interoperable: Software interoperates with other software by exchanging data and/or metadata, and/or through interaction via application programming interfaces (APIs), described through standards.
|
I1: Software reads, writes and exchanges data in a way that meets domain-relevant community standards: Domain-relevant community standards cannot be applied to the software because we use a specific schema to store the result types in RAT (search results, results from the automatic analysis and classifications). However, we integrated search engine APIs, e.g., Microsoft Bing and Google Keyword Planner, to retrieve results from these services. We will write extensive documentation how to use these APIs in RAT. We also plan to develop a RAT-API for researchers, and we will evaluate the FAIRsharing standards to meet relevant community standards. |
I2: Software includes qualified references to other objects: There are several qualified references to external data objects required to execute the software. The most important qualifiers are that RAT is implemented using Python and uses PostgreSQL. |
Reusable: Software is both usable (can be executed) and reusable (can be understood, modified, built upon, or incorporated into other software).
|
R1: Software is described with a plurality of accurate and relevant attributes: We decided to publish the software under the GPL-3.0 license to give it a clear and accessible license. As for the provenance, we added descriptions to our metadata about the intent and origin behind the software development. |
R2: Software includes qualified references to other software: There are several qualified references to other software. The most important is using Selenium Project to scrape search systems and web content. |
R3: Software meets domain-relevant community standards: We decided to use a popular and regularly maintained programming language (Python) and database (PostgreSQL) to develop the software. The decision to use Selenium as the main program for scraping web content was made because it is the de facto standard for automated web testing and has a large developer community. We also plan to offer parts of RAT as packages via PyPI, as this is the community standard for package management in Python. |