@@ -7,7 +7,7 @@ This can be done by creating a file called `LICENSE.md` in the root directory of
We suggest to use `GNU General Public License v3.0 or later` for your software. You can copy the license text from [here](https://choosealicense.com/licenses/gpl-3.0/). One distinctive feature of the GPLv3 is its copyleft provision. This provision requires any derivative works or modifications of your software to also be distributed under the terms of the GPLv3. This helps to prevent the software from being turned into a proprietary product.
if you want to publish your software "as free as possible", you can use the `MIT License`. The MIT License is a permissive free software license originating at the Massachusetts Institute of Technology and even allows reuse within proprietary software.
If you want to publish your software "as free as possible", you can use the `MIT License`. The MIT License is a permissive free software license originating at the Massachusetts Institute of Technology and even allows reuse within proprietary software.
You can copy the license text from [here](https://choosealicense.com/licenses/mit/).
@@ -6,7 +6,7 @@ Publishing your software provides open access, increasing visibility and facilit
While there is no "right" time to publish your software, we suggest to publish your software as early as possible. This allows others to use your software and provide feedback. This can help you to improve your software and to find bugs. Additionally, publishing your software early can help you to get more citations. At the very least we suggest a publication of your software when you publish a paper that uses the software.
## Where to publish?
While der are many platforms avaiable, we currently suggest to publish your software on [zenodo](https://zenodo.org).
While there are many platforms avaiable, we currently suggest to publish your software on [zenodo](https://zenodo.org).
The platform supports versioning, ensuring users can access the latest updates while preserving earlier versions for reference. Zenodo's commitment to long-term preservation aligns with the requirements of funding agencies and institutions, offering a stable and accessible repository for your software.
Additionally zenodo offers a [GitHub integration](https://guides.github.com/activities/citable-code/) which allows you to automatically create a new version of your software on zenodo whenever you create a new release on GitHub.
...
...
@@ -29,14 +29,14 @@ If you want to publish the code from an organization's repositories, zenodo need
After giving zenodo access to your github repositories, you see the list of your public repositories [here](https://zenodo.org/account/settings/github/). Switch the toggle button to "on" for the repository you want to publish on zenodo.
### Create a new release on github
You need to create a new GitHub release. This can be done by clicking on the "Releases" tab in your GitHub repository and then clicking on "Draft a new release". You need to choose a tag and the target branch for your Release. Then you can add a describting for your Release and finally click on "Publish release". This will trigger the zenodo GitHub integration and create a new version of your software on zenodo. After the publication, you are not able to change the source code of the software on zenodo. Whenever you want to publish a new version of your software, you need to create a new release on GitHub.
You need to create a new GitHub release. This can be done by clicking on the "Releases" tab in your GitHub repository and then clicking on "Draft a new release". You need to choose a tag and the target branch for your release. Then you can add a description for your release and finally click on "Publish release". This will trigger the zenodo GitHub integration and create a new version of your software on zenodo. After the publication, you are not able to change the source code of the software on zenodo. Whenever you want to publish a new version of your software, you need to create a new release on GitHub.
### Curating the meta data
After the publication you are still able to edit the meta data of your software on zenodo. This can be done by clicking on "Edit" on the zenodo page of your software.
### Publishing from Gitlab (git.rz.tu-bs.de) using a Mirror
Currently zenodo does not allow to publish software directly from gitlab to zenodo. However, you can use a the mirror feature of gitlab to mirror your gitlab repository to GitHub. You can then use the GitHub integration of zenodo to publish your software on zenodo.
To mirror your repository from gitlab to github we recommand to follow the steps:
To mirror your repository from gitlab to github we recommend to follow these steps:
1. Create a new public and empty repository on GitHub (no README, no license, no .gitignore)
2. Go to your gitlab repository and click on "Settings" -> "Repository" -> "Mirroring repositories" -> "add new"
- Enter the URL of your GitHub repository: E.g. for https://github.com/irmb/virtualfluids it would be `ssh://git@github.com/irmb/virtualfluids.git`
...
...
@@ -50,6 +50,6 @@ To mirror your repository from gitlab to github we recommand to follow the steps
- Paste the SSH key from gitlab into the "Key" field
- Choose "Allow write access"
- Click "Add key"
3. On the page "Mirroring repositories" click on "Update now" to mirror your repository from gitlab to github
3. On the page "Mirroring repositories" click on "Update now" to mirror your repository from gitlab to GitHub
Done! gitlab will automatically mirror your protected branches and also tags based on this branch to github. The last thing you need to do to get the zenodo publication is to create a new Release on GitHub manually.
\ No newline at end of file
Done! Gitlab will automatically mirror your protected branches and also tags based on this branch to GitHub. The last thing you need to do to get the zenodo publication is to create a new release on GitHub manually.