Skip to content

Latest commit

 

History

History
34 lines (24 loc) · 4.46 KB

File metadata and controls

34 lines (24 loc) · 4.46 KB

Module 4: Open Code

This module focuses on the practice and application of open code as part of the open science workflow. It provides a 'how to' process that follows the code development lifecycle and "Use, Make, Share" framework. Some of the key topics discussed include: benefits and limitations of open code, how to discover and assess code, considerations and methods for programming following open principles, and finally when and how to share your code.

Learning Objectives

After completing this module, you should be able to:

  • Explain what open-source software means, including the software development cycle, the benefits, some common limitations, and how they are addressed.
  • Assess open-source software for reuse by evaluating provided documentation, including README files and licensing details, and then cite the software appropriately.
  • Create an open-source software management plan that includes the strategy for selecting open software dependencies and open repositories such as GIT, and how open elements including metadata, README files and version control, will be included to make the software reusable and findable.
  • Evaluate whether your open-source software can be shared and the best options for sharing to increase visibility.
  • List the responsibilities a software developer has once the open-source software is shared including managing legal requirements and ensuring the software is maintained.

Lesson 1: Introduction to Open Code:

This lesson defines the key terms, core principles, benefits, and challenges of open code. The practice of making code openly available to the public occurs within a spectrum from more to less protected. Ethical and legal conditions can limit the degree of openness that researchers can permit. This lesson will introduce the critical questions to consider when determining the appropriate accessibility of code to external users along with best practices to overcome common constraints to maximize availability. The lesson concludes with a discussion on the software lifecycle and how it fits with the “Use, Make, Share” framework and its relationship to a management plan.

Lesson 2: Using Open Code:

In this lesson, you learn the steps for using existing open code in your work. These steps include discovering, assessing, reusing, citing, and acknowledging.

Lesson 3: Making Open Code:

In this lesson, you will learn about the practical steps to make code openly accessible. Large volume and well-established software have different needs than an incipient project.  For example, a script written to create a simple plot has different requirements than a software package that models the Earth’s climate. The size of a research team can also determine the steps required to make code open access. This lesson covers the process to make code usable to other researchers through documentation, considerations around licenses, and software development best practices.

Lesson 4: Sharing Open Code:

In this lesson you learn the steps for sharing the software that you developed. These steps include determining if, when, and where software should be shared, which roles are needed, and how to enable others to use the code.

Lesson 5: From Theory to Practice:

This lesson ties the concepts of open access software development to the operation of a software management plan. The lesson also introduces you to the community aspect of open software. It begins with a discussion on writing software management plans, then continues with information on how to connect with open software communities. This information is contextualized with an introduction to the benefits of a software community and the roles involved in these groups. A list of communities is also presented, and you are asked to explore and engage with some of them. The lesson wraps up with helpful suggestions to contribute to open software and additional resources.

Additional Resources

In addition to the TOPS module training, the community resources below are excellent information sources about open science.