Portal/rdm/examples/oscar: Difference between revisions

From MaRDI portal
LKastner (talk | contribs)
Improve Oscar RDMP after feedback from Karsten Tabelow
Line 13: Line 13:


==== 2. Documentation and data quality ====
==== 2. Documentation and data quality ====
The code is documented using the [https://documenter.juliadocs.org/ Documenter.jl] package, which is the the Julia standard. The documentation is automatically deployed at [https://docs.oscar-system.org/stable/] by GitHub actions.
The code is documented using the [https://documenter.juliadocs.org/ Documenter.jl] package, which is the Julia standard. The documentation is automatically deployed at [https://docs.oscar-system.org/stable/] by GitHub actions.


The dependencies are tracked by the respective Project.toml files in the single
The dependencies are tracked by the respective Project.toml files in the single

Revision as of 05:05, 10 May 2024

Example: A large software project in an SFB (OSCAR)

Project description

The OSCAR Computer algebra system is developed as the central software project of within the Collaborative Research Center TRR 195 of the German Research Foundation (DFG).

1. Data description

The main datatype is the Julia code of Oscar.jl. Furthermore there are several subprojects developed by the TRR 195 that Oscar.jl depends on. These are GAP.jl, Polymake.jl, Singular.jl, Hecke.jl and many more. All dependencies are hosted on GitHub and part of the Julia ecosystem. Thus their archival is also secured by software heritage. In the following we will focus on Oscar.jl, though the RDMPs for the dependencies will look very similar.

2. Documentation and data quality

The code is documented using the Documenter.jl package, which is the Julia standard. The documentation is automatically deployed at [1] by GitHub actions.

The dependencies are tracked by the respective Project.toml files in the single repositories. Testing is done automatically in the GitHub repositories using github actions. Compatibility is ensured with the current Julia release and the currently maintained Julia LTS versions. Code coverage of the tests is monitored by the codecov app. Oscar.jl adopts the standard github continuous integration approach. Code can only be merged to master after all the tests are passed.

3. Storage and technical archiving the project

The project is stored on GitHub and via the git mechanism every developer retains a local copy as well. Furthermore the project and its dependencies are archived already during runtime at softwareheritage.org, see e.g. Oscar.jl at software heritage.

4. Legal obligations and conditions

The Oscar.jl source code is published under the GPLv3 as stated in the LICENSE file.

5. Data exchange and long-term data accessibility

All of the data is publicly available on GitHub and long term availability is guaranteed via software heritage.

6. Responsibilities and resources

The responsibility lies with the PIs of the B1 software project of the TRR 195. The necessary resources are provided by TU Berlin and RPTU Kaiserslautern.

In case we need to publish additional data, we will follow the MaRDI guidelines on data management and how to choose an appropriate repository.