Portal/rdm/examples/oscar: Difference between revisions
→Research Data Management Planning in Mathematics: Add OSCAR as an example |
Add author section. |
||
(5 intermediate revisions by 2 users not shown) | |||
Line 6: | Line 6: | ||
[https://www.computeralgebra.de/sfb/ Collaborative Research Center TRR 195] of | [https://www.computeralgebra.de/sfb/ Collaborative Research Center TRR 195] of | ||
the [https://www.dfg.de/ German Research Foundation (DFG)]. | the [https://www.dfg.de/ German Research Foundation (DFG)]. | ||
==== 1. Data description ==== | ==== 1. Data description ==== | ||
The main datatype is the Julia code of Oscar.jl. Furthermore there are several | The main datatype is the [https://julialang.org/ Julia] code of [https://github.com/oscar-system/Oscar.jl Oscar.jl]. Furthermore there are several | ||
subprojects developed by the TRR 195 that Oscar.jl depends on. These are | subprojects developed by the TRR 195 that Oscar.jl depends on. These are | ||
GAP.jl, | [https://github.com/oscar-system/GAP.jl GAP.jl], [https://github.com/oscar-system/Polymake.jl Polymake.jl], [https://github.com/oscar-system/Singular.jl/ Singular.jl], [https://github.com/thofma/Hecke.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 ==== | ==== 2. Documentation and data quality ==== | ||
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/ 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 | ||
repositories. Testing is done automatically in the | 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 | currently maintained Julia LTS versions. Code coverage of the tests is | ||
monitored by the | monitored by the Codecov app. | ||
Oscar.jl adopts the standard | Oscar.jl adopts the standard Github continuous integration approach. Code can | ||
only be merged to master after all the tests are passed. | only be merged to master after all the tests are passed. | ||
==== 3. Storage and technical archiving the project ==== | ==== 3. Storage and technical archiving the project ==== | ||
The project is stored on | The project is stored on [https://docs.oscar-system.org/stable/ GitHub] and via the git mechanism every developer | ||
retains a local copy as well. Furthermore the project and its dependencies are | retains a local copy as well. Furthermore the project and its dependencies are | ||
archived already during runtime at [https://archive.softwareheritage.org/ softwareheritage.org], see e.g. | archived already during runtime at [https://archive.softwareheritage.org/ softwareheritage.org], see e.g. | ||
Line 34: | Line 35: | ||
==== 5. Data exchange and long-term data accessibility ==== | ==== 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. | All of the data is publicly available on GitHub and long term availability is guaranteed via software heritage. | ||
==== 6. Responsibilities and resources ==== | ==== 6. Responsibilities and resources ==== | ||
Line 42: | Line 42: | ||
[https://www.mardi4nfdi.de MaRDI] guidelines on data management and how to | [https://www.mardi4nfdi.de MaRDI] guidelines on data management and how to | ||
choose an appropriate repository. | choose an appropriate repository. | ||
====== Author ====== | |||
This example was authored by [https://lkastner.github.io/ Lars Kastner] from Technische Universität Berlin. If you have questions, please do not hesitate to get in touch with us at the [https://www.mardi4nfdi.de/community/help-desk MaRDI helpdesk]. |
Latest revision as of 13:35, 16 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 https://docs.oscar-system.org/stable/ 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.
Author
This example was authored by Lars Kastner from Technische Universität Berlin. If you have questions, please do not hesitate to get in touch with us at the MaRDI helpdesk.