Portal/rdm/examples/oscar: Difference between revisions
Add author section. |
|||
(One intermediate revision by one other user not shown) | |||
Line 17: | Line 17: | ||
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 GitHub repositories using | 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. | ||
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.