Top Best Practices for Sharing Research Software and Source Code

Discover the best practices for sharing your NIH-funded research software openly, enabling others to use, modify, and redistribute your code effectively.

Introduction

Sharing research software and source code is pivotal in advancing scientific discovery and fostering collaboration across institutions. By openly disseminating your NIH-funded software, you not only enhance transparency but also contribute to the rigor and reproducibility of research. This guide outlines the top best practices for sharing your research software and source code, ensuring that your work is accessible, reusable, and sustainable.

Why Share Research Software as Open Source?

Openly sharing your research software offers several key benefits:

  • Transparency: Allows others to scrutinize and validate your work, enhancing the credibility of your research.
  • Rigor and Reproducibility: Facilitates the replication of study results, a cornerstone of scientific integrity.
  • Sustainability: Promotes the long-term maintenance and improvement of software through community contributions.
  • Collaboration: Encourages partnerships and knowledge exchange among researchers and institutions.

These advantages align with NIH’s commitment to data sharing and responsible conduct of research, driving the collective advancement of science.

Steps to Make Your Software Open Source

1. Choose the Right Repository

Selecting an appropriate repository is crucial for the discoverability and longevity of your software. Consider the following options:

  • GitHub, GitLab, Bitbucket: Ideal for version control and collaborative development.
  • Specialized Repositories: Platforms like Conda or Bioconductor for specific package distributions.
  • Containers and Workflows: Use repositories such as Dockstore for sharing containers.

Ensure the repository supports metadata provisioning and search tools to enhance the FAIR principles—Findable, Accessible, Interoperable, and Reusable.

2. Select an Appropriate License

Using an open license clarifies the terms under which others can use, modify, and distribute your software. Follow these guidelines:

  • Funder Guidance: Adhere to any specific licensing requirements provided by your funding body.
  • Open Source Initiative (OSI) Licenses: Opt for well-known licenses like MIT, Apache 2.0, or GPL to facilitate ease of use and contribution.
  • Disclaim Liabilities: Clearly state any disclaimers to protect against future liabilities.

3. Ensure Software Citability

Making your software citable ensures that you receive proper credit for your work. Implement the following:

  • Persistent Identifiers (DOIs): Use platforms like Zenodo to assign unique DOIs to your code repositories.
  • Citation Files: Include a citation.cff file in your repository to specify how others should cite your work.
  • Versioning: Clearly label software versions to maintain references for reproducibility.

4. Provide Comprehensive Documentation

Detailed documentation is essential for usability and maintenance. Include:

  • Purpose and Design: Explain the software’s functionality and underlying architecture.
  • Installation Instructions: Offer step-by-step guides for setting up the software on various platforms.
  • Usage Examples: Provide examples and tutorials to help users get started.
  • Contribution Guidelines: Outline how others can contribute to your project, fostering community engagement.

5. Acknowledge Funding and Contributors

Proper acknowledgment reinforces the support behind your research and gives credit to collaborators:

  • Funding Information: Include NIH grant details in your documentation and repository metadata.
  • Contributor Recognition: List all individuals who contributed to the development of the software.
  • Compliance with NIH Guidelines: Follow NIH’s instructions for communicating and acknowledging federal funding in all relevant places.

Software Licensing Models

Understanding software licensing models is crucial for determining how your research software can be used and shared. Here are common models:

Permissive Licenses

Permissive licenses like MIT or Apache 2.0 allow users to freely use, modify, and distribute the software with minimal restrictions. They are ideal for encouraging widespread adoption and contribution.

Copyleft Licenses

Licenses such as GPL require that any derivative works also be distributed under the same license terms. This ensures that the software and its extensions remain open and free.

Creative Commons

While typically used for creative works, certain Creative Commons licenses can apply to software, specifying conditions like attribution, non-commercial use, or share-alike requirements.

Custom Licenses

In some cases, researchers may opt for custom licenses tailored to specific needs or restrictions. However, using well-known licenses is generally recommended to avoid compatibility issues.

Choosing the right license depends on your goals for software use and distribution. Refer to the Open Source Initiative for comprehensive guidance on selecting an appropriate license.

Metadata for Enhanced Discoverability

Rich metadata ensures that your software is easily discoverable and reusable. Key metadata elements include:

  • Title and Description: Clearly state the name and purpose of the software.
  • Persistent Identifiers: Assign DOIs or similar identifiers for tracking and citation.
  • Authors and Contributors: List all individuals involved in the development.
  • Grant Information: Include NIH grant numbers to acknowledge funding sources.
  • Keywords and Tags: Use relevant terms to improve searchability.

Proper metadata facilitates the integration of your software with other research tools and publications, enhancing its impact and usability.

Addressing Restrictions and Compliance

While sharing software is encouraged, certain restrictions may apply:

  • Patent Considerations: If patent protection is being pursued, sharing may need to be restricted.
  • Sensitive Information: Ensure that the software does not contain personally identifiable information or data that could compromise privacy.
  • Medical Usage: Software intended for clinical use must comply with regulatory standards and may require FDA approval.

Consult your institution’s Technology Development and Transfer Office or Sponsored Projects Office to navigate these restrictions effectively.

Conclusion

Sharing research software and source code is a vital practice that fosters transparency, reproducibility, and collaboration in the scientific community. By following these best practices—choosing the right repository, selecting an appropriate license, ensuring citability, providing comprehensive documentation, acknowledging contributors, understanding licensing models, enriching metadata, and addressing compliance—you can maximize the impact and sustainability of your NIH-funded software.

For more insights and resources on sharing research software, visit the NIH Best Practices FAQ.


Ready to take your research and investment opportunities to the next level? Explore Oriel IPO today and connect with a community dedicated to fostering innovation and growth.

more from this section