Difference between revisions of "Publishing software"

m
 
Line 18: Line 18:
 
#<span style="font-size:medium;"><span style="font-family: Arial, Helvetica, sans-serif;">Choose the CLEX Code Collection as community. We will get a notification of your request. Remember your code can be listed in more than one community.&nbsp;</span></span>  
 
#<span style="font-size:medium;"><span style="font-family: Arial, Helvetica, sans-serif;">Choose the CLEX Code Collection as community. We will get a notification of your request. Remember your code can be listed in more than one community.&nbsp;</span></span>  
 
#<span style="font-size:medium;"><span style="font-family:Arial,Helvetica,sans-serif;">We will receive your request to join the CCC&nbsp;and check that you code is well described and in line with the [https://zenodo.org/communities/arc-coe-clex/about/ Collection policies]. If any changes are&nbsp;needed, we will contact you.</span></span>  
 
#<span style="font-size:medium;"><span style="font-family:Arial,Helvetica,sans-serif;">We will receive your request to join the CCC&nbsp;and check that you code is well described and in line with the [https://zenodo.org/communities/arc-coe-clex/about/ Collection policies]. If any changes are&nbsp;needed, we will contact you.</span></span>  
 
  
 
=== <span style="font-size:medium;"><span style="font-family:Arial,Helvetica,sans-serif;">'''Useful tips'''</span></span> ===
 
=== <span style="font-size:medium;"><span style="font-family:Arial,Helvetica,sans-serif;">'''Useful tips'''</span></span> ===
Line 24: Line 23:
 
