Skip to Main Content

ZivaHub Data Sharing and Publishing: Publishing Software Code

This guide details all the information needed when using UCT's Institutional Repository ZivaHub

Publishing Software Code

Guideline for publishing software | code 

By publishing your software on ZivaHub you are also subscribing to FAIR data practices, i.e. aiming to make your data Findable, Accessible, Interoperable and Reusable. Here are a few points to assist you further with getting started: 

  1. Describe your software: 

Putting your software online and naming it is only the beginning. You also need to include information that describes what your code does. Have a look at for some more of the metadata you should include.   

  1. Get and use a DOI for your software: 

Once you have published your code on ZivaHub, make sure that you use the DOI whenever you refer to your software (remember that ZivaHub will version the DOI with each new GitHub commit). NB: It is helpful to include the DOI along with any research you publish in your data availability statement. See example: [Text Wrapping Break] 

Software. The source code for the index construction and search is available at (23). It is implemented in Python 3 under the 3-Clause BSD License. Version 1.1, used in this paper, is archived at DOI: 10.5281/zenodo.2505206 

  1. Explain the functionality of your software: 

Make sure that you list all the operations that your software can do, and that you describe the input and output data types. If you are working within a specific field, use the terms that are already set.  

  1. Use data standards for your software: 

If you stick to data input standards, you are more likely to see your code reused. If those standards are accepted within your community of researchers, then your code will integrate with others’ practices. Try not to develop our own standard, as this will reduce interoperability. 

  1. Document your software: 

The instructions on how to install, run and use your software should be included to assist with its reuse. NB: you should also list all of your software dependencies.  

  1. Verify your license: 

By default, ZivaHub provides the MIT software license, but you also have the choice of GPL, GPL2.0+, GPL3.0+, and Apache 2.0. The license states how others can re-use your code. For full details of licenses, visit, and for a more concise explanation visit 

  1. State how to cite your software: 

CodeMeta has a higher standard of adoption for describing code (see example). If you want to go for something simpler, just add a CITATION.txt to your item record,  including the main contributors to your project and your preferred citation style. You can also include (links to) related information about any papers associated with your code together with your ZivaHub DOI.