diff --git a/ospo-book/content/en/04-chapter.md b/ospo-book/content/en/04-chapter.md index 1943b5f6..87ebe8d6 100644 --- a/ospo-book/content/en/04-chapter.md +++ b/ospo-book/content/en/04-chapter.md @@ -1,5 +1,5 @@ --- -title: "A Deep Dive into Day-to-Day Operations" +title: "4 - Day-to-Day Operations" status: Completed weight: 60 --- @@ -12,12 +12,9 @@ weight: 60 # Introduction -Understanding the day-to-day activities of those managing open source operations within an organization is crucial for several reasons. First and foremost, it sheds light on the fundamental tasks that an OSPO must focus on to ensure the organization's -technology strategy and aefforts aligns with open source best practices. This knowledge helps to streamline engineering processes and maintain compliance with open source licenses and security measures. +Understanding the day-to-day activities of those managing open source operations within an organization is important for several reasons. First and foremost, it sheds light on the fundamental tasks that an OSPO must focus on to ensure the organization's technology strategy and efforts align with open source best practices. This knowledge helps to streamline engineering processes and maintain compliance with open source licenses and security measures. -OSPO day-to-day operations encompass a broad spectrum of activities aimed at enhancing open source engagement and compliance within the organization, including providing personalized technical support on licensing and software selection, leveraging automation tools for process efficiency and security, -developing and disseminating educational materials, strategically allocating resources, managing risks through comprehensive assessments of the tech stack, sponsoring and engaging with open source communities and foundations, measuring technical debt in projects, and facilitating coordination -across various organizational divisions to align both technical and non-technical objectives. +OSPO day-to-day operations encompass a broad spectrum of activities aimed at enhancing open source engagement and compliance within the organization, including: - **Personalized Technical Support:** Involves answering questions on all aspects of open source, including license compliance, selecting open source software, and interactions with vendors. It also includes engaging with the @@ -46,45 +43,95 @@ across various organizational divisions to align both technical and non-technica - **Coordinate with Various Parts of the Organization:** Map interactions with teams based on the OSPO flower diagram, distinguishing between technical questions (engineering) and non-technical questions (business, design team). -- **Advise on open source consumpiton** define a set of advices about how the company should select what open source is +- **Advise on open source consumption** define a set of advices about how the company should select what open source is consumed and how the consumption is made. Advices can be purely technical or considerations based on open source project health and practices, like the [Secure Supply Chain Consumption Framework (S2C2F)](https://github.com/ossf/s2c2f/blob/main/specification/Secure_Supply_Chain_Consumption_Framework_(S2C2F).pdf). ## Assessing Daily Operations -This section presents a detailed overview of the operational considerations necessary for managing open source initiatives within organizations. This section is structured to cover several key areas: the core reasons for Open Source Program Offices (OSPOs) to prioritize specific tasks, the tangible benefits these tasks -provide to the organization, the scope of engagement with open source in terms of usage and contribution, and an inventory of tools and services that support these efforts. +### Getting started with OSPO MindMap -| Category | Fundamental Reasons for OSPOs to Focus on This Task | Perceived Value | Using Open Source (Scope) | Contributing to Open Source (Scope) | Tools / Services | -|---------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| **Automation in License Compliance** | Streamline license management to facilitate easier discovery of licenses and minimize the approval processes required from developers when using open source tools. | Automation in license compliance reduces manual oversight, accelerates development workflows, and ensures compliance with open source licenses without burdening developers with lengthy approval processes. | Explore automation tools that assist developers in organizations in scanning and identifying open source licenses they can use, and speed up the compliance process. | Explore automation tools that assist developers in organizations in scanning and identifying open source licenses to projects they would like to contribute as employees, and speed up the compliance process. | License checker for NPM ecosystem: [https://github.com/onebeyond/license-checker](https://github.com/onebeyond/license-checker) | -| **Automation in Security** | Enable tools and best practices for integrating security measures, such as scorecards, into daily operations. | Automation in security practices and vulnerabilities exploration in open source projects allows effective risk management. | Explore automation tools that assist developers to self-assess security risk on specific projects, without burdening them with lengthy approval processes. | Explore automation tools that assist developers to self-assess security risk on projects they would like to contribute as employees, without burdening them with lengthy approval processes. | OSFF Scorecard [https://github.com/marketplace/actions/openssf-scorecard-monitor](https://github.com/marketplace/actions/openssf-scorecard-monitor) | -| **Measuring Performance** | Inform strategic adjustments and operational enhancements. | Measuring performance facilitates transparent assessment of the OSPO's effectiveness. | TBD (ping CHAOSS OSPO metrics WG to give input on this). | N/A | N/A | -| **Strategy and its Impact** | A unified strategy influences daily operations. | Guiding decisions on contributions to open source projects, engagement with community initiatives, and the balancing of organization and community benefits. | Enable decision makers understand the critical importance of supporting open source projects (and its community) and foundations, and the different ways to offer support. | Frameworks that support strategic planning and execution. | N/A | -| **Personalized Support / Q&A Sessions**| Actively involve employees and managers in open source activity engagement. | Increase and improve open source knowledge and expertise across the organization's teams. | Answering questions on everything about open source, including license compliance, selecting open source software, and dealing with vendors. | Answering questions on everything about open source, including license compliance, selecting open source software, and dealing with vendors. | Internal developer portals / Issue tracker systems / Chatbots / webinars / AMA sessions / IRC | -| **Advocacy and Education** | Advocating for the importance of education in open source and creating resources to support it. | Ensure that people are qualified to judge a project (governance models, maturity, etc) and measure the technical debt on an open source project. | Build training and documentation, and assist teams in creating these materials across different teams. | Providing knowledge on how to measure the technical debt on an open source project, including maturity models and governance models, is a form of educational advocacy to help projects improve and sustain. | External open source training and certification courses, customized training courses adapted to the organization's goals. | -| **Community Integration** | Integrate organization's activities effectively with the open source projects and foundations (financial as well as resource support) as well as community dynamics. Map interactions with technical (engineering) versus non-technical teams (business, design team). | Allocate effective financial and resource support to critical open source projects that organization's employees use/engages. | How to get sponsorship, run open source events, and integrate effectively with the open source community and its foundations. | How to get sponsorship, run open source events, and integrate effectively with the open source community and its foundations. | N/A | -| **Business Assessment on Risk Management** | Assess risks that the organization is facing, including an overview of the tech stack. | Assistance in evaluating which open source projects to use and how to prioritize resources effectively. | E.g., business assessment to determine whether optimizing SBOMs or focusing on other areas is more beneficial (dealing with vendor-supplied software, legacy software, proprietary software). | E.g., business assessment to determine whether optimizing SBOMs or focusing on other areas is more beneficial (dealing with vendor-supplied software, legacy software, proprietary software). | N/A | +To get an overview of the potential activities an OSPO can handle, we recommend first examining the OSPO Mind Map. The OSPO Mind Map outlines the main responsibilities, roles, behaviors, and team sizes within the ecosystem of an Open Source Program Office. +### OSPO MindMap Limitations -## Recommendations (TBD) +The contributors to this book have identified challenges in implementing the mind map, particularly in filtering responsibilities based on the organization's level of open source engagement. Because of this, the aim of this chapter is to provide an in-depth classification of these activities, grouped by levels of open source engagement. This book uses Ibrahim H.'s open source activity engagement model—previously seen in Chapter 2—as it is less complex and not focused on corporate structures. -### The OSPO should have secured resources for strategic contributions +| Consumer / User Stage | +| --- | -- Scope: If the company has strategic targets related to open source, its OSPO should be capable to control resources to - drive the execution of the strategy. +| Activities | Value for OSPO | Value for Org | +| -------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| Define open source compliance rules and practices | Facilitate the definition of the organization's open source compliance rules and practices between the legal and business stakeholders. | Each company has different aspects of open source compliance, interpretations of licenses and different risk appetite (e.g dealing with regulations). Having well-defined compliance rules and practices is the first step toward deterministic open source compliance | +| Rules, and policies on using open source (criteria for using open source software, open source health) | A consensus built in the company related to the hygiene related to consumed open source components. The organization has clear policies to follow. | Consumed open source projects are healthy, fixing security vulnerabilities, implementing new features and release regularly. | +| Rules, and policies on contributing open source (criteria on how to engage in the community, how to transfer rights, CLAs) | The organization has clear policies to follow. | Policies and practices ensure that there are no contributions risking company value. | +| ISO/IEC 5230 (OpenChain) Compliance | | Clear rules how to deal with open source software following an industry accepted standard | +| Inventory of used open source software | | Base for overall risk management. Important tool to be able to deal with concrete issues of specific projects (security problems, license changes, lifecycle issues, etc.) | +| Training on open source awareness | | Create essential competence in organization to deal with open source software. Awareness for fundamentals of open source licensing, etc. | +| Introduce tools for license compliance | | Automation is essential to be able to address risks with a reasonable amount of effort. Appropriate tools help with that. | +| Clarify how to support open source software | | For using open source software in production scenarios, appropriate support is necessary. For open source there are several options, buying it from a vendor or a service provider, doing the support yourself with the help of the community (being responsible here what to expect from a community), or also going with the risk of not having support for scenarios where the risk of not having support is low. | -- Recommendation: To ensure the continuity of contributions needed for the strategy execution the OSPO should either: - - Have a set of dedicated open source developers - - Have a budget for company internal development resources asigned to startegic OSPO tasks - - Have a budget to hire external developers to work on the startegic OSPO tasks +| Participant Stage | +| --- | -### Scenario #12 -- Scope: +| Activities | Value for OSPO | Value for Org | +| ---------------------------------------------- | -------------- | ----------------------------------------------------------------------------------------------------------------- | +| Financially supporting open source communities | | Contribute to stability of ecosystem, the organization relies on | +| Memberships in open source organizations | | Engaging in the communities the organization relies on. Supporting the ecosystem. | +| Trying InnerSource | | Practicing open source methodologies in the protected space of the organization. Introducing open source culture. | + +| Contributor Stage | +| --- | + +| Activities | Value for OSPO | Value for Org | +| -------------------------------------- | -------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| Create contribution policy and process | | Having clear procedures how the organization can do open source contributions in a legally safe way, for open source projects, the organization, and its employees | +| Qualification of contributors | | Making sure that contributors have the knowledge and skills they need to act on behalf of the company in the public space of an open source project. | + +| Leadership Stage | +| --- | + +| Activities | Value for OSPO | Value for Org | +| --------------------------------------------------------------------------- | -------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| Open sourcing previously proprietary projects | | Get the benefits of strategic involvement in and with open source | +| Establish an “upstream first” policy | | Lead open source projects and make them part of the primary value creation of the organization | +| Supporting autonomy of contributors and maintainers of open source projects | | Having people being dedicated to only open source work, the organization can strategically strengthen important open source projects in the most organic and effective way. | + +## Recommendations + +### Scenario #11 + +Social Engineering Attack on Upstream xz/liblzma: A social engineering attack targeted the xz/liblzma, an essential open source library. The attack was meticulously planned, gaining trust within the community before executing a malicious attack. This incident was discovered inadvertently by an unrelated project, underscoring the sophistication and stealthiness of such vulnerabilities. See ([more details](https://research.swtch.com/xz-timeline)). The challenge for Open Source Program Offices (OSPOs) lies in identifying and mitigating these vulnerabilities, which are not always apparent until after they occur. Despite existing procedures and policies, OSPOs recognize the need for mechanisms to proactively measure and respond to such threats. + +> Recommendation +> +> 1. SBOMs Compliance Ready: Ensure that all software components are documented through Software Bill of Materials (SBOMs). This documentation helps in quickly identifying potentially compromised components once a vulnerability is disclosed. +> +> 2. Automation Security Checks: Implement automated security checks, such as the OpenSSF Security Scorecard, to continuously evaluate the security posture of projects. This proactive measure can highlight vulnerabilities or anomalies that merit further investigation. +> +> 3. Having a Computer Emergency Response Team (CERT) within the organization and having the OSPO collaborate closely with them. This specialized team should be equipped with the tools and authority to respond swiftly to security incidents. Pre-existing relationships within the team facilitate rapid internal communication about the > > severity of incidents. +> +> 4. Scorecard Management: Keep security and vulnerability scorecards up to date. These scorecards should reflect the latest security checks and assessments, helping in quick decision-making during a crisis. +> +> 5. Automated Feedback Loops: Develop well-automated feedback loops for bug reporting and fixing. Knowing who is responsible for addressing a particular bug and ensuring that this process is as automated as possible can significantly reduce response times. + +### Scenario #12 -- Recommendation: +OSPOs face the challenge of navigating license changes and assessing software trustworthiness. As projects like Redis have shown, altering license terms can have significant implications for use, distribution, and contribution. These changes needs clear communication and understanding of the roles and responsibilities dictated by new license terms. Furthermore, OSPOs are tasked with evaluating the trustworthiness of software, which can vary based on whether a project is maintained by a single vendor or hosted under a foundation. For instance, The Almalinux Foundation presents a case where donating a project to a foundation mitigated risks associated with single-vendor governance, thereby enhancing trust in the project. + +> Recommendation +> +> 1. Educational Initiatives on License Implications: Develop educational materials and sessions for developers and users within the organization to understand the nuances of different licenses. This understanding will help them make informed decisions when using or contributing to open-source projects. +> +> 2. Explicit License Terms: Work with legal teams to ensure that license terms are as explicit and unambiguous as possible. Clear terms help in avoiding misunderstandings and potential legal conflicts. +> +> 3. Software Trust Rating System: Implement a system to evaluate and rate the trustworthiness of software, considering factors like governance structure, maintenance practices, and community engagement. Projects hosted under reputable foundations could be rated higher for trustworthiness due to the oversight and governance provided. +> +> 4. Encourage Foundation Hosted Projects: Advocate for donating projects to foundations to mitigate risks associated with single-vendor control. Highlight successful cases like Almalinux to illustrate the benefits of this approach, such as increased trust and community support. +> +> 5. Stakeholder Engagement in License Decisions: Engage a broad range of stakeholders, including developers, legal advisors, and end-users, in discussions about license changes or the adoption of new projects. Their insights can help in making balanced decisions that align with the organization's values and risk tolerance ## Resources (TBD)