Skip to content

chanzuckerberg/czi-oss-training

CZI Open Source Training Materials

This repository contains the training materials for the CZI Imaging Tech team focused on good open-source citizenship.

Format and structure 🔖

This repository contains several modules intended to drive knowledge and culture around open source at CZI.

  • Each module covers specific topics and is intended to be self-contained.
  • Each module is broken into chapters, prefixed by a number to reflect the order in which they should be read.
  • Each chapter indicates the primary personas at which the content is aimed (though this is not prescriptive, and all stakeholders involved in open source should be able to follow all the content in this repository).
  • Files are written in Markdown format.
  • This course is aimed at three primary learning personas; learning paths relevant to each persona are indicated in the learning personas section of this README.

Learning personas 🙋🏽‍♀️

This training is created for three types of people (personas) who interact with open source projects: code contributors, code-adjacent contributors, and managers who support the first two groups.

You can read the material chapter-wise for a thorough understanding. However, specific chapters are more relevant and valuable for particular personas, and this persona is indicated at the top of each chapter.

The following sections outline each persona's role in the open source project.

Code contributor 💻

Community members who:

  • report issues and create pull requests to improve or maintain the software codebase;
  • propose plans to advance the software design and implementation;
  • regularly participate in community discussions;
  • contribute to upstream or downstream projects where relevant.

Learning path:

Code-adjacent contributor 🎨

Community members who:

  • report issues and create pull requests to improve or maintain the software documentation, design, user, and developer experience;
  • propose plans to improve community collaboration, planning, and workflows;
  • participate in community discussions;
  • interact with upstream or downstream project communities.

Learning path:

Manager/stakeholder 🤝

Community members who support teams of regular contributors, specifically:

  • manage teams of Individual Contributors (ICs) or advise team members/managers;
  • set goals for the team that align with team members' skill sets, the team's mission, and the broader project roadmap;
  • track, record, and communicate progress on various tasks;
  • participate in community discussions, primarily around project-level strategy and direction.

Learning path:

Course outline 🗺

  • Module 01 - Introduction to open-source: Provides a brief introduction to open-source, its ethos, and its benefits.
  • Module 02 - Participating in open source: This module explores different ways to engage with and participate in open source communities. It also provides some best practices for contributing to open source as an individual and a corporate stakeholder.
  • Module 03 - Module 03 - Enhancing your OSS contribution impact: This last chapter builds on the principles and learnings from the previous chapters and includes some best practices to further your open source contributions' impact and strategy.
  • Each module contains a module activity to help you apply the learnings from the module to your open source project and your professional development.

Supporting slides for the workshop can be found in the slides directory. These slides are intended to cover two training sessions with the following content split:

Contributing

Pre-commit hooks 🧹

This repository uses the prettier pre-commit hook to standardize our Markdown structure. To install and run the pre-commit hooks, use these commands from the repository root:

# install the pre-commit hooks
pre-commit install

# run the pre-commit hooks
pre-commit run --all-files

Once installed, the hooks should run automatically on every commit.

Code of Conduct

This project adheres to the Contributor Covenant Code of Conduct. By participating, you are expected to uphold this code. Please report unacceptable behavior to opensource@chanzuckerberg.com.

License 📄

This work is licensed under a Creative Commons Attribution 4.0 International License.

CC BY 4.0

Reporting security issues

If you believe you have found a security issue, please responsibly disclose by contacting us at security@chanzuckerberg.com.

About

Training Materials for Good Open Source Citizenship

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published