*<span style="font-family:Arial,Helvetica,sans-serif;"><span style="font-size:medium;">A code can have several authors, they all should agree to the code publication and to list the record in the CLEX Code Collection. All authors should have made a significant contribution to the code, you can refer to the CCC [https://zenodo.org/communities/arc-coe-clex/about/#authorship_policy authorship policy] if in doubt.&nbsp;</span></span>  
 
*<span style="font-family:Arial,Helvetica,sans-serif;"><span style="font-size:medium;">A code can have several authors, they all should agree to the code publication and to list the record in the CLEX Code Collection. All authors should have made a significant contribution to the code, you can refer to the CCC [https://zenodo.org/communities/arc-coe-clex/about/#authorship_policy authorship policy] if in doubt.&nbsp;</span></span>  
 
*<span style="font-size:medium;"><span style="font-family:Arial,Helvetica,sans-serif;">You should always assign a&nbsp;[[Versioning|version]]&nbsp;and a&nbsp;[[Open_access_license|license]], taking&nbsp;into consideration reuse and possible new releases.</span></span>  
 
*<span style="font-size:medium;"><span style="font-family:Arial,Helvetica,sans-serif;">You should always assign a&nbsp;[[Versioning|version]]&nbsp;and a&nbsp;[[Open_access_license|license]], taking&nbsp;into consideration reuse and possible new releases.</span></span>  
 +
*<span style="font-size:medium;"><span style="font-family:Arial,Helvetica,sans-serif;">Use&nbsp;[[Controlled_vocabularies|keywords and controlled vocabularies]]&nbsp;in your metadata to increase&nbsp;[[FAIR_-_Findable|discoverability]].</span></span>
 
*<span style="font-family:Arial,Helvetica,sans-serif;"><span style="font-size:medium;">Having your code on a version control repository (and possibly GitHub) is highly recommended but it&nbsp;is not a requirement to publish on Zenodo, you&nbsp;can still publish your code without one.</span></span>  
 
*<span style="font-family:Arial,Helvetica,sans-serif;"><span style="font-size:medium;">Having your code on a version control repository (and possibly GitHub) is highly recommended but it&nbsp;is not a requirement to publish on Zenodo, you&nbsp;can still publish your code without one.</span></span>  
 
**<span style="font-family:Arial,Helvetica,sans-serif;"><span style="font-size:medium;">If you have your code in a GitHub repository you can give Zenodo access to your repository and every time you create a new release you Zenodo record will be updated automatically. <link></span></span>  
 
**<span style="font-family:Arial,Helvetica,sans-serif;"><span style="font-size:medium;">If you have your code in a GitHub repository you can give Zenodo access to your repository and every time you create a new release you Zenodo record will be updated automatically. <link></span></span>  
 
**<span style="font-family:Arial,Helvetica,sans-serif;"><span style="font-size:medium;">Every time you change files you&nbsp;have to create a new version of the record and a new DOI&nbsp;will be minted. Any other field can be updated at any time without need for the record to be republished.</span></span>   
 
**<span style="font-family:Arial,Helvetica,sans-serif;"><span style="font-size:medium;">Every time you change files you&nbsp;have to create a new version of the record and a new DOI&nbsp;will be minted. Any other field can be updated at any time without need for the record to be republished.</span></span>   
*<span style="font-family:Arial,Helvetica,sans-serif;"><span style="font-size:medium;">If you do not want to create your own Zenodo account, we can create a record for you. In that case, let us know that you want to publish via the helpdesk.&nbsp;If your code is well documented, it might take as little as 20 minutes for us to add&nbsp;&nbsp;your repository to the Zenodo community. &nbsp;</span></span><span style="font-family:Arial,Helvetica,sans-serif;"><span style="font-size:medium;">Please note that having your own Zenodo account will give you more control on your code. It is especially recommended if you are likely to release new versions in the future, as we might not be able to set up automatic&nbsp;updates as&nbsp;the owner of the record might be&nbsp;different from the GitHub repository owner.</span></span>
+
*<span style="font-family:Arial,Helvetica,sans-serif;"><span style="font-size:medium;">If you do not want to create your own Zenodo account, we can create a record for you. In that case, let us know that you want to publish via the helpdesk.&nbsp;If your code is well documented, it might take as little as 20 minutes for us to add&nbsp;&nbsp;your repository to the Zenodo community. &nbsp;</span></span><span style="font-family:Arial,Helvetica,sans-serif;"><span style="font-size:medium;">Please note that having your own Zenodo account will give you more control on your code. It is especially recommended if you are likely to release new versions in the future, as we might not be able to set up automatic&nbsp;updates as&nbsp;the owner of the record might be&nbsp;different from the GitHub repository owner.</span></span>​​​​​​​
 
 
  
 
=== <span style="font-size:medium;"><span style="font-family:Arial,Helvetica,sans-serif;">'''Requirements'''</span></span> ===
 
=== <span style="font-size:medium;"><span style="font-family:Arial,Helvetica,sans-serif;">'''Requirements'''</span></span> ===

Latest revision as of 00:51, 14 July 2021

CLEX Code Collection

Zenodo CCC screenshot.png

You can now publish the code you use for your research with the new CLEX Code Collection on Zenodo (CCC). Journals sometimes require code to be published alongside data. We hope the Zenodo community will also serve as a way to share our codes in a user-friendly way. So even if you are not required to publish your code you can see this collection as an opportunity to share your work with others.

Zenodo is an initiative funded by CERN that allows anyone to share their research outputs and attach to them a DOI. Zenodo is funded for at least the next 20 years and so it offers a good long-term solution, as well as been widely used internationally.

We will curate the Collection for the duration of CLEX, but the records will be still available and visible well past CLEX termination.

How to publish

Publishing your code is easy and quick as long as your code is reasonably organised and has a detailed Readme file.

  1. Create a Zenodo account, you can use your ORCID to login if you have one.
  2. Create a Zenodo record for your code, uploading the relevant files. We prepared a step-by-step guide on how to do this, which also cover the kind of information you should include.
  3. Choose the CLEX Code Collection as community. We will get a notification of your request. Remember your code can be listed in more than one community. 
  4. We will receive your request to join the CCC and check that you code is well described and in line with the Collection policies. If any changes are needed, we will contact you.

Useful tips

  • A code can have several authors, they all should agree to the code publication and to list the record in the CLEX Code Collection. All authors should have made a significant contribution to the code, you can refer to the CCC authorship policy if in doubt. 
  • You should always assign a version and a license, taking into consideration reuse and possible new releases.
  • Use keywords and controlled vocabularies in your metadata to increase discoverability.
  • Having your code on a version control repository (and possibly GitHub) is highly recommended but it is not a requirement to publish on Zenodo, you can still publish your code without one.
    • If you have your code in a GitHub repository you can give Zenodo access to your repository and every time you create a new release you Zenodo record will be updated automatically. <link>
    • Every time you change files you have to create a new version of the record and a new DOI will be minted. Any other field can be updated at any time without need for the record to be republished.
  • If you do not want to create your own Zenodo account, we can create a record for you. In that case, let us know that you want to publish via the helpdesk. If your code is well documented, it might take as little as 20 minutes for us to add  your repository to the Zenodo community.  Please note that having your own Zenodo account will give you more control on your code. It is especially recommended if you are likely to release new versions in the future, as we might not be able to set up automatic updates as the owner of the record might be different from the GitHub repository owner.​​​​​​​

Requirements

We set up policies covering the use and contribution to the Collection. These are shown if full on the Zenodo community page, but can also be downloaded here.

They include:

  • The CCC scope: outlining the scope of the collection and the main requirements for a code to be accepted.
  • The Authorship policy: this is based on the  Australian Code for the Responsible Conduct of Research (2018) and covers who can be considered and author or a collaborator. 
  • Contributors guidelines: more in depth guidelines on how to contribute code to the Collection.
  • Retention and Retraction policy: defining the few cases in which we might retract a record and the procedure we will follow.

Because we are using the Zenodo platform also any policy set by Zenodo has to be honoured.

We are not checking the quality of your code, as long as the Collection policies are satisfied and your code is in line with the Collection scope, it will be accepted. The only requirement currently is for your description of the code to be reasonably comprehensive. However, if you would like some advice and feedback on a code, we are happy to help you. As usual you can contact us via the CWS helpdesk: cws_help<at>nci.org.au .