“OS” doesn’t stand for “One Size”
This project presents a framework and guidelines for the many ways of doing OSS in science.
We heard from a lot of teams developing OSS Scientific software that it can be difficult to understand what “true open source” means for different kinds of projects, and that it can be overwhelming trying to prioritize all of the OSS “best practices,” especially when these may not be aligned with their broader strategic goals.
We set out to create a set of resources to help project developers and teams:
This project/framework contains three main files:
We encourage you to use this framework early and often – projects may transition between archetypes as they move through different stages of maturity.
First, take a look at the Minimum standards of care guide. This guide describes the most important foundational open practices that we think all projects should incorporate first, before attending to archetype-specific practices. If there’s still work to be done there, focus on those items first, and come back to this guide when you’re ready.
There are two suggested starting points for identifying your project’s archetypes. With either path, there are a few things to keep in mind:
While any project can start from here, it may be most helpful for new-ish projects just getting started.
Reflect on the big picture of what you want to achieve with your project. Look through the rows labeled Starting Point A to identify project archetypes that are most closely aligned with your goals. Then, consider the other attribute rows – especially those labeled Starting Point B – in the table to identify which of these is the closest fit. With this approach in particular, you may find that the archetype(s) that most closely match your goals are different from the archetype(s) that match your practices or other project characteristics. This is informative! Make a note of both of these, and we’ll make a plan in the next step.
While any project can start from here, this starting point may be especially helpful for projects with some momentum which are ready to think about long-term sustainability.
Two of the defining characteristics of an open source project are who is invited to make decisions, and who is invited to directly contribute to the codebase. Take a look at the rows labeled Starting Point B to identify project archetype(s) that reflect how you work in practice (e.g., while any open source project could technically have a PR sent in from an external contributor, it’s important to consider whether you’re actually likely to invite or incorporate outside work.). Then take a look at the other attribute rows – especially that labeled Starting Point A –in the table to identify which of these is the closest fit. You may find that the archetype(s) that most closely match your goals are different from the archetype(s) that match your practices or other project characteristics. This is informative! Make a note of both of these, and we’ll make a plan in the next step.
Not all open source projects have to be open to contributions! However, it is important to communicate this appropriately and ensure your code is redeployable if someone wants to fork your project (for more, see the Minimum Standards of Care guide).
OSS Needs Assessment from Internews, which is aligned with the “most important practices” guidelines in the archetype table.
Minimum standards of care: Guide to the most foundational open practices that we think all projects should incorporate first, before attending to archetype-specific practices
Mozilla Open Source Archetypes: an earlier set of archetypes, on which this project is built.
[WIP] Discussion guide for workshop facilitators: For existing projects, it can be daunting to try and define or re-evaluate your open source strategy. We created a workshop discussion guide to walk you through key questions to consider in setting your open source goals and making a manageable, stepwise plan toward them.
This framework was developed by members of the Open Source Software Working Group within CZ Science at Chan Zuckerberg Initiative. We put this together in response to internal needs, and chose to share it publicly as a resource for others, too!
Authors:
We are happy to receive feedback and contributions to this framework. You are welcome to interact with us through issues or via email at sci-opensource-wg@chanzuckerberg.com.
If you would like to contribute via a pull request, please fork the repo to create the necessary changes.
This project is licensed under CC BY-SA, per the requirements of the Mozilla Open Source Archetypes’ license.
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. For more information on the Contributor Covenant, please visit their website.
If you believe you have found a security issue, please responsibly disclose by contacting us at security@chanzuckerberg.com.