This is the multi-page printable view of this section. Click here to print.
Guide
- 1: [2025] Enterprise Open Source Management Guide Based on ISO Standards
- 1.1: 0. Understanding OpenChain
- 1.2: 1. Organization
- 1.3: 2. Policy
- 1.4: 3. Process
- 1.5: 4. Tools
- 1.6: 5. Training
- 1.7: 6. Conformance Declaration
- 2: A Guide to Building Enterprise Open Source Governance Based on the International Standard ISO/IEC 5230
- 2.1: 1. Understanding ISO/IEC 5230
- 2.2: 2. Essential Elements
- 2.3: 3. Organization (Personnel)
- 2.4: 4. Policy
- 2.5: 5. Process
- 2.6: 6. Tools
- 2.7: 7. Training/Assessment
- 2.8: 8. Declaration of Conformance
- 2.9: Appendix
- 3: Open Source Security Assurance: A Guide to Enterprise Adoption and Certification of ISO/IEC 18974
- 3.1: 1. Why Does Open Source Security Matter?
- 3.2: 2. Key Requirements of ISO/IEC 18974
- 3.3: 3. How to Implement ISO/IEC 18974
- 3.3.1: 3.1 Program Foundation
- 3.3.2: 3.2 Relevant Tasks Defined and Supported
- 3.3.3: 3.3 Open Source Software Content Review and Approval
- 3.3.4: 3.4 Adherence to the specification requirements
- 3.4: 4. Comparison and Integration with ISO/IEC 5230
- 3.5: 5. Implementation Considerations by Organizational Characteristics
- 3.6: 6. ISO/IEC 18974 Self-Certification Process
- 3.7: 7. Case Studies and Success Strategies
- 3.8: 8. Conclusion and Future Outlook
- 4: Enterprise Open Source Compliance Guide Using OpenChain
- 5: Open Source Audits in Merger and Acquisition (M&A) Transactions
- 5.1: Chapter 1. Introduction
- 5.2: Chapter 2. Common Open Source Usage Scenarios
- 5.3: Chapter 3. Open Source Audits
- 5.4: Chapter 4. Estimating Audit Scope
- 5.5: Chapter 5. Audit Methods
- 5.6: Chapter 6. Notes on the Final Report
- 5.7: Chapter 7. Security and Version Control
- 5.8: Chapter 8. Pre- and Post-Acquisition Remediation
- 5.9: Chapter 9. Preparing for an Audit as a Target Company
- 5.10: Chapter 10. Preparing for an Audit as the Acquirer
- 5.11: Chapter 11. Recommended Compliance-Related Development Practices
- 5.12: Chapter 12. Conclusion
- 6: A Practical Guide to SBOM (Software Bill of Materials)
- 6.1: SBOM Overview
- 6.2: Standards and Formats
- 6.2.1: Minimum Elements of an SBOM
- 6.2.2: Identifiers and Licenses
- 6.3: Regulatory Trends
- 6.4: Adoption Roadmap
- 6.5: Tools and Automation
- 6.6: Vulnerability Management and VEX
- 6.7: Sharing and Governance
- 6.8: Recommendations and Checklist
- 7: AI SBOM Compliance Guide
- 7.1: Program Foundation
- 7.1.1: 3.1 Policy
- 7.1.2: 3.2 Competence
- 7.1.3: 3.3 Awareness
- 7.1.4: 3.4 Program Scope
- 7.2: AI Extension Process
- 7.2.1: 3.5 License Obligations
- 7.2.2: 3.6 Transparency Obligations
- 7.2.3: 3.9 AI SBOM
- 7.3: Operations
- 7.3.1: 3.7 Access
- 7.3.2: 3.8 Effectively Resourced
- 7.4: Governance
- 7.4.1: 3.10 Governance
- 7.5: Tools
- 7.5.1: OWASP AIBOM Generator
- 7.5.2: cdxgen
- 7.5.3: Model and Container Scanners (Lab700x, Trivy, Syft)
- 8: Templates
- 8.1: Open Source Policy
- 8.1.1: Appendix
- 8.2: Open Source Process
- 9: Tools
- 9.1: FOSSology
- 9.2: SW360
- 9.3: FOSSLight
- 9.4: OSV-SCALIBR
1 - [2025] Enterprise Open Source Management Guide Based on ISO Standards
Open source is an essential element of modern software development. However, using open source without proper management can expose an enterprise to serious risks, including license compliance violations and security vulnerability exposure.
This guide presents the core requirements and specific implementation methods that enterprises must follow to effectively manage open source, based on ISO international standards.
Author: Haksung Jang (haksung@sktelecom.com) / CC BY 4.0
Recent Updates (January 6, 2025):
- Added content related to ISO/IEC 18974 (OpenChain Security Assurance Specification)
- Detailed the open source security assurance process and requirements
- Strengthened content on SBOM (Software Bill of Materials) management
- Improved the open source contribution and release process
- Added measures for measuring program effectiveness and continuous improvement
International Standards for Open Source Management
There are two ISO international standards for open source management:
- ISO/IEC 5230: OpenChain Specification - the international standard for open source compliance
- ISO/IEC 18974: OpenChain Security Assurance Specification - the international standard for open source security
OpenChain and ISO/IEC 5230
ISO/IEC 5230 is the sole international standard for open source compliance, defining the core requirements enterprises must meet to build an effective open source program. For details, see the Understanding OpenChain page.
Enterprise Open Source Management Approach
By complying with the requirements of ISO/IEC 5230 and ISO/IEC 18974, an enterprise can build an effective open source management system. To do so, an enterprise must have the following six core elements:
- Organization: Establish a dedicated organization for open source management
- Policy: Establish and document a clear open source policy
- Process: Build systematic processes for open source use, contribution, and distribution
- Tools: Adopt automated tools for open source scanning, tracking, and management
- Training: Conduct training for employees to raise open source awareness and build competency
- Conformance: Maintain standard conformance through continuous monitoring and improvement
This guide provides detailed methods and examples for how enterprises can concretely implement each element.
References
This guide was written with reference to the following authoritative sources:
1.1 - 0. Understanding OpenChain
1. What Is the OpenChain Project?
Today, software continues to grow in scale and complexity. Developing a single piece of software can involve not only software built in-house but also a variety of software spanning the software supply chain, including open source, third-party software, and vendor SDKs.
If even a single organization within this complex software supply chain fails to comply with open source license obligations or fails to provide accurate information about its open source use, the enterprise distributing the final software has no choice but to fail at meeting its own open source license obligations. This can result in lawsuits and even the suspension of product sales.

In December 2009, a lawsuit arose involving the open source project Busybox. Busybox is open source licensed under GPL-2.0 that is widely used in embedded systems, and 14 companies, including two South Korean companies, became subject to the lawsuit. A notable point in this case is that among the defendants were companies that were sued despite not developing the product themselves but only distributing it.
In such a complex software supply chain environment, it is very difficult for any single enterprise, no matter how excellent its processes are, to achieve perfect open source compliance on its own. Ultimately, for an enterprise to properly implement open source compliance, every member of the software supply chain must comply with license obligations and provide accurate open source information. This kind of trust must be built across the entire supply chain.
The OpenChain project, part of the Linux Foundation, was founded on the belief that concisely and consistently defining the core requirements enterprises must meet for open source compliance, and having everyone comply with them, can build trust in open source licensing across the entire software supply chain.

At an open source conference in Europe in 2016, Dave Marr, an open source attorney at Qualcomm, emphasized exactly this point. To raise one enterprise’s level of open source compliance, the compliance level of every member across the software supply chain must be raised. He further suggested that, to achieve this, leading enterprises that already have a solid understanding of open source and have established policies and processes should openly share their assets and know-how so that anyone could reference them. Conference attendees agreed with the idea that “open source compliance is not an area where enterprises can differentiate their profits. Enterprises want an appropriate level of risk management while investing minimal resources. That is why the more enterprises share their assets with one another, the more everyone can achieve compliance together with fewer resources.” This is how the OpenChain project (then called a Work Group) began, with numerous global enterprises participating, including Qualcomm, Siemens, Wind River, ARM, and Adobe.
The OpenChain project provides three main things to help enterprises more easily achieve open source compliance.
Let’s look at how enterprises can make use of each of these, one by one.
2. The OpenChain Specification and ISO/IEC Standards
The OpenChain Specification is a 10-page document that defines the core requirements for open source compliance. Version 1.0 of the OpenChain Specification was published in 2016. The OpenChain Specification is designed to be suitable for any enterprise, regardless of size or industry.
In 2020, version 2.1 of the specification was released, defining the six core requirements that enterprises must fulfill to achieve open source compliance, along with the list of materials needed to demonstrate them.
- Program Establishment
- Defining and Supporting Related Tasks
- Reviewing and Approving Open Source Content
- Creating and Delivering Compliance Artifacts
- Understanding Open Source Community Engagement
- Conformance to Specification Requirements
For an enterprise just starting out with open source compliance, a good strategy is to raise its maturity level by fulfilling these OpenChain Specification requirements one by one.

In December 2020, this OpenChain Specification was formally registered as ISO/IEC 5230:2020, the international standard for open source compliance.

The OpenChain Specification, which had served as a de facto standard for the previous four years, was converted into the formal international standard ISO/IEC 5230:2020 — the first international standard to define open source compliance and process management. As a result, interest among global IT enterprises in complying with ISO/IEC 5230 is rising, and more enterprises are expected to require ISO/IEC 5230 compliance from their suppliers across the software supply chain.
In 2023, ISO/IEC 18974, a new standard for open source security assurance, was published. This standard is based on the OpenChain Security Assurance Specification and defines the core requirements for managing known security vulnerabilities in open source software. ISO/IEC 18974 covers the following key areas:
- Identifying the core areas requiring security processes
- How to assign roles and responsibilities
- How to ensure the sustainability of the process
Like ISO/IEC 5230, ISO/IEC 18974 is concise and easy to understand, and it is backed by the global community, providing free reference materials and conformance resources.
Together, these two standards support organizations in effectively managing both license compliance and security assurance for open source software. Where ISO/IEC 5230 focuses on license compliance, ISO/IEC 18974 focuses on vulnerability management, making the two mutually complementary.
3. How to Certify to the ISO/IEC Standards
If an enterprise complies with all the requirements of both ISO/IEC 5230 and ISO/IEC 18974, it can be certified as having an open source program conforming to these standards. An open source program refers to the set of management systems — including policies, processes, and personnel — that an enterprise uses to carry out its open source compliance and security assurance activities.
The image below lists the item numbers required by ISO/IEC 5230. An enterprise that fulfills all these items can be recognized as having built a transparent and trustworthy open source governance system within the software supply chain.

The OpenChain project proposes three certification methods:
- Self-Certification
- Independent Assessment
- Third-Party Certification

Let’s look at each method.
(1) Self-Certification
Self-certification is the method most recommended by the OpenChain project and has the advantage of incurring no cost. The OpenChain Project provides an ISO/IEC 5230 self-certification website so that enterprises can verify on their own whether they comply with the OpenChain Specification. An enterprise’s open source manager can sign up on this website and begin the online self-certification process. Self-certification proceeds by answering Yes/No questions, as shown below.

If an enterprise has built its open source compliance system well enough to answer Yes to every question in the OpenChain self-certification, it can submit the result on the website (Conforming Submission). After a brief question-and-answer verification process with the Linux Foundation, it can then declare ISO/IEC 5230 certification.

By making this certification declaration, an enterprise is recognized within the global software supply chain as having an open source program that conforms to ISO/IEC 5230.

The OpenChain project recommends the self-certification method. For reference, most enterprises that have declared OpenChain conformance have also adopted self-certification.
In addition, going through the self-certification process lets an enterprise determine what is lacking and what additional activities are needed. This guide explains, by major component — organization, policy, process, and so on — how to meet the requirements of ISO/IEC 5230 and ISO/IEC 18974.
For an enterprise that lacks the capability to make improvements on its own using only this guide, the independent assessment method can be considered.
(2) Independent Assessment
In an independent assessment, an independent organization outside the enterprise inspects and evaluates the enterprise’s open source compliance and security assurance status from an impartial standpoint. What distinguishes independent assessment is that it does not stop at producing an assessment report, but also provides consulting to address the gaps identified. (It does not, however, issue an official certificate.)
By receiving impartial assessment and consulting from an independent organization, an enterprise can raise its compliance and security assurance level, and through the iterative process of undergoing independent assessment again, refine its policies and build out its processes.

Eventually, the enterprise reaches a level where it can obtain ISO/IEC 5230 and ISO/IEC 18974 certification, at which point it can move into the process of obtaining self-certification or third-party certification. In this way, independent assessment provides evaluation and consulting to raise an enterprise’s open source compliance and security assurance level, supporting the enterprise in holding a conformant ISO/IEC 5230 and ISO/IEC 18974 program and obtaining certification.
Companies that provide independent assessment include AlektoMetis and Source Code Control, among others.
In South Korea, the Conformance Group, a subgroup of the OpenChain Korea Work Group, is a community where enterprises discuss and share methods for achieving ISO/IEC 5230 and ISO/IEC 18974 conformance on their own. Anyone who is a member of the OpenChain Korea Work Group can participate and get help.
(3) Third-Party Certification
An enterprise wishing to demonstrate a more reliable and transparent level of open source compliance and security assurance to buyers in the software supply chain can obtain a certificate from a third-party certification body and use it for promotional purposes. In addition, some buyers who demand stronger assurance of open source compliance and security may come to require third-party certification from their suppliers.
As of 2024, OpenChain’s authorized third-party certification bodies are ORCRO, PWC, TÜV SÜD, Synopsys, and Bureau Veritas.

These bodies provide assessments to verify conformant ISO/IEC 5230 and ISO/IEC 18974 programs and issue certificates to enterprises that pass.

As of 2024, buyers or organizations that mandatorily require third-party certification are not yet common. However, some experts in the European automotive industry predict that it will not be long before ISO/IEC 5230 and ISO/IEC 18974 become mandatory for automotive software suppliers, much like ASPICE (Automotive SPICE, an international standard process model for automotive software development).
In addition, detailed self-certification methods can be found in the following slides:
4. OpenChain Resources
The OpenChain project provides a variety of documentation resources that enterprises need to build a compliance program, including policy document templates and training materials. These materials are designed to support conformance with the OpenChain Specification and general open source compliance activities, and are provided under the CC-0 license so that anyone can use them freely.

Much of this guide was also written based on materials published by OpenChain. If an enterprise’s open source manager needs policies, processes, or training materials, they should look to the OpenChain Resources first. These materials are also translated into Korean and published. The OpenChain Korea Work Group leads this translation effort. Anyone interested can participate in the Korean translation.
The OpenChain project also provides additional resources by running various webinars and study groups:
Webinars: The OpenChain project regularly hosts webinars to share the latest trends and best practices in open source compliance and security. These webinars can be found on the OpenChain website, where recordings are also available.
Training Materials: The OpenChain project provides a comprehensive training curriculum to help enterprises develop internal training programs. This material covers a range of topics, from the basic concepts of open source software to license compliance and security assurance.
By making use of these various resources, an enterprise can build and maintain a strong open source program that conforms to the ISO/IEC 5230 and ISO/IEC 18974 standards.
5. Trends in ISO/IEC Standard Adoption
Adoption of the ISO/IEC 5230 and ISO/IEC 18974 standards is showing a gradually expanding trend across the global software supply chain.
In early 2021, news emerged that a German automaker had begun requiring its parts suppliers to have an ISO/IEC 5230 compliance plan. In response, a European open source professor predicted that “it is clear that buyers in the software supply chain will increasingly require suppliers to comply with ISO/IEC 5230,” adding that “in the automotive industry, it will come to occupy the same position as ASPICE.”
Reflecting this outlook, in May 2021, Scania, part of the Volkswagen Group, incorporated a requirement for ISO/IEC 5230 compliance into its own corporate standard (STD 4589) that suppliers must follow.

Also, in July 2021, Bosch, an automotive and industrial technology company, declared that all of its group companies would have an ISO/IEC 5230-compliant program by the end of the year. The industry outlook is that it is only a matter of time before every automaker, and other industries as well, begin requiring ISO/IEC 5230 within their software supply chains.

In 2023, ISO/IEC 18974, a new standard for open source security assurance, was published. This standard defines the core requirements for managing known security vulnerabilities in open source software. Together with ISO/IEC 5230, ISO/IEC 18974 supports organizations in effectively managing both license compliance and security assurance for open source software.
As of 2024, this trend is accelerating further. For example, KT announced in October 2024 that it had obtained ISO/IEC 18974 certification. This shows that South Korean enterprises, too, are actively adopting international standards for open source security management.
The activities of the OpenChain Korea Work Group are also becoming more active. At its 22nd regular meeting held in June 2024, discussions covered the state of readiness for the ISO/IEC 18974 open source security standard and SBOM-based software supply chain management guidelines. This shows that South Korean enterprises are actively embracing the ISO/IEC 5230 and ISO/IEC 18974 standards.
This trend is expected to continue. As the complexity of the software supply chain increases and security threats grow, the importance of international standards such as ISO/IEC 5230 and ISO/IEC 18974 is likely to grow further. By complying with these standards, enterprises will be able to increase transparency in their open source use and effectively manage security risk.
1.2 - 1. Organization
First, an enterprise must establish an organization responsible for open source management.
The following should be considered when forming the organization:
- Roles and responsibilities of the organization
- Competencies required for each role
- The organization/person responsible for each role
1. Defining the Roles and Responsibilities of the Organization
The ISO standards commonly require a document that describes the roles and responsibilities of the various participants in the program, as follows.
- 3.1.2.1 - A documented list of roles with corresponding responsibilities for the different participants in the program.
A document listing the roles of the various participants in the program and the responsibilities of each role
- 3.1.2.1: A documented list of roles with corresponding responsibilities for the different Program Participants
A document listing the responsibilities of each of the various program participants
Open Source Program Manager
To build an open source management system, an enterprise first needs someone responsible for leading and carrying it out. This person is called by titles such as Open Source Program Manager or Open Source Compliance Officer; this guide uses the term Open Source Program Manager.
The Open Source Program Manager is in charge of the enterprise’s Open Source Program Office (OSPO). Open Source Program Office refers to the organization responsible for an enterprise’s open source management, and is also referred to by the term Open Source Secretariat.
A person with the following competencies can be considered well-suited for the role of Open Source Program Manager.
- Understanding of the open source ecosystem and development experience
- Broad understanding of the enterprise’s business
- Passion and communication skills to spread effective open source use among employees
It is best for the Open Source Program Manager to be guaranteed the ability to perform the role full-time whenever possible.
Global ICT enterprises are making efforts to hire capable Open Source Program Managers of this kind. Various job postings can be found at the following site: https://github.com/todogroup/job-descriptions
Documenting Roles and Responsibilities
An enterprise must define each role needed for the OSPO and determine what responsibilities to assign to it.
In a small enterprise, it is possible for the Open Source Program Manager alone to perform all the roles. Depending on the size of the enterprise, an IT staff member to operate open source tools may also be needed, and a legal role may be required to provide specialized legal counsel.
In general, the following roles are needed to build an enterprise’s open source management system.
- Legal
- IT
- Security
- Developer Relations

To this end, the roles and responsibilities that make up the OSPO must be documented as follows.
| No | Role | Responsibility |
|---|---|---|
| 1 | Open Source Program Manager | Holds overall responsibility for the company’s open source program. |
| 2 | Legal | Interprets open source licenses and obligations. Provides advice to mitigate legal risks that may arise from open source use, including fulfilling these obligations in practice. |
| 3 | IT | Operates and automates open source scanning tools, building a system so that open source analysis is performed smoothly for all software to be distributed. |
| 4 | Security | Operates open source vulnerability scanning tools, builds a system so that vulnerability analysis is performed for all software to be distributed, and takes action to ensure that identified vulnerabilities are remediated according to defined criteria. |
| 5 | Developer Relations | Supports in-house developers in actively using open source and participating in internal and external communities to adopt advanced development practices. |
| 6 | Business Unit | Software development/distribution organizations comply with open source policy and process to ensure proper open source use. |
2. Defining Required Competencies
Once each role and its responsibilities have been defined, the essential competencies that the person performing that role must have need to be identified.
The ISO standards commonly require a document that describes the competencies needed for each role, as follows.
- 3.1.2.2 - A document that identifies the competencies for each role.
A document that describes the competencies needed for each role
- 3.1.2.2: A document that identifies the competencies for each role.
A document that describes the competencies needed for each role
This is because it is necessary to assess whether the person assigned to each role has the competencies to perform it, and to provide training if needed.
To this end, an enterprise must document the competencies needed for each role, as follows.
| No | Role | Required Competencies |
|---|---|---|
| 1 | Open Source Program Manager | 1. Understanding of the software development process 2. Understanding of intellectual property related to open source licenses, including copyright and patents 3. Expert knowledge of open source compliance 4. Open source development experience 5. Communication skills 6. Basic knowledge of open source security assurance |
| 2 | Legal | 1. Basic knowledge of the open source ecosystem 2. Expert knowledge of software copyright 3. Expert knowledge of open source licenses 4. Ability to assess open-source-related legal risk |
| 3 | IT | 1. Basic knowledge of the open source compliance process 2. Understanding of open source scanning tools 3. Expert knowledge of IT infrastructure 4. Understanding of automation and CI/CD pipelines |
| 4 | Security | 1. Broad understanding of DevSecOps 2. Understanding of open source vulnerability scanning tools 3. Expert knowledge of open source vulnerabilities 4. Communication skills 5. Risk assessment and management ability |
| 5 | Developer Relations | 1. Understanding of the software development process 2. Basic knowledge of open source compliance 3. Understanding of open source policy 4. Ability to design education and training 5. Experience participating in open source communities |
| 6 | Business Unit | 1. Understanding of the software development process 2. Basic knowledge of open source compliance 3. Understanding of open source policy 4. Basic knowledge of open source licenses 5. Understanding of the business impact of open source use |
3. Assigning Owners
The Open Source Program Manager consults with the relevant departments to assign an owner for each role and document this. To do so, the goals and direction for building the open source compliance system must be reported to the top decision-maker, such as the CEO, in order to obtain the necessary support.
The organization and owners related to open source do not necessarily need to work on open source full-time. It is also possible to form a virtual organization in the form of an OSRB (Open Source Review Board) to carry out the necessary roles.
The ISO standards commonly require a document naming the persons, groups, or functions responsible for each role in the program, as follows.
- 3.2.2.1 - Document with name of persons, group or function in program role(s) identified.
A document naming the persons, group, or function responsible for each role in the program
- 3.1.2.3: List of participants and their roles
A list of participants and their roles - 3.2.2.1: Document with name of persons, group or function in Program role(s) identified
A document naming the persons, group, or function responsible for each role in the program
To this end, an enterprise must document the names of the persons, groups, or functions responsible for each role in the program, as follows.
| No | Role | Responsible Organization | Owner |
|---|---|---|---|
| 1 | Open Source Program Manager | CTO | OOO |
| 2 | Legal | Legal Team | OOO |
| 3 | IT | IT Infrastructure Team | OOO |
| 4 | Security | Security Team | OOO |
| 5 | Developer Relations | DR | OOO |
| 6 | Business Unit | Development Team | All members |
A documented sample of roles, responsibilities, required competencies, and owner assignments can be found on the next page. [Appendix 1] Open Source Policy (Sample) - Appendix 1. Assigned Owners
SK telecom has formed an OSRB to create open source policies and processes within the company, and collaborates to prepare response plans when issues arise.

4. Summary
A documented sample of roles, responsibilities, required competencies, and owner assignments can be found in the open source policy template document: Appendix 1. Assigned Owners
An enterprise can refer to this to organize its open source management structure to fit its own situation.
By designating and documenting the OSPO organization in this way, an enterprise satisfies the requirements marked in red below among the ISO standard specifications.
In fact, more important than the documentation itself is appointing an owner who will faithfully carry out the actual work, and supporting that owner in acquiring the necessary competencies.
Taking part in systematic training, such as the Open Source License Professional Training offered by the Korea Copyright Commission or the NIPA Open Software Management Academy, is also very helpful.
The roles of the Open Source Program Manager and the Security role are becoming increasingly important. The Open Source Program Manager must also have a basic understanding of open source security assurance, and the Security role needs an understanding of new security requirements such as SBOM (Software Bill of Materials) management.
In addition, continuous learning and staying current with the latest trends are becoming important across every role. The open source ecosystem and related technologies and regulations are changing rapidly, so each owner must continuously update their knowledge in their own field. Participating in international communities such as OpenChain or the TODO Group, or attending domestic open source conferences, is also a good approach.
1.3 - 2. Policy
1. Documenting an Open Source Policy
An enterprise must establish and document an open source policy consisting of principles that let the organizations involved in developing, servicing, and delivering supplied software use open source correctly, and must propagate this policy throughout the organization.
To this end, the ISO standards commonly require a documented open source policy and security assurance policy as follows.
- 3.1.1.1 - A documented open source policy.
A documented open source policy
- 3.1.1.1: A documented Open Source Software Security Assurance policy
A documented Open Source Software Security Assurance policy
A typical open source policy includes the following. An enterprise must create and document an open source policy that includes these principles:
- Principles for minimizing open source license compliance and security vulnerability risk when delivering supplied software products and services
- Principles for contributing to external open source projects
- Principles for releasing the enterprise’s own software as open source
- Principles for generating and managing the Software Bill of Materials (SBOM) of open source software components
- Principles for responding to known vulnerabilities and newly discovered vulnerabilities
The open source policy must also be propagated to program participants and reviewed and updated regularly. This ensures the policy always stays current and reflects the organization’s requirements.
2. What the Open Source Policy Must Cover
An open source policy must include the following core content:
(1) Open Source License Compliance Principles
To achieve open source license compliance, the following principles must be established:
- Identify and document all open source included in supplied software
- Determine and comply with the license obligations of each open source
- Produce compliance artifacts that satisfy license obligations
- Fulfill license obligations such as open source notices and source code disclosure
(2) Open Source Security Assurance Principles
To achieve open source security assurance, the following principles must be established:
- Monitor known vulnerabilities and newly discovered vulnerabilities in the open source components of supplied software
- Perform a risk/impact assessment when a vulnerability is found
- Respond promptly and apply patches for severe vulnerabilities
- Notify customers of vulnerability information and provide updates
(3) Responding to Open Source Risk
To minimize the license and security risks that come with using open source, the following procedures must be established:
- Identify open source and review its license obligations
- Design the architecture with open source licenses in mind
- Produce open source compliance artifacts
- Generate and manage the Software Bill of Materials (SBOM)
- Respond to open source license compliance issues
- Respond to open source security vulnerabilities
You can see how these principles are documented in 6. Use of Open Source of [Appendix 1] the open source policy template.
1. Use of Open Source
When developing and delivering supplied software, the obligations required by each open source license must be observed. The activities carried out for this purpose are called open source license compliance.
For proper open source license compliance activities and security assurance, the software development/delivery organization must comply with the following and record and retain the entire process in an issue tracking system.
(1) Identify open source and review license obligations
When introducing open source into supplied software development, first identify what the open source license is, and review and confirm the obligations the license requires.
The company's [Open Source License Guide] includes a list of major open source licenses, and for each license, it explains the obligations required by each of the following distribution forms.
- Binary form
- Source form
- Strong/weak Copyleft
- SaaS-based delivery
- Whether modified
- Inclusion of open source requiring attribution, etc.
Software development/delivery organizations can refer to this guide when reviewing open source license obligations. If a review of an open source license not covered by this guide is needed, contact the open source program manager.
(2) Design with open source licenses in mind
Identify the coupling relationships of open source and design the software architecture so that the company's own code is not affected by open source licenses.
The company's [Open Source License Guide] explains the source code disclosure scope for each open source license and design methods for preventing disclosure of the company's own code.
(3) Produce open source compliance artifacts
The most basic element of open source license compliance activity is understanding the state of open source included in supplied software. This is precisely to properly satisfy the open source license requirements that are the core of open source license compliance. In other words, a set of compliance artifacts must be produced for the open source included in supplied software.
Open source compliance artifacts fall into two broad categories.
1. Open source notice: a document providing the full text of open source licenses and copyright information
2. Source code package to be disclosed: a package that gathers the source code to be disclosed to fulfill the obligations of open source licenses such as GPL and LGPL that require source code disclosure
To compile, distribute, and archive these compliance artifacts, the following must be observed.
- Compile the open source notice or the source code package to be disclosed according to the conditions required by each license. For example, if a license requires that the full text of the license be enclosed, providing only a link is not sufficient.
- Store the compiled artifacts in a separate repository.
- If the source code to be disclosed is provided via a written offer, publish a download link so that the repository of compiled artifacts can be accessed externally.
The company's open source process can be used to issue the open source notice and compile the source code package to be disclosed.
(4) Generate the Software Bill of Materials (SBOM)
There must be a process to generate and maintain an SBOM (Software Bill of Materials) that includes the details of each open source software component making up the supplied software.
The company's open source process can use open source tools to generate and retain the SBOM.
(5) Compliance issue response procedure
When a compliance issue is raised, the open source program manager performs the following procedure to respond promptly.
1. Acknowledge receipt of the inquiry and specify a reasonable resolution time.
2. Confirm whether the issue content actually points to a real problem. (If not, inform the person who raised the issue that it is not a problem.)
3. If it is a real problem, set a priority and decide on an appropriate response plan.
4. Carry out the response and, if necessary, appropriately supplement the open source process.
5. Preserve the above using the issue tracking system.
(6) Open source security assurance management
A documented procedure for detecting and resolving known vulnerabilities in the open source software components of supplied software must be established and maintained. This procedure must include the following.
- Apply methods for discovering the existence of known vulnerabilities
- Perform a risk/impact assessment for each discovered vulnerability
- Take appropriate action such as contacting customers or upgrading software components when necessary
The following processes must also be built.
- Identify structural and technical threats to supplied software
- Apply continuous and repeated security testing
- Confirm that identified risks have been resolved before the release of supplied software
- Secure monitoring and response capability after supplied software is released to the market
A record must be kept of the known vulnerabilities and newly discovered vulnerabilities identified for each open source software component, and of the actions taken.
(4) Internal Responsibility Assignment Procedure
The open source policy must address a procedure for internally assigning responsibility to resolve open source management issues.
The ISO standards commonly require a documented procedure for assigning internal responsibility as follows.
- 3.2.2.4 - A documented procedure that assigns internal responsibilities for open source compliance.
A documented procedure that assigns internal responsibilities for open source compliance
- 3.2.2.4: A documented procedure that assigns internal responsibilities for Security Assurance.
A documented procedure that assigns internal responsibilities for Security Assurance
The open source program manager must identify license compliance issues and appropriately assign responsibility to the person in charge of each role to resolve them. Likewise, for open source security vulnerability issues, the person in charge of security identifies the issue and assigns responsibility to the appropriate personnel to resolve it.
To this end, a documented procedure for assigning internal responsibility can be reflected in the open source policy as in the example below.
4. Roles, Responsibilities, and Competencies
To ensure the policy is effective, the following defines the roles and responsibilities and the competencies the person in charge of each role must have.
(2) Open Source Program Manager
- Defines the roles necessary for open source license compliance and designates the responsible organization and person in charge of each role. Consults with the OSRB when necessary.
(6) Security Lead
- Assigns responsibility for each task so that open source security assurance can be carried out successfully.
Through this procedure, internal responsibility for open source license compliance and security assurance is clearly assigned, so that each person in charge can understand and perform their role. Consultation with the OSRB (Open Source Review Board) also helps maintain consistency with the organization’s overall open source strategy.
The internal responsibility assignment procedure must be reviewed and updated regularly, and must be able to be flexibly adjusted as the organization’s structure or projects change. This allows the efficiency and effectiveness of open source management to continuously improve.
(5) Responding to Non-Compliant Cases
An enterprise must document a procedure for promptly reviewing and responding to non-compliant cases in open source license compliance and security assurance.
ISO/IEC 5230 and ISO/IEC 18974 commonly require a documented procedure for reviewing and remediating non-compliant cases as follows.
- 3.2.2.5 - A documented procedure for handling the review and remediation of non-compliant cases.
A documented procedure for handling the review and remediation of non-compliant cases
- 3.2.2.5: A documented procedure for handling the review and remediation of non-compliant cases.
A documented procedure for handling the review and remediation of non-compliant cases
To this end, an enterprise can reflect a documented procedure for reviewing and remediating non-compliant cases in the open source policy as in the example below.
6. Use of Open Source
(5) Compliance and Security Assurance Issue Response Procedure
When a license compliance or security assurance issue is raised, the open source program manager performs the following procedure to respond promptly:
1. Acknowledge receipt of the inquiry and specify a reasonable resolution time.
2. Confirm whether the issue content actually points to a real problem. (If not, inform the person who raised the issue that it is not a problem.)
3. If it is a real problem, set a priority and decide on an appropriate response plan.
- For license compliance issues, consult with the legal lead to establish a plan for meeting license obligations.
- For security assurance issues, consult with the security lead to establish a plan for resolving the vulnerability.
4. Carry out the response and, if necessary, appropriately supplement the open source process.
5. Record and preserve the above using the issue tracking system.
6. Analyze the root cause of the non-compliant case and establish an improvement plan to prevent recurrence.
7. Report the non-compliant case and the response outcome to the OSRB (Open Source Review Board) and, if necessary, discuss ways to improve the policy and process.
Through this procedure, an enterprise can systematically manage non-compliant cases related to open source license compliance and security assurance, and pursue continuous improvement. In addition, using a standardized format such as SPDX to manage license and security information makes it possible to identify and respond to non-compliant cases even more effectively.
(6) Staffing and Budget Support
An enterprise must provide sufficient resources for the open source program to function smoothly. Personnel for each role in the program must be appropriately staffed, and adequate budget and working time must be guaranteed. If not, a procedure to compensate for this must be put in place.
The ISO standards commonly require that the personnel for each role in the program be properly staffed and that adequate funding be provided, as follows.
- 3.2.2.2 - The identified program roles have been properly staffed and adequate funding provided.
The personnel for each role in the program must be properly staffed and adequate funding provided.
- 3.2.2.2: The identified Program roles have been properly staffed and adequate funding provided;
The personnel for each role in the program must be properly staffed and adequate funding provided.
To this end, an enterprise can reflect content on staffing and budget support in the open source policy as in the example below:
4. Roles, Responsibilities, and Competencies
The head of the organization responsible for each role designates a person in charge within the organization and allocates adequate time and budget for that person to fully perform the role.
- If the person in charge of each role is not adequately supported while performing the role, they must raise the issue with the open source program manager.
- The open source program manager discusses the resolution with the relevant organization head. If not resolved adequately, the open source program manager may request the OSRB to resolve the issue.
- The OSRB shares the issue with the head of the higher organization and requests resolution.
In addition, an enterprise can strengthen staffing and budget support by considering the following:
- Assign dedicated personnel to the open source program manager
- Secure a budget for purchasing specialized tools for open source license compliance and security assurance
- Set a budget for training and building the competency of program participants
- Allocate a budget for consulting with outside experts
- Establish a regular process for reviewing personnel and budget
Through this support, an enterprise can raise the effectiveness of its open source license compliance and security assurance program and meet the requirements of ISO/IEC 5230 and ISO/IEC 18974.
(7) Providing Expert Advice
When the person in charge of each role needs a professional review to resolve an open source issue, the enterprise must provide a way to request advice for this.
The ISO standards commonly require a way to use internal or external professional advice to resolve issues, as follows.
- 3.2.2.3 - Identification of legal expertise available to address open source license compliance matters which could be internal or external.
A way to use internal or external professional legal advice to resolve open source license compliance issues
- 3.2.2.3: Identification of expertise available to address identified Known Vulnerabilities
A way to use professional technical advice to resolve identified known vulnerabilities
For open source license compliance issues, the company’s internal legal team is the primary owner, and if an issue is contentious, an outside law firm with attorneys specializing in open source can be used.
For open source security vulnerability issues, the company’s internal security team is the primary owner, and if an issue is complex and contentious, advice can be requested from an outside security specialist firm.
To this end, an enterprise can reflect content on providing advice in the open source policy as in the example below.
4. Roles, Responsibilities, and Competencies
(4) Legal Lead
The legal lead provides advice on legal risks and mitigation measures that may arise in the course of using open source, such as interpreting open source licenses and obligations.
- Provides a reasonable way for program participants to inquire about open source license compliance issues.
- Provides advice on license and intellectual property issues, including conflicts caused by incompatible open source licenses.
- Reviews necessary legal matters, such as open source licenses and the CLA (Contributor License Agreement), when contributing to external open source projects.
- If an issue is contentious, requests advice from an outside law firm with attorneys specializing in open source.
(6) Security Lead
The security lead operates open source security vulnerability analysis tools and builds a system so that security vulnerability analysis is smoothly performed for all supplied software.
- Provides a reasonable way for program participants to inquire about known vulnerabilities or newly discovered vulnerabilities, and uses outside professional technical advice when necessary to resolve vulnerabilities.
For reference, the OpenChain Project provides, through its partner program, a list of global law firms that offer open source-related advice: https://www.openchainproject.org/partners
Law firms registered as OpenChain partners meet the requirements set by the OpenChain Project, and in South Korea, Bae, Kim & Lee LLC is the sole registrant.
(8) Specifying Scope of Application
A single open source policy (program) does not necessarily have to apply to the entire organization. The scope of application can be set differently depending on the characteristics of each organization and product within the enterprise. For example, an organization that does not deliver any supplied software at all can be excluded from the scope of the open source program.
The ISO standards commonly require a written statement that clearly defines the scope and limits of the program, as follows.
- 3.1.4.1 - A written statement that clearly defines the scope and limits of the program.
A written statement that clearly defines the scope and limits of the program
- 3.1.4.1: A written statement that clearly defines the scope and limits of the Program
A written statement that clearly defines the scope and limits of the Program - 3.1.4.2: A set of metrics the program shall achieve to improve
A set of metrics the program must achieve to improve - 3.1.4.3: Documented Evidence from each review, update, or audit to demonstrate continuous improvement.
Documented evidence demonstrating that a review, update, or audit was performed for continuous improvement
An enterprise must clearly define the scope and limits of the open source program in view of the characteristics of the organization and products, and state this in the open source policy.
Also, as the organizational structure, products, and services change to match the business environment, situations may arise where the scope of the program needs to be determined or revised. An enterprise must establish metrics for assessing scope, and perform reviews and inspections for continuous improvement to fix shortcomings.
To this end, an enterprise must have a system for clearly defining the scope of application in the open source policy and documenting the history of activities, as follows.
2. Scope of Application
This policy applies to the following three parts.
1. It applies to all supplied software the company provides or distributes externally. However, using open source solely for internal use is not within the scope of this policy.
2. It applies when program participants contribute to external open source projects.
3. It applies when releasing internal code as open source.
The scope of application can change to match the company's business environment. In particular, to ensure continuous effectiveness, the open source program manager investigates at least once a month whether there is any supplied software distributed or serviced externally that is not covered by this policy. If even one such case is found, this is used as the basis for determining that the scope of application must be changed.
The procedure for changing the scope of application is as follows.
1. When the open source program manager determines that a change to the policy's scope of application is needed due to changes in the company's business environment, such as a new business or reorganization, a proposal for this is submitted to the OSRB.
2. The OSRB approves an appropriate level of change to the scope of application.
3. The OSRB revises the open source policy to change the scope of the policy.
The open source program manager continuously documents the history of reviews, updates, and inspections performed at least once a month to improve the scope of application, using the [Jira](https://www.atlassian.com/software/jira) Issue Tracker.
Therefore, an enterprise must have a system for clearly defining the scope of application in the open source policy and documenting the history of activities, as shown above.
(9) Responding to External Inquiries
Customers and open source copyright holders sometimes contact an enterprise regarding open source-related inquiries, requests, and claims about supplied software developed using open source. The main content of external inquiries and requests is as follows:
- Inquiries about whether open source was used in a specific piece of supplied software
- Requests to provide source code under the GPL or LGPL licenses referenced in a written offer
- Requests to explain and disclose source code for open source found in supplied software but not listed in the open source notice
- Requests to provide missing files and build instructions for source code disclosed under obligations such as GPL and LGPL
- Requests for attribution
- Inquiries and requests related to open source security vulnerabilities
An enterprise must designate a person in charge of handling these external inquiries. This is typically the open source program manager.
There have been cases where an outside open source developer, wanting to discuss an open source-related issue with a specific enterprise, could not find a way to contact the enterprise’s representative and ended up filing a legal claim directly. To prevent this, an enterprise must always publicly disclose a way for third parties to make open source-related inquiries and requests to the enterprise.
The ISO standards commonly require a publicly available way for third parties to make open source inquiries, as follows:
- 3.2.1.1 - Publicly visible method that allows any third party to make an open source license compliance inquiry (e.g., via a published contact email address, or the Linux Foundation’s Open Compliance Directory).
A publicly available way for a third party to make an open source license compliance inquiry (e.g., a contact email address, or use of the Linux Foundation's Open Compliance Directory)
- 3.2.1.1: Publicly visible method to allow third parties to make Known Vulnerability or Newly Discovered Vulnerability enquires (e.g., via an email address or web portal that is monitored by Program Participants)
A publicly available way for a third party to make an inquiry about a known vulnerability or a newly discovered vulnerability (e.g., an email address or a web portal monitored by program participants)
The following ways can be provided so that outside parties can make open source-related inquiries to the enterprise:
- Publish a representative email address for the organization in charge of open source.
- Use the Linux Foundation’s Open Compliance Directory.
- If the enterprise has an open source website, publish the email address through it.
Including and publishing the representative email address of the organization in charge of open source in the open source notice enclosed with supplied software is also a good approach.
An enterprise can reflect content on responding to external inquiries in the open source policy as in the example below:
9. Responding to External Inquiries
(1) Responsibility for Responding to External Inquiries
Responding to inquiries and requests about open source from external parties is the responsibility of the open source program manager.
- The open source program manager may assign all or part of the handling of an inquiry to an appropriate program participant within the company. Legal is consulted for handling when necessary.
- Any program participant who receives an external inquiry about open source must notify the open source program manager so a prompt response can be made.
(2) Publishing Contact Information
The open source program manager publicly provides the contact information of the person in charge so that external parties can make open source-related inquiries and requests.
- Provides contact email information in the open source notice.
- Provides email information on the open source website.
- Registers contact information in the Linux Foundation's Open Compliance Directory.
(3) External Inquiry Response Procedure
Responding to external open source inquiries promptly and accurately can greatly reduce the risk of claims or legal action. To this end, the company follows the external inquiry response procedure defined in the company's open source process for responding to external open source inquiries.
SK telecom includes an open source notice in all of its supplied software. The open source notice provides the address of the SK telecom open source website together with an email address for contacting the open source program office.

The SK telecom open source website also provides an email address for contacting the open source program office.

(10) Open Source Contribution
Global software companies value not only using open source to build products and provide services, but also the strategic value that can be created by contributing to open source projects. However, approaching this without a sufficient understanding of and strategy for the open source project ecosystem and how communities operate can unexpectedly damage the company’s reputation and create legal risk. It is therefore important for an enterprise to establish a strategy and policy for participating in and contributing to open source projects.
ISO/IEC 5230 requires a documented open source contribution policy, as follows.
- 3.5.1.1 - A documented open source contribution policy
A documented open source contribution policy
This policy on open source contribution can be found in 7. Open Source Contribution of the [Appendix 1] open source policy sample.
7. Open Source Contribution
The company encourages participation and contribution to external open source projects to create business value from open source. However, this process requires care to avoid unintended exposure of the company's intellectual property or infringement of third-party rights. To this end, when a program participant of the company contributes to an external open source project, the following must be observed.
(1) Review Request and Approval
From a copyright standpoint, an open source contribution grants the open source project the right to modify, use, and distribute the work. In some cases, copyright must even be assigned to the open source project. Generally, the copyright of a work created during employment is owned by the employer. In other words, a work created by a program participant is owned by the company. A program participant contributing a work to open source on their own judgment can cause unnecessary copyright infringement issues.
Therefore, if there is an open source project you wish to contribute to, follow the review request and approval procedure before the first contribution, in accordance with the open source contribution process.
However, in the following simple cases, since the risk of copyright infringement is not significant, a program participant may contribute based on their own judgment without going through the review procedure.
- A small code snippet of 10 lines or fewer
- Questions/answers on Stack Overflow
- Administrative activity on GitHub: creating issues, reviewing/approving pull requests, etc.
...
The open source contribution policy must include the contribution procedure, approval process, measures for protecting intellectual property rights, and guidance on signing a CLA (Contributor License Agreement). It must also provide guidelines for behavior when program participants engage with the open source community on behalf of the company.
(11) SBOM Generation and Management
A procedure for generating and managing the SBOM (Software Bill of Materials) must be established:
- Select the SBOM generation tool and methodology
- Ensure the accuracy and completeness of SBOM information
- Establish an SBOM update and version management process
- Define a method for sharing and distributing the SBOM
An enterprise can reflect content on SBOM generation and management in the open source policy as in the example below:
6. Use of Open Source
(4) Generate the Software Bill of Materials (SBOM)
There must be a process to generate and maintain an SBOM (Software Bill of Materials) that includes the details of each open source software component making up the supplied software.
The company's open source process can use open source tools to generate and retain the SBOM.
- The SBOM is generated using a standard format such as [SPDX](https://spdx.dev/) or [CycloneDX](https://cyclonedx.org/).
- An SBOM is generated and managed for all supplied software.
- The SBOM is updated and version-controlled with each release of the supplied software.
- The accuracy of SBOM information is periodically verified.
- Preparations are made to share the SBOM with customers and regulators when necessary.
SBOM generation and management are core elements of open source license compliance and security assurance. Through this, an enterprise can accurately understand the open source components in use and respond promptly to known vulnerabilities or license issues.
An enterprise must include these SBOM-related principles in its open source policy to build a systematic SBOM management system.
3. Summary
Documenting an open source policy is the single most important process for effective open source management.
The next page provides a sample open source policy document that meets the requirements of ISO/IEC 5230 and ISO/IEC 18974 mentioned above: [Appendix 1] Open Source Policy (template)
Referring to the content above, it is necessary to establish appropriate principles for each requirement that fit the company’s situation. It is also important to go beyond documentation alone and consider actionable procedures. A policy that is words alone is of no use.
An open source policy must include the following core elements:
- Open source license compliance principles
- Open source security assurance principles
- Response to open source risk
- Internal responsibility assignment procedure
- Response to non-compliant cases
- Staffing and budget support plan
- Method of providing expert advice
- Specification of the policy’s scope of application
- External inquiry response procedure
- Open source contribution guidelines
- Method for generating and managing the SBOM (Software Bill of Materials)
Establishing and documenting an open source policy that includes these elements makes it possible to meet the key requirements of the ISO/IEC 5230 and ISO/IEC 18974 standards.

A policy must not stop at documentation alone; it must actually be implemented within the organization. This requires regular review and updates, along with training for program participants. An effective open source policy will help systematically manage the organization’s use of and contribution to open source, and minimize potential legal and security risks.
1.4 - 3. Process
The open source process is an actionable procedure that enables an enterprise to comply with its open source policy throughout software development and distribution.
From the standpoint of open source license compliance, the enterprise carries out activities to comply with the conditions required by each license governing the open source used while developing and distributing the supplied software, producing compliance artifacts such as the open source notice and the source code to be disclosed.

For open source security assurance, the enterprise must detect the presence of Known Vulnerabilities or Newly Discovered Vulnerabilities in the supplied software, identify structural and technical threats, and carry out activities to resolve issues before release.
To achieve effective open source license compliance and security assurance, an enterprise must establish the following processes:
- Open source process
- Open source security vulnerability response process
- External inquiry response process
- Open source contribution process
Let’s look at how each process should be structured, one by one.
1. Open Source Process
An enterprise must establish an open source process for license compliance and security assurance that aligns with its software development process.
The image below is a sample open source process that an enterprise can commonly adopt and use.

The procedures to be taken at each stage, in line with the open source process above, are as follows.
(1) Open Source Identification and Inspection
In the open source identification and inspection stage, the enterprise must identify the license of the open source it intends to use, determine what obligations the license requires, and check whether Known Vulnerabilities exist.
It reviews and records which open source it intends to use, what the license is, what obligations each license imposes, and what Known Vulnerabilities exist.
The ISO/IEC 5230 standard requires a documented procedure that can address common open source license use cases for license compliance, and that reviews and records the obligations, restrictions, and rights granted by each identified license.
3.3.2.1 - A documented procedure for handling the common open source license use cases for the open source components of the supplied software.
A documented procedure for handling the common open source license use cases for the open source components of the supplied software3.1.5.1 - A documented procedure to review and document the obligations, restrictions and rights granted by each identified license.
A documented procedure to review and document the obligations, restrictions and rights granted by each identified license
An example procedure for this is as follows:
The Open Source Program Manager creates and provides a guide on the obligations, restrictions, and rights of major open source licenses. To manage common open source license use cases, this guide must cover the following use cases:
- Distribution in binary form
- Distribution in source form
- Integration with other open source that triggers additional license obligations
- Inclusion of modified open source
- Inclusion of open source or other software under a license incompatible with other components in the supplied software
- Inclusion of open source with attribution requirements
The business unit checks the license and Known Vulnerabilities according to the criteria defined in the open source policy.
The business unit consults the Open Source Program Manager and the security officer with any questions. If necessary, it requests advice from external experts.
All decisions and their rationale are documented and retained.
To this end, an enterprise must establish a documented procedure, as in the example below, to review and record the obligations and restrictions imposed by each identified license and any Known Vulnerabilities, through the open source identification and inspection stage before releasing the supplied software.
(1) Open Source Identification
The business unit complies with the following during the software design stage:
- While designing the software, it identifies the open source expected to be used and confirms the identified licenses.
- It checks the obligations for each open source license. License-specific obligations can be found in the company's open source license guide: https://sktelecom.github.io/guide/use/obligation/
- It designs the software taking into account the source code disclosure scope required by each open source license.
The Open Source Program Manager creates and publishes a guide on the obligations, restrictions, and rights of major open source licenses so that business units across the company can refer to it. To manage common open source license use cases, this guide must cover the following use cases:
- Distribution in binary form
- Distribution in source form
- Integration with other open source that triggers additional license obligations
- Inclusion of modified open source
- Inclusion of open source or other software under a license incompatible with other components in the supplied software
- Inclusion of open source with attribution requirements
The business unit marks copyright and license notices in the source code according to company rules. The company's rules for copyright and license notices in source code can be found on the following page. (insert_link)
When reviewing the adoption of new open source, the business unit first identifies the license. It checks the license obligations, restrictions, and rights according to the company's open source license guide. If the license is not covered by the company's open source license guide, it consults the Open Source Program Manager on whether adoption is possible and what precautions apply. It creates a Jira Ticket for the inquiry.
The Open Source Program Manager analyzes the open source license obligations and provides guidance to the software development organization.
- If there are questions, it requests advice from the legal department to provide clear guidance.
- Newly analyzed license information is reflected in the company-wide license guide.
The security officer provides a guide for the company's security assurance.
(2) Source Code Inspection
The business unit requests an open source inspection according to the guidance of the IT staff and provides the source code.
The IT staff performs the open source inspection using an open source analysis tool and generates an SBOM (Software Bill of Materials).
The Open Source Program Manager reviews whether the open source license obligations can be complied with and whether there are open source license conflicts, and requests the business unit to resolve any issues found. Issues are created as Jira Tickets and assigned to the business unit.
The security officer reviews the detected Known Vulnerabilities and provides response guidance to the business unit according to predefined risk classification criteria. Risk is classified by CVSS (Common Vulnerability Scoring System) score, and for Critical Risk, the business unit is guided to establish a remediation plan within one week.
In the open source identification and inspection stage, a source code scan tool can be used. This is described in detail in “1. Source Code Scan Tools”.
(2) Issue Resolution
After identifying open source and confirming license and security vulnerability risks through open source identification and inspection, a procedure to resolve issues is needed. All detected issues must be resolved using the following methods:
- Remove the open source causing the issue.
- Replace it with open source under a different license to resolve the license issue.
- Replace it with a version of the open source in which the Known Vulnerability or Newly Discovered Vulnerability has been resolved.
An example of a documented process for this is as follows:
(3) Issue Resolution
The business unit resolves all issues found during the source code inspection stage.
It removes the open source causing the issue or replaces it with open source under a different license. For issues involving a Known Vulnerability or a Newly Discovered Vulnerability, it takes measures such as replacing the component with a version in which the vulnerability has been fixed.
Once the business unit resolves all issues found, it resolves the Jira Ticket issue and requests a re-review.
(3) SBOM Identification, Review, and Retention
The most fundamental part of open source license compliance activities is understanding the open source contained in the supplied software. An enterprise must establish a process to identify the open source and its licenses contained in the supplied software, and to create and manage an SBOM (Software Bill of Materials) that holds this information. This is because knowing which open source is included in each version of the supplied software is necessary to comply with the obligations required by each open source license when distributing the software. This is also an essential process for discovering and responding to open source security vulnerabilities.
All open source must be reviewed and approved before being integrated into the supplied software. In addition to the functionality and quality of the open source, it must be reviewed beforehand for its origin, whether it can meet license requirements, and whether Known Vulnerabilities or Newly Discovered Vulnerabilities have been resolved. This requires a review request → review → approval process.
The ISO standards commonly require a documented procedure ensuring that all open source software used in the supplied software is continuously recorded throughout the software life cycle, as follows.
- 3.3.1.1 - A documented procedure for identifying, tracking, reviewing, approving, and archiving information about the collection of open source components from which the supplied software is comprised.
A documented procedure for identifying, tracking, reviewing, approving, and archiving information about the open source components that make up the supplied software
- 3.3.1.1: A documented procedure ensuring all Open Source Software used in the Supplied Software is continuously recorded across the lifecycle of the Supplied Software. This includes an archive of all Open Source Software used in the Supplied Software;
A documented procedure ensuring that all open source software used in the supplied software is continuously recorded throughout the lifecycle of the supplied software. This includes an archive of all open source software used in the supplied software.
To this end, an enterprise can reflect SBOM-related content in its open source process, as in the example below:
(4) Review
The Open Source Program Manager reviews whether all issues have been properly remediated. If necessary, it re-runs the source code inspection using an open source analysis tool.
The security officer reviews whether all serious vulnerabilities have been resolved. If vulnerabilities that are difficult to resolve remain, it reviews whether approval is possible, taking into account the type of business and the extent of service exposure.
(5) Approval
The Open Source Program Manager gives final approval or rejection of whether the open source license compliance procedure was performed properly. In the case of rejection, it explains the reason to the business unit and proposes a way to remediate it.
(6) Registration
The Open Source Program Manager finalizes the SBOM to track the list of open source used, by version, in the supplied software.
The IT staff registers the finalized SBOM in the system. The SBOM includes the list of open source contained in the supplied software along with the following information:
- The product (or service) name and version of the supplied software
- List of open source
- Open source name / version
- Open source license
The Open Source Program Manager finalizes the SBOM to track the list of open source used, by version, in the supplied software.
Tools for SBOM management are described in detail in “SBOM Management Tools”.
In addition, every process and result of this open source process must be documented. Rather than using email, using an issue tracking system such as Jira or Bugzilla can document this process more efficiently.
(4) Creating License Compliance Artifacts
The most fundamental part of open source license compliance activities is understanding the open source contained in the supplied software. This is to correctly meet open source license requirements, which are at the core of open source license compliance. In other words, a process must be established to produce a set of compliance artifacts for the open source contained in the supplied software.
The ISO/IEC 5230 standard requires a documented procedure describing the process for preparing compliance artifacts and providing them together with the supplied software, as follows.
- 3.4.1.1 - A documented procedure that describes the process under which the compliance artifacts are prepared and distributed with the supplied software as required by the identified licenses.
A documented procedure that describes the process under which the compliance artifacts required by the identified licenses are prepared and distributed with the supplied software
Compliance artifacts are broadly divided into two types:
Open source notice: a document providing the full text of open source licenses and copyright information

- How to generate an open source notice corresponding to an SBOM compiled using a tool is further explained in “Open Source Compliance Artifact Generation Tools”.
- Source code package to be disclosed: a package compiling the source code to be disclosed in order to fulfill the obligations of open source licenses such as GPL and LGPL that require source code disclosure
Compliance artifacts must be provided together when distributing the supplied software.
To this end, an enterprise can reflect the creation of compliance artifacts, from the notice stage through the distribution stage, in its open source process, as in the example below:
(7) Notice
The Open Source Program Manager creates an open source notice to comply with the notice obligation. The open source notice includes the following content:
- An open source contact for open source-related inquiries
- Notice content for each open source
- Copyright
- Open source license name
- Copy of the open source license
- (if applicable) a Written Offer to obtain a copy of the source code
The Open Source Program Manager creates the open source notice and delivers it to the business unit. If source code disclosure is required, it also guides the business unit on how to compile the source code to be disclosed.
The business unit includes the open source notice when distributing the product. For a product with a screen, it takes measures so that users can view it through a menu. (e.g., App > Menu > Settings > Copyright Information > Open Source Licenses)
If the business unit has used open source under a license requiring source code disclosure, such as GPL or LGPL, it checks the required scope of disclosure and compiles the source code to be disclosed.
- The source code compiled to comply with obligations under licenses such as GPL and LGPL must match the source code that makes up the binary shipped in the product. In other words, building the compiled source code must produce the same result as the binary shipped in the product.
(8) Pre-Distribution Check
The business unit submits the following compliance artifacts demonstrating that open source license compliance activities were properly performed:
1. The final open source notice included in the product
2. Materials confirming that the open source notice is included in the product (e.g., a screenshot showing the open source notice)
3. (if applicable) the source code to be disclosed (submitted compressed into a single file)
The Open Source Program Manager reviews the materials submitted by the business unit to confirm there are no issues.
(9) Distribution
The Open Source Program Manager submits the compliance artifacts submitted by the business unit to the IT staff.
The IT staff registers the compliance artifacts on the company's open source distribution site.
When distributing the supplied software, it may be difficult to enclose the source code package to be disclosed. In this case, this can be replaced by providing a Written Offer to supply the source code for at least three years. A Written Offer is generally provided through the product’s user manual, and an example is as follows:
The software included in this product contains copyrighted software
that is licensed under the GPL. A copy of that license is included
in this document on page X. You may obtain the complete Corresponding
Source code from us for a period of three years after our last shipment
of this product, which will be no earlier than 2011-08- 01, by sending
a money order or check for $5 to:
GPL Compliance Division
Our Company
Any Town, US 99999
Please write"source for product Y" in the memo line of your payment.
You may also find a copy of the source at http://www.example.com/sources/Y/.
This offer is valid to anyone in receipt of this information.
<Source: SFLC Guide to GPL Compliance>
Therefore, compliance artifacts must be retained for at least three years, and a process must be established for this.
To this end, an enterprise can consider building an open source website. Details can be found in “Open Source Compliance Artifact Retention”.
(5) Security Vulnerability Inspection and Assessment
The security officer must establish a process to inspect and assess Known Vulnerabilities or Newly Discovered Vulnerabilities in the open source software components of the supplied software. This process must include the following stages:
Vulnerability database search: Use a public vulnerability database such as the National Vulnerability Database (NVD) to search for Known Vulnerabilities in the open source components in use.
Use of automated vulnerability scanning tools: Use a tool such as OWASP Dependency-Check to scan the dependencies of the supplied software and identify Known Vulnerabilities.
Vulnerability severity assessment: Use CVSS (Common Vulnerability Scoring System) to assess the severity of discovered vulnerabilities.
Risk analysis: Analyze the potential impact of the identified vulnerabilities on the supplied software.
Response plan development: Establish a response plan for each vulnerability based on its severity and risk analysis results.
(2) Source Code Inspection
The security officer reviews the detected Known Vulnerabilities and provides response guidance to the business unit according to predefined risk classification criteria. Risk is classified by CVSS (Common Vulnerability Scoring System) score, and for Critical Risk, the business unit is guided to establish a remediation plan within one week.
| Risk | CVSS 2.0 | CVSS 3.0 | Recommended Remediation Timeline |
|---|:---:|:---:|:---:|
| Low | 0.0 - 3.9 | 0.0 - 3.9 | - |
| Medium | 4.0 - 6.9 | 4.0 - 6.9 | - |
| High | 7.0 - 10.0 | 7.0 - 8.9 | Within 4 weeks |
| Critical | - | 9.0 - 10.0 | Within 1 week |
Reporting and documentation: Document the inspection results, assessment content, and response plan, and report them to relevant stakeholders.
Continuous monitoring: Establish a continuous monitoring system, since new vulnerabilities may be discovered or the severity of existing vulnerabilities may change.
Through this process, an enterprise can effectively manage security vulnerabilities in the supplied software and meet the requirements of ISO/IEC 18974.
2. Open Source Security Vulnerability Response Process
While developing the supplied software, an enterprise must carry out activities for security assurance, such as detecting and resolving open source security vulnerabilities.
The ISO/IEC 18974 standard requires a documented procedure for the security assurance method and a record of the actions taken, as follows.
3.1.5 - Standard Practice Implementation 3.1.5 - Standard Practice Implementation
The Program demonstrates a sound and robust handling procedures of Known Vulnerabilities and Secure Software Development by defining and implementing following procedures:The Program defines and implements the following procedures to demonstrate sound and robust handling of Known Vulnerabilities and Secure Software Development.
Method to identify structural and technical threats to the Supplied Software is defined;
A method to identify structural and technical threats to the Supplied SoftwareMethod for detecting existence of Known Vulnerabilities in Supplied Software;
A method for detecting the existence of Known Vulnerabilities in the Supplied SoftwareMethod for following up on identified Known Vulnerabilities;
A method for following up on identified Known VulnerabilitiesMethod to communicate identified Known Vulnerabilities to customer base when warranted;
A method to communicate identified Known Vulnerabilities to the customer base under warranty when warrantedMethod for analyzing Supplied Software for newly published Known Vulnerabilities post release of the Supplied Software;
A method for checking whether newly published Known Vulnerabilities exist in already-released Supplied Software after a new Known Vulnerability is published following the release of the Supplied SoftwareMethod for continuous and repeated Security Testing is applied for all Supplied Software before release;
A method for applying continuous and repeated Security Testing to all Supplied Software before releaseMethod to verify that identified risks will have been addressed before release of Supplied Software;
A method to verify that identified risks are addressed before release of the Supplied SoftwareMethod to export information about identified risks to third parties as appropriate.
A method to appropriately export information about identified risks to third parties3.1.5.1: A documented procedure exists for each of the methods identified above.
A documented procedure exists for each of the methods identified above
3.3.2 - Security Assurance 3.3.2 - Security Assurance
- 3.3.2.1: A documented procedure for handling detection and resolution of Known Vulnerabilities for the Open Source Software components of the Supplied Software;
A documented procedure for detecting and resolving Known Vulnerabilities in the open source software components of the Supplied Software - 3.3.2.2: For each Open Source Software component a record is maintained of the identified Known Vulnerabilities and action(s) taken (including even if no action was required).
For each open source software component, a record is maintained of the identified Known Vulnerabilities and the action(s) taken (including cases where no action was required).
To this end, an enterprise must have methods and procedures to detect the presence of Known Vulnerabilities or Newly Discovered Vulnerabilities in the supplied software, resolve identified risks before release, and also respond to vulnerabilities newly published after release.
First, an enterprise must detect whether Known Vulnerabilities exist in the software to be distributed and resolve identified risks before release. This procedure for detecting and resolving Known Vulnerabilities can be carried out through the open source identification, source code inspection, and issue resolution stages of the Open Source Process.
In addition, to check whether a newly published Known Vulnerability exists in software that has already been distributed after the release of the distributed software, and to resolve it, an enterprise must establish a new security vulnerability response process.
Below is a sample process for responding when a new security vulnerability is discovered.

(1) Monitoring Known Vulnerabilities and Newly Discovered Vulnerabilities
(1) Monitoring
The IT staff builds and operates a system to monitor new security vulnerabilities. This system performs the following functions.
- It periodically collects newly published security vulnerabilities.
- If open source with a newly discovered Known Vulnerability is used in an already-released product/service, it sends a notification to the business unit responsible for that product/service. From notification through review, action, and resolution, everything is documented and recorded using the Jira Issue Tracker.
The IT staff builds and operates a system that monitors Known Vulnerabilities and Newly Discovered Vulnerabilities. This system performs the following functions:
- It periodically collects new security vulnerability information from a public vulnerability database such as the National Vulnerability Database (NVD).
- If an open source software component with a Known Vulnerability or a Newly Discovered Vulnerability is used in already-released supplied software, it sends a notification to the business unit responsible for that supplied software.
- It uses an issue tracking system such as Jira so that everything from notification through review, action, and resolution is documented and recorded.
(2) Vulnerability Assessment and Response
(2) Initial Response
The security officer provides response guidance to the business unit according to predefined risk classification criteria. Risk is classified by CVSS (Common Vulnerability Scoring System) score, and for Critical Risk, the business unit is guided to establish a remediation plan within one week.
If a new security vulnerability is discovered in a previously released product/service, the business unit establishes a remediation plan according to the response guidance provided by the security officer.
If there are customers under warranty, the business unit notifies them of the identified Known Vulnerability by email or other means, as necessary, according to the risk level.
The security officer assesses each vulnerability according to predefined risk/impact assessment criteria and provides response guidance to the business unit. Risk is classified by CVSS (Common Vulnerability Scoring System) score, and remediation deadlines are set according to severity.
If a Known Vulnerability or a Newly Discovered Vulnerability is identified in previously released supplied software, the business unit establishes a remediation plan according to the response guidance provided by the security officer.
If necessary, the business unit notifies customers of identified vulnerabilities according to the risk/impact score.
(3) Applying Security Testing
The IT staff builds and operates a system that applies continuous, repeated security testing to all supplied software before release. This system performs the following functions:
- It identifies structural and technical threats to the supplied software.
- It detects the presence of Known Vulnerabilities or Newly Discovered Vulnerabilities.
- It verifies that identified risks are resolved before the supplied software is released.
(4) Vulnerability Resolution and Patch Management
(3) Issue Resolution
The business unit resolves the security vulnerability issue according to the established remediation plan, by methods such as removing the problematic open source or replacing it with a patched version. Once all identified issues are resolved, it requests a re-review.
(4) Review
The IT staff uses an open source analysis tool to confirm that the issue has been properly resolved.
(5) Approval
The security officer reviews whether all serious vulnerabilities have been resolved. If vulnerabilities that are difficult to resolve remain, it reviews whether approval is possible, taking into account the type of business and the extent of service exposure.
(6) Registration
The IT staff registers the SBOM, with the open source security vulnerability resolved, in the system.
The business unit resolves the vulnerability issue according to the established remediation plan, by methods such as removing the problematic open source software component or replacing it with a patched version.
The IT staff uses an open source analysis tool to confirm that the issue has been properly resolved.
The security officer reviews whether all serious vulnerabilities have been resolved. If vulnerabilities that are difficult to resolve remain, it reviews whether approval is possible, taking into account the type of business and the extent of service exposure.
The IT staff registers the SBOM (Software Bill of Materials), with the vulnerability resolved, in the system.
(5) Customer Notification
(7) Notice
The Open Source Program Manager creates an open source notice based on the SBOM in which the open source security vulnerability has been resolved, and delivers it to the business unit.
The business unit replaces the open source notice included with the product distribution.
The IT staff registers the revised open source notice on the company's open source distribution site.
(8) Distribution
The business unit redistributes the version of the software in which the open source security vulnerability has been resolved.
The security officer identifies whether there is risk information that needs to be disclosed to third parties, and if so, delivers it to the IT staff.
The IT staff registers the identified risk information on the open source website so that third parties can review it.
The Open Source Program Manager creates an updated open source notice based on the SBOM in which the vulnerability has been resolved, and delivers it to the business unit.
The business unit notifies customers of the vulnerability resolution using the following methods:
- It replaces the open source notice included with the product distribution.
- If necessary, it notifies customers directly by email or other means.
- It redistributes the version of the supplied software in which the vulnerability has been resolved.
The IT staff registers the revised open source notice and vulnerability-related information on the company’s open source distribution site so that third parties can review them.
Through this process, continuous monitoring and response capability is maintained even after the supplied software has been released to the market.
Through this systematic approach, an organization can gain the following benefits:
- Rapid response capability for new vulnerabilities
- Improved transparency and trust with customers
- Minimization and management of security risk
- Assurance of compliance with regulatory requirements
- Continuous improvement of product quality and security
This process also satisfies the requirements of ISO/IEC 18974 and can continuously improve the effectiveness of the organization’s open source security assurance program.
3. External Inquiry Response Process
To prevent external claims from escalating into legal action, it is important for an enterprise to respond to external inquiries and requests as quickly and accurately as possible. To this end, an enterprise must establish a process for responding quickly and effectively to external open source inquiries.
The ISO standards commonly require an internal documented procedure for responding to third-party inquiries, as follows.
- 3.2.1.2 - An internal documented procedure for responding to third party open source license compliance inquiries.
An internal documented procedure for responding to third-party open source license compliance inquiries
- 3.2.1.2: An internal documented procedure exists for responding to third party Known Vulnerability or Newly Discovered Vulnerability inquiries.
An internal documented procedure for responding to third-party inquiries about a Known Vulnerability or a Newly Discovered Vulnerability
The figure below is a sample process an enterprise should have in place to respond to external inquiries.

The following is the external inquiry response process presented in the open source process template:
Responding quickly and accurately to external inquiries related to open source license compliance and security assurance can greatly reduce the risk of escalation to legal action. To this end, the organization follows the process below:
(1) Receipt Notification
As soon as an inquiry is received, the Open Source Program Manager notifies the requester that the inquiry has been received. At this time, it specifies an appropriate response time. If the inquiry is unclear, it requests additional explanation to accurately understand the requester’s intent.
Major inquiries and requests include:
- Whether specific open source is used in a particular supplied software
- A request for the source code under a GPL or LGPL license mentioned in a Written Offer
- A request for clarification and source code disclosure regarding open source missing from the open source notice
- A request for missing files in the disclosed source code and instructions on how to build it
- A request for copyright notice
- An inquiry related to a Known Vulnerability or a Newly Discovered Vulnerability
The Open Source Program Manager creates an issue for the received request and records the response status in detail.
(2) Investigation Notification
The Open Source Program Manager notifies the requester that open source license compliance and security assurance are being faithfully carried out and that the inquiry is under investigation. It periodically updates and notifies the requester of the progress of the internal investigation.
(3) Internal Investigation
The Open Source Program Manager conducts an internal investigation into the request. It checks, through the SBOM and documented review history, whether the license compliance and security assurance processes were properly carried out for the relevant supplied software. If necessary, it requests advice from the legal department and the security officer.
If confirmation from a specific business unit is needed, the Open Source Program Manager requests that unit to investigate. The business unit that receives the request immediately checks whether there is a problem with the compliance artifacts and security-related matters, and reports the results.
(4) Reporting to the Requester
The Open Source Program Manager completes the internal investigation within the specified response time and notifies the requester of the results.
- If the requester’s inquiry was a mistaken claim due to a misunderstanding, it explains this without further action and closes the matter.
- If a problem is confirmed, it informs the requester of the exact method and timing for fulfilling the obligations of the relevant open source license or resolving the security vulnerability.
(5) Remediation / Notification
If an actual license compliance or security problem is found during the internal investigation, the relevant business unit carries out all procedures necessary to resolve it.
(6) Resolution Notification
After resolving the problem, it immediately notifies the requester and provides the best available means to confirm that the problem has been resolved.
(7) Process Improvement
If there was a license compliance or security problem, the case is reviewed through an OSRB (Open Source Review Board) meeting to understand how the problem occurred, and process improvement measures are established to prevent recurrence.
Through this systematic external inquiry response process, an enterprise can respond quickly and effectively to open source-related issues and minimize potential legal risk.
4. Open Source Contribution Process
If an enterprise has a policy that permits contributions to external open source projects, there must be a documented procedure governing how program participants can contribute to external projects.
The ISO/IEC 5230 standard requires a documented procedure governing open source contributions, as follows.
3.5.1.2 - A documented procedure that governs open source contributions;A documented procedure that governs open source contributions
(1) Establishing and Communicating the Contribution Policy
The open source process template describes the establishment and communication of the contribution policy as follows:
(1) Establishing and Communicating the Contribution Policy
- A documented policy governing contributions to open source projects must be established.
- This policy must be communicated within the organization.
- There must be a process for enforcing the policy.
The Open Source Program Manager must do the following:
- Draft a documented open source contribution policy.
- Establish a documented procedure to ensure that all program participants are aware of the open source contribution policy (e.g., through training, an internal wiki, or other effective means of communication).
(2) Contribution Review and Approval Procedure
The open source process template describes the contribution review and approval procedure as follows:
(2) Contribution Review and Approval Procedure
A documented procedure governing open source contributions must be established. This procedure must include the following:
- Confirm the origin and license of the code to be contributed.
- Review whether there is a right to contribute the code.
- Review the license and contribution policy of the project to which the contribution is directed.
- If necessary, obtain a legal team review.
- Define an approval procedure for the contribution.
- Specify how an approved contribution is to be submitted.
The Open Source Program Manager must maintain records demonstrating that this procedure has been properly carried out.
Through this process, an organization can effectively manage contributions to external open source projects and minimize potential legal risk.
The open source contribution procedure published by SK telecom is a good example:

https://sktelecom.github.io/guide/contribute/process/
This procedure clearly shows the process from the contribution review request through approval to submission of the contribution, making it easy for program participants to understand and follow.
5. Keeping the Process Current
A process is not effective if it exists only on paper without being actually operated, or if it no longer fits the work situation or organizational structure. An enterprise must ensure that its processes are always kept up to date to match its internal organization and circumstances.
The ISO/IEC 18974 standard requires that the process be periodically reviewed and improved, as follows:
- 3.1.2.5: Documented Evidence of periodic reviews and changes made to the process;
Documented evidence that the process has been periodically reviewed and improved - 3.1.2.6: Documented verification that these processes are current with company internal best practices and who is assigned to accomplish them.
Documented evidence that these processes are kept current with the company's internal best practices, specifying who is responsible for carrying them out
(1) Periodic Process Review
The open source process template describes periodic process review as follows:
The OSRB (Open Source Review Board) is a body composed of the Open Source Program Manager and the heads of related organizations, such as the legal team, patent team, development team, and infrastructure team, for the company's open source management.
The OSRB reviews the policy and process annually on a regular basis and improves them. All improvement processes are documented and recorded.
(2) Identifying and Implementing Improvements
The following activities are carried out to improve the process:
- The OSRB analyzes the company’s process performance, shortcomings, and best practices.
- It improves the process to reflect changes in the business environment.
- The Open Source Program Manager is responsible for managing the policy and process for open source license compliance.
- The security officer is responsible for managing the policy and process for open source security assurance.
(3) Documenting Process Updates
The process improvement and update process is documented and recorded. This must include:
- Review date and participants
- Identified improvements
- Implemented changes
- Reason for the change
- Approver of the change
These documented records can be managed using tools such as Jira or Confluence.
By keeping its processes current, an enterprise can continuously improve the effectiveness of its open source license compliance and security assurance programs and meet the requirements of ISO/IEC 5230 and ISO/IEC 18974.
6. Summary
By establishing the processes described so far, an enterprise can meet the key requirements of the ISO/IEC 5230 and ISO/IEC 18974 standards.

Through establishing these processes, an enterprise can gain the following benefits:
Establishing an open source license compliance framework
- Accurately understanding the open source usage status of the supplied software
- Minimizing legal risk by complying with license obligations
- Systematic creation and management of compliance artifacts
Strengthening open source security assurance
- Continuous monitoring of Known Vulnerabilities and Newly Discovered Vulnerabilities
- Establishing a vulnerability assessment and response framework
- Preventing risk in advance through security testing
Effective response to external inquiries
- Establishing a systematic external inquiry handling process
- Reducing legal risk through fast and accurate response
Systematizing open source contribution activities
- Ensuring consistent contribution activity through an established contribution policy
- Protecting intellectual property through a contribution review and approval procedure
Continuous process improvement
- Improving efficiency through periodic process review and improvement
- Strengthening responsiveness to the latest open source trends and technological changes
By establishing these processes, an enterprise can systematically manage open source license compliance and security assurance, and build a foundation for continuous improvement. In addition, by having processes that align with international standard initiatives such as the OpenChain Project, it can enhance its credibility within the global software supply chain.
1.5 - 4. Tools
1. Source Code Scanning Tools
Source code scanning tools can be used in the open source identification and inspection stage of the open source process. Source code scanning tools help identify the open source included in supplied software and extract license and copyright information. These tools range from free open source-based tools to commercial tools. Each tool has its own strengths, but no tool offers a perfect feature set that solves every problem. An enterprise must therefore choose a tool suited to the characteristics and requirements of its supplied software.
Many enterprises use these automated source code scanning tools together with manual review. Two major open source source code scanning tools are introduced here.
(1) FOSSology
FOSSology is an open source project managed by the Linux Foundation, a source code scanning tool that supports a license compliance workflow.

Key features:
- Source code scanning and license identification
- Extraction of license and copyright information
- Web-based user interface
- Support for analyzing large codebases
FOSSology is free for enterprises to use and receives continuous improvement and support from the open source community.
For how to install and use FOSSology, refer to the FOSSology guide.
(2) SCANOSS
SCANOSS is a platform for identifying and managing open source software components.
Key features:
- Fast source code scanning and open source component identification
- License and vulnerability information
- Integration support via API
- Generation of the SBOM (Software Bill of Materials)
SCANOSS offers both a free and a paid version, and supports both cloud-based service and on-premises solutions.
These source code scanning tools can be used to effectively identify and manage the open source components in supplied software. However, rather than relying entirely on the tool’s results, expert review and judgment by program participants must also be part of the process.
2. Dependency Analysis Tools
Modern software development commonly uses build environments that support package managers such as Gradle and Maven. In these build environments, dependency libraries needed at build time are fetched from a remote repository even without the source code, and used to compose the supplied software. These dependency libraries are included in the supplied software but are not detected by source code scanning tools. It is therefore important to use tools for dependency analysis.
(1) OSS Review Toolkit
The OSS Review Toolkit (ORT) is a suite of tools for automating open source license compliance. ORT provides a dependency analysis tool called the Analyzer.
Key features of the Analyzer:
- Support for various package managers (Maven, Gradle, NPM, etc.)
- Generation of a project’s dependency tree
- Extraction of license and copyright information
- Generation of reports in SPDX format

(2) FOSSLight Dependency Scanner
FOSSLight Dependency Scanner, developed by LG Electronics and released as open source, is a dependency analysis tool that supports various package managers.
Key features:
- Support for various package managers including Gradle, Maven, NPM, PIP, Pub, and Cocoapods
- Extraction of open source license and version information
- Generation of the SBOM (Software Bill of Materials)

These dependency analysis tools can be used to accurately identify the open source components included in supplied software and generate an SBOM. This helps meet the requirements of ISO/IEC 5230 and ISO/IEC 18974.
3. Open Source Governance / SBOM Management Tools
Open source governance and SBOM (Software Bill of Materials) management are essential for effective open source license compliance and security assurance. The ISO/IEC 5230 and ISO/IEC 18974 standards require documenting and retaining records of the open source software components included in supplied software.
- 3.3.1.2 - Open source component records for the supplied software that demonstrates the documented procedure was properly followed.
Open source component records for the supplied software that demonstrate that the documented procedure was properly followed
- 3.3.1.2: Open Source Software Component Records for the Supplied Software that demonstrates the documented procedure was properly followed.
Open source software component records for the supplied software that demonstrate that the documented procedure was properly followed
An SBOM can be managed even with a spreadsheet program, but manual management becomes difficult as the number of supplied software products and versions grows. Introducing an automated open source tool is therefore efficient.
(1) SW360
SW360 is an open source project sponsored by the Eclipse Foundation that provides the ability to track the open source inventory for each piece of supplied software.

Key features:
- Project, component, and license management
- SBOM generation and management
- Vulnerability management
- Tracking of license obligations
For how to install and use SW360, see the SW360 guide.
(2) FOSSLight
FOSSLight is a comprehensive open source management tool developed by LG Electronics and released as open source.
Key features:
- SBOM generation and management
- Open source license compliance checks
- Vulnerability management
- Open source notice generation

LG Electronics has used FOSSLight for years to manage SBOMs company-wide, and released it as open source in June 2021. It provides a Korean-language guide to help domestic enterprises use it.

Using these tools, an enterprise can effectively carry out open source governance and manage its SBOM, and can meet the requirements of ISO/IEC 5230 and ISO/IEC 18974.
4. Open Source Security Vulnerability Management Tools
To effectively manage known vulnerabilities or newly discovered vulnerabilities included in supplied software, an enterprise must build an automated tool environment. Three major open source security vulnerability management tools are introduced here.
(1) OWASP Dependency-Check
OWASP Dependency-Check is an open source tool that analyzes a project’s dependencies to detect known vulnerabilities.
Key features:
- Support for various languages and package managers (Java, .NET, JavaScript, Ruby, etc.)
- Integration with the CVE (Common Vulnerabilities and Exposures) database
- Easy integration with CI/CD pipelines
- Generation of reports in various formats such as HTML, XML, CSV, and JSON
(2) SW360
SW360 is an open source software component management tool managed by the Eclipse Foundation that also provides security vulnerability management features.
Key features:
- Automatic vulnerability checks for registered releases
- Periodic collection of CVE information (scheduled every 24 hours)
- Viewing security vulnerabilities by project
- Tracking the impact of newly published vulnerabilities on existing products
For how to manage security vulnerabilities with SW360, refer to the SW360 guide.
(3) FOSSLight
FOSSLight similarly acquires security vulnerability information automatically, automatically checks project information where a security vulnerability has been detected, and provides notifications such as email when necessary.
Using these tools, an enterprise can effectively manage open source security vulnerabilities while meeting the requirements of ISO/IEC 18974.
5. Open Source Compliance Artifact Generation Tools
The open source notice, a key open source compliance artifact, is a document that provides the copyright and license information of the open source included in supplied software. An open source notice can be written manually, but it is more efficient to use a tool that generates it automatically.
(1) onot
SK telecom has released as open source, under the name onot, the tool it uses internally to automatically generate open source notices. Kakao also participated in the joint development by contributing key features.

onot is a tool that automatically converts an SBOM written in the SPDX document format into an open source notice format. It is a Python program that is lightweight and simple to use.

(2) FOSSLight
FOSSLight also provides a feature that automatically generates an open source notice based on the SBOM it has acquired.

Using these tools makes it possible to automate and standardize the process of generating open source notices, raising the efficiency and accuracy of the open source license compliance process. This also helps meet the requirements of ISO/IEC 5230 and ISO/IEC 18974.
6. Archiving Open Source Compliance Artifacts
Systematically archiving and managing open source compliance artifacts is very important for open source license compliance. In particular, for licenses such as GPL and LGPL that require source code disclosure, the source code must be available for at least three years after the distribution of the supplied software.
To this end, the ISO/IEC 5230 standard requires a documented procedure for archiving copies of the compliance artifacts of distributed software, as follows.
- 3.4.1.2 - A documented procedure for archiving copies of the compliance artifacts of the supplied software - where the archive is planned to exist for a reasonable period of time (Determined by domain, legal jurisdiction and/or customer contracts) since the last offer of the supplied software; or as required by the identified licenses (whichever is longer). Records exist that demonstrate the procedure has been properly followed.
A documented procedure for archiving copies of the compliance artifacts of distributed software - the archived copies must be kept for a reasonable period after the last offer of the distributed software, or for the period required by the identified licenses, whichever is longer. Records must exist that demonstrate this procedure has been properly followed.
To this end, an enterprise must build a system to safely archive its open source compliance artifacts and disclose them externally when necessary.
(1) GitHub Pages
GitHub Pages is a service that lets you host a website directly from a GitHub repository. It can be used to archive and publish open source compliance artifacts.
The way to archive open source compliance artifacts using GitHub Pages is as follows:
- Create a dedicated repository on GitHub
- Upload the open source notice and source code to the repository
- Activate the website through GitHub Pages settings
- Configure it so it can be accessed externally through a public URL
Using GitHub Pages has the following benefits:
- Free to use
- Provides version control
- High availability and stability
- Easy to update and manage
This tool environment can be seen in reference on SK telecom’s open source website.

This website was developed as open source, and its source code is public, so other enterprises can easily build a similar environment.

By using GitHub Pages to archive and publish open source compliance artifacts, an enterprise can effectively fulfill its open source license obligations and improve transparency.
7. Integration with Continuous Integration/Deployment (CI/CD) Tools
Integrating open source compliance and security assurance activities into a continuous integration/deployment (CI/CD) pipeline enables automated inspection and management throughout the development process. This makes it possible to discover and resolve open source-related issues early.
(1) Jenkins Plugins
Jenkins is a widely used open source automation server that can integrate with open source compliance and security assurance tools through various plugins.
Major Jenkins plugins:
- FOSSology Plugin: Integrates FOSSology scans into a Jenkins pipeline.
- OWASP Dependency-Check Plugin: Automates checks for known vulnerabilities or newly discovered vulnerabilities.
- SW360 Plugin: Integrates SW360 with Jenkins to automate SBOM management.
Example Jenkins pipeline:
pipeline {
agent any
stages {
stage('Checkout') {
steps {
checkout scm
}
}
stage('Dependency Scan') {
steps {
dependencyCheck additionalArguments: '', odcInstallation: 'Default'
}
}
stage('License Scan') {
steps {
fossology()
}
}
stage('SBOM Update') {
steps {
sw360UpdateProject()
}
}
}
post {
always {
dependencyCheckPublisher pattern: '**/dependency-check-report.xml'
}
}
}
This pipeline sequentially performs source code checkout, dependency vulnerability scanning, license scanning, and SBOM update.
(2) GitLab CI/CD Pipeline
GitLab CI/CD is a continuous integration/deployment tool built into GitLab, with pipelines defined through a .gitlab-ci.yml file.
Example GitLab CI/CD pipeline:
stages:
- scan
- analyze
- report
dependency_scan:
stage: scan
script:
- docker run --rm -v $(pwd):/src owasp/dependency-check --scan /src --format "ALL" --out /src/reports
license_scan:
stage: scan
script:
- docker run --rm -v $(pwd):/project fossology/fossology:latest /usr/local/fossology/fo_cli -c /project
sbom_update:
stage: analyze
script:
- sw360 update-project
vulnerability_report:
stage: report
script:
- generate_vulnerability_report
artifacts:
reports:
dependency_scanning: reports/dependency-check-report.json
license_report:
stage: report
script:
- generate_license_report
artifacts:
reports:
license_scanning: reports/license-scan-report.json
This pipeline performs dependency vulnerability scanning, license scanning, SBOM update, and generation of vulnerability and license reports.
By integrating these processes into a CI/CD pipeline, an enterprise can automate open source compliance and security assurance activities and integrate them smoothly into the development workflow. This helps effectively meet the requirements of ISO/IEC 5230 and ISO/IEC 18974.
8. Summary
Once this tool environment is in place, the key requirements of the ISO/IEC 5230 and ISO/IEC 18974 standards can be met.

Using these tools brings the following benefits:
Source code scanning and dependency analysis tools make it possible to accurately identify the open source included in supplied software and determine its license.
Open source governance and SBOM management tools make it possible to systematically manage and track the open source components in supplied software.
Open source security vulnerability management tools make it possible to continuously monitor and respond to known vulnerabilities or newly discovered vulnerabilities.
Open source compliance artifact generation and archiving tools make it possible to efficiently generate and manage the documents needed to comply with license obligations.
Integration with CI/CD tools makes it possible to integrate the open source management process into the development workflow and automate it.
Building this tool environment allows an enterprise to carry out open source license compliance and security assurance activities in a systematic and efficient way, and provides significant help in meeting the requirements of ISO/IEC 5230 and ISO/IEC 18974.
By making effective use of open source management tools, an enterprise can minimize the legal risk that comes with using open source, respond promptly to security vulnerabilities, and build a transparent and trustworthy software supply chain. This will ultimately lead to improved competitiveness and greater customer trust for the enterprise.
1.6 - 5. Training
1. Training
No matter how excellent the policy and process an enterprise builds, they are useless if none of its employees pay any attention to them. For open source policy and process to work effectively within an enterprise, employee training is essential.
An enterprise must provide practical means, such as training and internal wikis, so that every program participant is aware that an open source policy exists within the organization and can carry out the necessary activities. Here, program participants refers to all employees involved in the enterprise’s software development, distribution, and contribution activities, including software developers, release engineers, and quality engineers.
To this end, the ISO standards commonly require a documented procedure for communicating the open source policy, as follows.
- 3.1.1.2 - A documented procedure that makes program participants aware of the existence of the open source policy (e.g., via training, internal wiki, or other practical communication method).
A documented procedure that makes program participants aware of the existence of the open source policy (e.g., via training, internal wiki, or other practical communication method)
- 3.1.1.2: A documented procedure to make Program Participants aware of the Security Assurance policy.
A documented procedure to make Program Participants aware of the Security Assurance policy.
Many enterprises publish their open source policy document on an internal wiki site so that any employee can check what they need. In addition, they mandate open source policy training during new hire onboarding, and provide periodic training to program participants once a year or once every two years, so that every program participant is aware that the open source policy exists.
An enterprise must write up these methods and include them in the open source policy document, as in the example below.
5. Training and Assessment
All members holding a role defined in Chapter 4 must complete the advanced open source training course offered on the [Learning Portal]. This ensures familiarity with the open source policy, the related training policy, and how to look it up. Training records and assessment results are retained on the [Learning Portal] for at least 3 years.
An enterprise must make program participants aware of its open source policy, its open-source-related objectives, how participants can contribute to making the open source program effective, and the implications of failing to comply with program requirements. To this end, the enterprise must provide training, conduct assessments to confirm that program participants have correctly understood these points, and document and retain the assessment results.
The ISO standards commonly require documented evidence showing that program participants’ awareness has been assessed, as follows.
- 3.1.3.1 - Documented evidence of assessed awareness for the program participants - which should include the program’s objectives, one’s contribution within the program, and implications of program non-conformance.
Documented evidence that the program participants' awareness of the following has been assessed: the program's objectives, how participants contribute within the program, and the implications of program non-conformance
- 3.1.3.1: Documented Evidence of assessed awareness for the Program Participants - which should include the Program’s objectives, one’s contribution within the Program, and implications of Program non-conformance.
Documented evidence that the program participants' awareness of the following has been assessed: the program's objectives, how participants contribute within the program, and the implications of program non-conformance.
Accordingly, an enterprise can include content such as the following example in its open source policy.
1. Purpose
(1) Purpose of the Policy
This policy provides the following principles for the entire organization involved in software development, service, and distribution at OOO Corporation (hereinafter "the Company") to properly use open source software (hereinafter "open source").
1. Principles of open source compliance / security assurance
2. Principles for contributing to external open source projects
3. Principles for releasing internal projects as open source
These principles provide a way for every member of the Company to understand the value of open source, use open source correctly, and contribute to the open source community.
Every member of the Company can check the open source policy at the following link on the internal wiki: [internal_link]
(2) Consequences of Non-Compliance
Failure to comply with this policy may result in the following situations.
- The Company may receive external requests for open source license compliance.
- The Company may be forced to unintentionally disclose source code it developed.
- The Company may be sued by open source copyright holders.
- The Company may be fined for copyright infringement or breach of contract, or ordered to halt product sales.
- The Company's reputation may be damaged.
- The Company may breach a contract with a supplier and be subject to a claim for damages.
- The Company may be exposed to a serious security incident, causing substantial harm to the Company.
For these reasons, the Company regards violations of the open source policy seriously, and members or organizations that violate it may be subject to disciplinary action.
(3) How Members Can Contribute
Every member of the Company can contribute to the effectiveness of this policy and to improving the Company's compliance level by understanding the rationale and content of this policy and faithfully carrying out the required activities.
Assessment is explained in more detail again below.
Open source training also includes content on the open source contribution policy. Even if an enterprise has created an open source contribution policy, if internal members are unaware that it exists, there is a risk that indiscriminate contribution activity could cause harm to both individuals and the company.
To address this, the ISO/IEC 5230 standard requires a documented procedure that makes all program participants aware of the existence of the open source contribution policy, as follows.
- 3.5.1.3 - A documented procedure that makes all program participants aware of the existence of the open source contribution policy (e.g., via training, internal wiki, or other practical communication method).
A documented procedure that makes all program participants aware of the existence of the open source contribution policy (e.g., via training, internal wiki, or other practical communication method)
Accordingly, an enterprise must provide open source training so that all in-house developers are aware that the open source contribution policy exists.
Creating training materials from scratch can also be difficult for someone new to the role. To help with this difficulty, NCSOFT made its internal open source training materials available to anyone by publishing the lesson slides (PPT) and lecture scripts on GitHub.

Additionally, Kakao, a leading domestic platform company, has also made its open source training materials for in-house developers publicly available for anyone to view.

If an enterprise has not yet created its own training materials, making use of the open source training materials from these leading enterprises is also a good approach.
2. Assessment
Once an enterprise has assigned an owner for each role, it must confirm that the assigned owner is qualified to perform the role based on education, training, and experience. Program participants with insufficient competency must also be given training to build sufficient competency. The enterprise must then assess whether each participant has the required competency and retain the results.
To this end, the ISO standards commonly require documented evidence that program participants’ competency has been assessed, as follows.
- 3.1.2.3 - Documented evidence of assessed competence for each program participant.
Documented evidence of assessed competence for each program participant
- 3.1.2.4 - Documented evidence of assessed competence for each Program Participant;
Documented evidence of assessed competence for each Program Participant
Accordingly, an enterprise must carry out training and assessment and retain the results, as follows.
- The enterprise provides training so that each participant can acquire the necessary competencies.
- An assessment is conducted based on the training content.
- The assessment results are retained by the enterprise’s training system or HR department.
When there are hundreds or more program participants, making delivering training difficult, using the enterprise’s online training and assessment system is also a good approach.
Content such as this can be included in an enterprise’s open source policy as follows.
4. Roles, Responsibilities, and Competencies
To ensure the effectiveness of this policy, the roles and responsibilities and the competencies required of the owner of each role are defined as follows.
The responsible organization/owner and the required competency level for each role are defined in [Appendix 1. Assigned Owners].
5. Training and Assessment
All members holding a role defined in Chapter 4 must complete the advanced open source training course offered on the [Learning Portal]. This ensures familiarity with the open source policy, the related training policy, and how to look it up.
Training records and assessment results are retained on the [Learning Portal] for at least 3 years.
3. Open Source License Guide
To properly comply with open source licenses, one must accurately know the requirements of each open source license. However, since it is difficult for individual software developers to grasp all of this on their own, it is advisable for the Open Source Program Manager to summarize the requirements and cautions for common use cases of frequently used open source licenses and share them within the company.
The open source license guide should include the requirements for common open source license use cases, enabling development teams to properly comply with license obligations while using open source.
To this end, the ISO/IEC 5230 standard requires a documented procedure for handling common open source license use cases for the open source components within software to be distributed, as follows.
- 3.3.2.1 - A documented procedure for handling the common open source license use cases for the open source components of the supplied software.
A documented procedure for handling the common open source license use cases for the open source components of the supplied software
To handle open source license use cases, a license guide organized by open source license is needed. For a general guide to open source licenses and a summary of license obligations, the License Guide provided by the Korea Copyright Commission can be referenced.
The Obligations by License document within SK telecom’s open source guide is also a good resource.
https://sktelecom.github.io/guide/use/obligation/gpl-2.0/
An enterprise must provide the open source license guide in a location that members can easily access and reference.
4. Awareness-Raising Activities
To continuously raise program participants’ awareness of open source license compliance and security assurance, the following activities are carried out:
(1) Regular Newsletter Publication
- The Open Source Program Manager publishes an open-source-related newsletter once a month.
- The newsletter includes the latest open source trends, license compliance cases, security vulnerability information, and more.
- It is distributed by email to all program participants and also posted on the internal intranet.
(2) Workshops and Seminars
- Open-source-related workshops or seminars are held quarterly.
- External experts are invited to give talks on open source licenses, security, and the latest technology trends.
- Program participants are encouraged to attend, and attendance records are kept.
(3) Open Source Contribution Encouragement Program
- A program encouraging program participants to contribute to external open source projects is run.
- An incentive system for contribution activity is established, and outstanding contributors are selected and rewarded quarterly.
- Contribution activities are shared within the company and reflected in performance evaluations.
5. Measuring and Improving Training Effectiveness
To continuously measure and improve the effectiveness of the open source training program, the following activities are carried out:
(1) Training Program Evaluation Metrics
- The training program is evaluated using the following quantitative and qualitative metrics:
- Training completion rate
- Assessment test scores
- Reduction rate in the number of license compliance violations
- Reduction rate in security vulnerability response time
- Program participant satisfaction score
(2) Feedback Collection and Analysis
- Feedback is collected from participants after every training program ends.
- Opinions on the training content, instructor, and training method are collected through an online survey.
- The collected feedback is analyzed to identify areas for improvement.
(3) Establishing a Continuous Improvement Plan
- Based on the evaluation metric results and feedback analysis, a training program improvement plan is established semiannually.
- The Open Source Program Manager reports the improvement plan to the OSRB and obtains approval.
- The approved improvements are reflected in the next training program, and their effectiveness is monitored.
Through these activities, program participants’ awareness of open source can be raised, and the effectiveness of the training program can be continuously improved.
6. Summary
By building the training, assessment, awareness-raising activities, and training-effectiveness measurement and improvement process described so far, an enterprise can satisfy the key requirements of the ISO/IEC 5230 and ISO/IEC 18974 standards.

Through this training and assessment system, an enterprise can raise program participants’ understanding of open source license compliance and security assurance and continuously improve their competency. In addition, through regular assessment and improvement activities, the effectiveness of the program can be continuously enhanced.
Ultimately, this will help raise an enterprise’s level of open source management, minimize the legal risk arising from open source use, and strengthen its ability to respond to security vulnerabilities.
1.7 - 6. Conformance Declaration
An enterprise that has built an open source program (open source policy / process / tools / organization) conforming to all the requirements of ISO/IEC 5230 and ISO/IEC 18974 must document and declare the following two items.
(1) Confirming That Standard Requirements Are Met
ISO/IEC 5230 and ISO/IEC 18974 require a document confirming that the program meets all requirements, as follows:
- 3.6.1.1 A document affirming the program specified in §3.1.4 satisfies all the requirements of this document.
A document affirming that the program specified in §3.1.4 satisfies all the requirements of this specification
- 3.4.1.1: Documented Evidence affirming the Program specified in §3.1.4 satisfies all the requirements of this document.
Documented evidence affirming that the Program specified in §3.1.4 satisfies all the requirements of this document.
To this end, an enterprise must prepare a document containing the following content:
The open source program of [Company Name] meets all the requirements of ISO/IEC 5230:2020 (open source license compliance) and ISO/IEC 18974 (open source security assurance).
This can be confirmed through the following documents and processes:
1. Open source policy document
2. Open source process document
3. Open source training and assessment records
4. SBOM (Software Bill of Materials) management system
5. Open source license compliance artifact generation and retention system
6. Open source security vulnerability management system
7. External inquiry response process records
[Date]
[Signature of Open Source Program Manager]
(2) Declaring Continued Conformance Assurance
ISO/IEC 5230 and ISO/IEC 18974 also require a document confirming that all requirements continue to be met for 18 months after obtaining conformance certification:
- 3.6.2.1 A document affirming the program meets all the requirements of this document, within the past 18 months of obtaining conformance validation.
A document affirming that the program has met all the requirements of this specification version (v2.1) during the past 18 months since obtaining conformance validation
- 3.4.2.1: A document affirming the Program meets all the requirements of this specification, within the past 18 months of obtaining conformance validation.
A document affirming that the program has met all the requirements of this specification during the past 18 months since obtaining conformance validation
To this end, an enterprise must prepare and periodically update a document containing the following content:
[Company Name] guarantees that it will maintain a state of meeting all requirements for at least 18 months after obtaining conformance certification for ISO/IEC 5230:2020 (open source license compliance) and ISO/IEC 18974 (open source security assurance).
To this end, the following activities are carried out:
1. Conduct an internal audit at least every 6 months to verify that all requirements continue to be met
2. Obtain an external expert review at least once a year to assess the program's effectiveness
3. Provide ongoing training and competency assessment for program participants
4. Regularly review and update the open source policy and processes
5. Monitor and respond to changes in new technology trends and legal requirements
[Date]
[Signature of Open Source Program Manager]
An enterprise can include this document in its open source policy or publish it on a publicly accessible website. For example, SK telecom publishes this content on its own open source portal site:
https://sktelecom.github.io/compliance/iso5230/
Through this documentation, an enterprise satisfies all the requirements of ISO/IEC 5230 and ISO/IEC 18974, and can guarantee ongoing management and improvement of its open source license compliance and security assurance.

2 - A Guide to Building Enterprise Open Source Governance Based on the International Standard ISO/IEC 5230
ISO/IEC 5230 is an international standard for open source compliance that defines the minimum core requirements a company distributing software must meet to make proper use of open source. This section briefly introduces ISO/IEC 5230 and explains how a company can build an open source governance system based on it.
This content is the result of research conducted in 2021 as a research topic selected by the Korea Copyright Commission’s Open Source Expert Community.
Author : Haksung Jang (haksung@sktelecom.com)
References
This guide references the following materials.
2.1 - 1. Understanding ISO/IEC 5230
What is ISO/IEC 5230?
ISO/IEC 5230 is a specification created by the Linux Foundation’s OpenChain Project that defines the minimum core requirements for ensuring trustworthy open source compliance across the software supply chain.
Today’s software keeps growing in scale and complexity. Building a single piece of software can involve not only software developed in-house but also a wide range of software from across the supply chain, including open source, third-party software, and vendor SDKs.
If even one organization in this complex software supply chain fails to comply with its open source license obligations or fails to provide accurate information about its open source usage, the company distributing the final software has no choice but to fail at open source license compliance as well. This can result in lawsuits that force the company to halt sales of its product.

In December 2009, there was a lawsuit involving the open source project Busybox. Busybox is a GPL-2.0-licensed open source project widely used in embedded systems, and 14 companies, including two Korean companies, were named as defendants. What stood out about this case is that even companies that had not developed the product themselves, but had merely distributed it, were sued.
In such a complex software supply chain environment, it is extremely difficult for any single company, no matter how excellent its processes are, to achieve complete open source compliance on its own. In the end, for a company to properly implement open source compliance, every participant in the software supply chain must comply with license obligations and provide accurate open source information. This kind of trust must be built across the entire supply chain.
The Linux Foundation’s OpenChain project was founded on the belief that if the core requirements a company must meet for open source compliance are defined concisely and consistently, and everyone complies with them, trust regarding open source licensing can be built across the entire software supply chain.

At an open source conference in Europe in 2016, Dave Marr, an open source attorney at Qualcomm, emphasized exactly this point. To raise a company’s level of open source compliance, the level of open source compliance of every participant in the software supply chain must be raised. He also suggested that, to achieve this, advanced companies that already understand open source well and have established policies and processes could open up their assets and know-how so that anyone could reference them. Conference attendees agreed with the idea that “open source compliance is not an area where companies can differentiate their competitive advantage. Companies want an adequate level of risk management while investing minimal resources. That is why the more companies share their assets with one another, the more everyone can achieve compliance with fewer resources.” That is how the OpenChain project (then a Work Group) began, with the participation of numerous global companies including Qualcomm, Siemens, Wind River, ARM, and Adobe.
The OpenChain project provides companies with three main things to make it easier to achieve open source compliance.
Let’s look at how companies can use each of these.
The OpenChain Specification and ISO/IEC 5230
The OpenChain Specification is a 10-page document that defines the core requirements for open source compliance. OpenChain Specification version 1.0 was released in 2016. The OpenChain Specification is designed to be applicable to any company, regardless of its size or industry.
Version 2.1 of the specification was released in 2020, and it defines six core requirements that a company must fulfill to achieve open source compliance, along with a list of the evidence needed to demonstrate each.
- Establishing the program
- Defining and supporting relevant roles
- Reviewing and approving open source content
- Creating and delivering compliance artifacts
- Understanding engagement with open source communities
- Complying with the specification’s requirements
For a company just starting out with open source compliance, a good strategy is to raise its maturity level by fulfilling these OpenChain Specification requirements one by one.

In December 2020, this OpenChain Specification was formally registered as the international standard4 for open source compliance.

The OpenChain Specification, which had been a de facto standard for the previous four years, was converted into the formal international standard ISO/IEC 5230:2020, the first international standard to define open source compliance and process management. As a result, interest in ISO/IEC 5230 compliance is growing among global IT companies, and more companies are expected to require their suppliers in the software supply chain to comply with ISO/IEC 5230.
How to Get Certified for ISO/IEC 5230
If a company complies with all of the requirements in ISO/IEC 5230, it can be certified as having an open source program that conforms to ISO/IEC 5230. An open source program refers to the set of management systems, including policies, processes, and personnel, that a company puts in place to carry out open source compliance activities.
The image below lists the item numbers required by ISO/IEC 5230. A company that satisfies all of these items can be recognized as having built a transparent and trustworthy open source governance system across its software supply chain.

The OpenChain project proposes three certification methods.
- Self Certification
- Independent Assessment
- Third-Party Certification

Let’s look at each method.
1. Self Certification
Self certification is the method most recommended by the OpenChain project, and it has the advantage of being free of charge. The OpenChain Project provides an OpenChain self-certification website so that companies can check for themselves whether they comply with the OpenChain Specification2. A company’s open source manager can sign up on the OpenChain self-certification website and begin the online self-certification process. Self certification proceeds by answering Yes/No questions as shown below.

If a company has built a solid open source compliance system and can answer Yes to every question in OpenChain self-certification, it can submit these results on the website as a Conforming Submission. After a simple Q&A-style confirmation process by the Linux Foundation, the company can then declare ISO/IEC 5230 certification.

Once this certification declaration is made, the company is recognized in the Global Software Supply Chain as having an open source program that conforms to ISO/IEC 5230.

The OpenChain project recommends the self-certification approach. For reference, most companies that have declared OpenChain conformance have also adopted self certification.
Furthermore, through the self-certification process, a company can determine what it lacks and what additional activities are needed. This guide explains how to comply with the ISO/IEC 5230 requirements, organized by key components such as organization, policy, and process.
If a company lacks the capability to fill these gaps on its own using the guide alone, it can consider the independent assessment method.
2. Independent Assessment
In independent assessment, an independent organization outside the company examines and evaluates the company’s open source compliance status from a fair, external perspective. What distinguishes independent assessment is that it does not stop at producing an assessment report, but also provides consulting to help address the gaps that are identified. (Note, however, that it does not issue an official certificate.)
Through fair assessment and consulting from an independent organization, a company can raise its compliance level, and by repeating independent assessments, it can refine its policies and build out its processes.

Eventually, the company reaches a level at which it can obtain ISO/IEC 5230 certification, at which point it can proceed to self certification or third-party certification. In this way, independent assessment provides the evaluation and consulting needed to raise a company’s open source compliance level, supporting the company as it works to build an ISO/IEC 5230 conforming program and obtain certification.
Companies that provide independent assessment include AlektoMetis5 and Source Code Control6.
In Korea, the Conformance Group7, a subgroup of the OpenChain Korea Work Group, is a community where companies discuss and share methods for achieving ISO/IEC 5230 compliance among themselves. Any member of the OpenChain Korea Work Group can join and get help.
3. Third-Party Certification
If a company wants to demonstrate a more reliable and transparent level of open source compliance to buyers in the software supply chain, it can obtain a certificate from a third-party certification body and use it for promotional purposes. It is also expected that some buyers who demand stronger assurance of open source compliance reliability may require their suppliers to obtain third-party certification.
As of October 2021, OpenChain’s authorized third-party certification bodies are ORCRO8, PWC9, TÜV SÜD10, Synopsys11, and Bureau Veritas12.

These bodies provide assessments to confirm ISO/IEC 5230 conforming programs and issue certificates to companies that pass.

As of October 2021, there still appear to be no buyers or institutions that mandatorily require third-party certification. However, some experts in the European automotive industry predict that it will not be long before ISO/IEC 5230 becomes mandatory for automotive software suppliers, much like ASPICE (Automotive SPICE)13, the international standard process model for automotive software development.
For more detail on the self-certification method, you can also refer to the following slides.
OpenChain Resources
The OpenChain project provides a variety of reference materials that companies need to build a compliance program, including policy document templates and training materials. These materials are designed to help organizations comply with the OpenChain Specification and support common open source compliance activities, and they are provided under a CC-0 license so that anyone can use them freely.

Much of the content in this guide was also written based on materials published by OpenChain. If a company’s open source manager needs policies, processes, or training materials, they should first check the OpenChain Resources. These materials are also translated into Korean and published. The OpenChain Korea Work Group14 leads this translation effort. Anyone interested can participate in the Korean translation work15.
The ISO/IEC 5230 Trend
In early 2021, news emerged that a German automaker had begun requiring its parts suppliers to plan for ISO/IEC 5230 compliance, and a European open source professor said, “It is clear that buyers in the software supply chain will increasingly require suppliers to comply with ISO/IEC 5230 going forward,” adding, “In the automotive industry, it will become like A-SPICE.”
Reflecting this trend, in May 2021, Scania, part of the Volkswagen Group, included a requirement for ISO/IEC 5230 compliance in its own corporate standard (STD 4589) that suppliers must follow.

Also, in July 2021, Bosch, an automotive and industrial technology company, declared that all of its group companies would have an ISO/IEC 5230 conforming program by the end of the year. Industry observers suggest it is only a matter of time before all automakers and companies in other industries begin requiring ISO/IEC 5230 within their software supply chains.

OpenChain Specification - https://www.openchainproject.org/get-started/conformance ↩︎
OpenChain self-certification website - https://certification.openchainproject.org/ ↩︎ ↩︎
OpenChain reference materials - https://www.openchainproject.org/resources ↩︎
ISO/IEC 5230: https://www.iso.org/standard/81039.html ↩︎
AlektoMetis - https://alektometis.com/, ↩︎
Source Code Control - https://sourcecodecontrol.co/ ↩︎
Conformance Group - https://openchain-project.github.io/OpenChain-KWG/subgroup/conformance/ ↩︎
ORCRO- https://orcro.co.uk/ ↩︎
TÜV SÜD - https://www.tuvsud.com ↩︎
Synopsys - https://www.synopsys.com/ ↩︎
Bureau Veritas - https://group.bureauveritas.com/ ↩︎
ASPICE: International standard process model for automotive software development - http://www.automotivespice.com ↩︎
OpenChain Korea Work Group - https://openchain-project.github.io/OpenChain-KWG/ ↩︎
Korean translation work - https://openchain-project.github.io/OpenChain-KWG/resource/ ↩︎
2.2 - 2. Essential Elements
Essential Elements of an Open Source Governance System
To build an efficient open source governance system, a company needs the following elements.

Among these elements, to build an open source governance system that fully meets all the requirements of ISO/IEC 5230, a company must basically have the following five elements in place. This section explains the details of each.

2.3 - 3. Organization (Personnel)
Defining Roles and Responsibilities
To build a company’s open source governance system, a responsible person who takes charge of and carries out this task is needed first. This person may be called an Open Source Program Manager, Open Source Compliance Officer, or similar title, and is responsible for the company’s overall open source compliance.
A person with the following competencies is well suited for this role.
- Understanding of the open source ecosystem and development experience
- Broad understanding of the company’s business
- Passion and communication skills to spread effective open source use among the company’s members
It is best to ensure that the Open Source Program Manager can perform this role full-time whenever possible.
Global ICT companies are working to hire excellent Open Source Program Managers like this, and various job postings can be found at the following site: https://github.com/todogroup/job-descriptions
To build an open source governance system, a company must define the necessity of each role and determine what responsibilities should be assigned. In the case of a small company, it is possible for the Open Source Program Manager alone to perform all roles. Depending on the size of the company, an infrastructure officer to operate open source tools may also be needed, and a legal officer role to provide professional legal advice may be required.
In general, the following roles are needed to build a company’s open source governance system.
- Legal officer
- Infrastructure officer
- Development culture officer
- Security officer

By doing this, a company can prepare the following evidence materials required by ISO/IEC 5230.
- 3.1.2.1 Documentation that lists the roles of the various participants in the Program, and the responsibilities associated with each Program role
| Self Certification 1.c | Have you identified the roles and the corresponding responsibilities that affect the performance and effectiveness of the Program? |
|---|---|
| Have you identified the roles and the corresponding responsibilities that affect the performance and effectiveness of the Program? |
Defining Required Competencies
Once each role and its responsibilities have been defined, the required competencies that personnel performing that role must have need to be identified. This is because the person in charge of each role must be assessed for whether they have the competency to perform that role, and training must be provided if needed.
By doing this, a company can prepare the following evidence materials required by ISO/IEC 5230.
- 3.1.2.2 Documentation describing the competency needed for each role
| Self Certification 1.d | Have you identified and documented the competencies required for each role? |
|---|---|
| Have you identified and documented the competencies required for each role? |
Assigning Personnel
The Open Source Program Manager consults with the relevant departments to assign personnel for each role and documents this. Of course, to do this, the goals and direction for building the open source compliance system must be reported to top decision-makers such as the CEO in order to receive the necessary support.
The open source-related organization and personnel do not necessarily need to participate in open source work full-time. It is fine to form a virtual organization in the form of an OSRB (Open Source Review Board) to perform the necessary roles.
SK telecom has formed an OSRB to create open source policies and processes within the company and to prepare response measures when issues arise.

By doing this, a company can prepare the following evidence materials required by ISO/IEC 5230.
- 3.2.2.1 Documentation naming the person, group, or function responsible for each role within the Program
| Self Certification 2.d | Have you documented the persons, group or function supporting the Program role(s) identified? |
|---|---|
| Have you documented the persons, group or function supporting the Program role(s) identified? |
The table below is a sample personnel roster specifying the roles of the open source-related organization and personnel, along with the required competencies. A company can refer to this to organize and document its open source organization.

This content can also be found on the following page. : https://haksungjang.github.io/docs/openchain/#appendix-1-담당자-현황
Organizing in this way satisfies the following three requirements of ISO/IEC 5230.

2.4 - 4. Policy
Documenting the Open Source Policy
A company must establish and document an open source policy consisting of principles for the correct use of open source by every organization involved in software development, service delivery, and distribution, and must disseminate it throughout the organization.
A typical open source policy includes the following.
- Principles for building and distributing software products and services using open source
- Principles for contributing to external open source communities
- Principles for releasing the company’s software as open source
The following page provides a sample open source policy document that satisfies the ISO/IEC 5230 requirements: “Appendix 1. Sample Open Source Policy”

Each company can modify this sample policy to fit its own business strategy and environment.
Doing so allows a company to prepare the following evidence required by ISO/IEC 5230.
- 3.1.1.1 Documented open source policy
| Self Certification 1.a | Does a documented policy exist that governs open source license compliance of the Supplied Software distribution? |
|---|---|
| Do you have a documented policy that governs open source license compliance of the Supplied Software distribution? |
Defining the Scope
A single open source policy (program) does not necessarily have to apply to the entire organization. The scope of application can vary depending on the characteristics of each organization and product within the company. Different open source programs can be applied by organization or by product. Likewise, an organization that does not distribute software at all can be excluded from the scope of the open source program. A company should clearly define the scope and limits of its open source program based on the characteristics of its organizations and products, and specify this in its open source policy.
As a company’s organizations, products, and services change to fit its business environment, situations may arise where the scope of the program needs to be determined or revised. A company should have a procedure in place to respond to this, such as the following example.
- When starting a new project, the open source program manager determines whether the project falls within the scope of the program.
- If it is determined not to fall within scope, a proposal to bring the project into the scope of the program is submitted to the OSRB.
- If the OSRB accepts the proposal, the scope of the program is revised accordingly.
- In addition, if the open source program manager determines that a review of the program’s scope is needed, they can initiate a review of the program’s scope through the same process.
The following example content can be included in an open source policy.
2. Scope
This policy applies to the following three areas.
1) It applies to all products the company provides or distributes externally.
However, using open source solely for internal purposes is not
within the scope of this policy.
2) It applies when a member contributes to an external open source project.
3) It applies when releasing internal code as open source.
The scope can be changed to fit the company's business environment,
and the procedure for doing so is as follows.
1) If the open source program manager determines that a change in the
policy's scope is needed due to changes in the company's business
environment, such as new business or organizational restructuring,
they submit a proposal for this to the OSRB.
2) The OSRB approves an appropriate level of change to the scope.
3) The OSRB revises the open source policy to change the policy's scope.
Doing so allows a company to prepare the following evidence required by ISO/IEC 5230.
- 3.1.4.1 Documented statement that clearly defines the scope and limits of the program
| Self Certification 1.g | Does a process exist to determine the scope of the Program? |
|---|---|
| Do you have a process for determining the scope of your Program? |
| Self Certification 1.h | Does a documented statement exist that clearly defines the scope and limits of the Program? |
|---|---|
| Do you have a written statement clearly defining the scope and limits of the Program? |
Designating a Point of Contact for External Inquiries / Publishing Contact Information
Customers and open source copyright holders sometimes raise open source-related inquiries, requests, or claims to a company regarding products or services developed using open source. The main content of such external inquiries and requests includes the following.
- Inquiries about whether open source was used in a specific product or service
- Requests for the source code provided under a Written Offer for GPL or LGPL licensed code
- Requests for an explanation or the release of source code for open source found in a product that was not disclosed in the open source notice
- Requests for missing files or build instructions for source code released to satisfy GPL, LGPL, or similar obligations
- Requests for copyright attribution
A company must designate a person responsible for handling these external inquiries. This is typically the open source program manager.
Also, external open source developers sometimes want to contact a company’s point of contact to discuss an open source compliance issue but cannot find a way to reach them, and end up filing a legal claim directly. To prevent this, a company must always publicly disclose a way for third parties to make open source-related inquiries and requests to the company.
The ways in which external parties can make open source-related inquiries to a company are (1) publishing the email address of the company’s open source program manager, or (2) using the Linux Foundation’s Open Compliance Directory.
It is also good practice to publish the representative email address of the company’s open source program office in the open source notice that accompanies its products and services.

This content can be reflected in the open source policy as shown in the example below.
1. Responding to External Inquiries
(1) Responsibility for Responding to External Inquiries
The open source program manager is responsible for responding to
inquiries and requests about open source compliance from outside
the company.
The open source program manager can assign all or part of the
handling of an inquiry to an appropriate person within [Company].
If necessary, the legal team is consulted for handling.
Anyone who receives an external inquiry about open source
compliance should notify the open source program manager so that
a prompt response can be made.
(2) Publishing Contact Information
The open source program manager publicly provides the contact
information of the responsible person so that external parties
can make open source-related inquiries and requests.
* Provide contact email address information in the open source notice.
* Register contact information in the Linux Foundation's Open
Compliance Directory.
(3) Procedure for Responding to External Inquiries
Responding quickly and accurately to external open source
compliance inquiries can greatly reduce the risk of escalation
to litigation. To this end, the company complies with the
external inquiry response procedure defined in the open source
compliance process to respond to external open source compliance
inquiries.
Doing so allows a company to prepare the following evidence required by ISO/IEC 5230.
- 3.2.1.1 A published method by which third parties can make inquiries about open source license compliance (such as the responsible person’s email address, or use of the Linux Foundation’s Open Compliance Directory)
| Self Certification 2.a | Has a person been assigned to receive external open source compliance inquiries (the Open Source Liaison)? |
|---|---|
| Have you assigned individual(s) responsible for receiving external open source compliance inquiries (“Open Source Liaison”)? |
| Self Certification 2.b | Is the Open Source Liaison’s information publicly available (for example, an email address, or a listing in the Linux Foundation’s Open Compliance Directory)? |
|---|---|
| Is the Open Source Liaison function publicly identified (e.g. via an email address and/or the Linux Foundation’s Open Compliance Directory)? |
Providing Staffing, Budget, and Other Support
A company must provide sufficient resources so that its open source program can function smoothly. It must appropriately staff each role within the program and ensure adequate budget and working hours. If it cannot, it must have a procedure in place to compensate for this. The following example wording can be added to the open source policy document.
4. Roles, Responsibilities, and Competencies
The head of the organization responsible for each role designates
a person in charge within the organization and allocates
appropriate time and budget so that person can carry out the role
faithfully. If a person responsible for a role feels they are not
receiving adequate support in carrying it out, they must raise the
issue with the open source program manager. The open source
program manager discusses resolving the issue with the relevant
head of organization. If it is not resolved appropriately, the
open source program manager can ask the OSRB to help resolve the
issue. The OSRB shares the issue with the head of the higher-level
organization and requests a resolution.
Doing so allows a company to prepare the following evidence required by ISO/IEC 5230.
- 3.2.2.2 Personnel assigned to each role in the program must be properly staffed and adequately funded
| Self Certification 2.e | Are the roles within the Program appropriately staffed and adequately funded? |
|---|---|
| Have the identified Program roles been properly staffed and has adequate funding provided? |
Providing Legal Counsel
A company must provide a way for the person responsible for each role to seek legal counsel when a legal review is needed to resolve an open source compliance issue. This should first be provided through the company’s in-house legal team, and for particularly sensitive issues, an outside law firm with open source-specialized attorneys can be used. An example of an open source policy for this is as follows.
4. Roles, Responsibilities, and Competencies
(2) Open Source Program Manager
* The open source program manager provides a way for members to
obtain open source-related legal counsel.
* The open source program manager decides whether to engage an
outside law firm. The effectiveness and appropriateness of
outside legal counsel is evaluated and reviewed annually by the
open source program manager.
Doing so allows a company to prepare the following evidence required by ISO/IEC 5230.
- 3.2.2.3 A method for using internal or external expert legal counsel to resolve open source license compliance issues
| Self Certification 2.f | Is there a method to obtain internal or external open source legal expertise to resolve open source compliance issues? |
|---|---|
| Is legal expertise pertaining to internal and external open source compliance identified? |
For reference, through its partner program, the OpenChain project provides a list of global law firms that offer open source-related legal counsel: https://www.openchainproject.org/partners
Law firms registered as OpenChain partners meet the requirements set by the OpenChain project, and Bae, Kim & Lee LLC is currently the only law firm registered from Korea.
Procedure for Assigning Internal Responsibility
There must be a procedure for assigning internal responsibility for open source compliance. This is the role of the open source program manager. The open source program manager must identify issues and appropriately assign them to the person responsible for each role. To this end, a company can describe this content in its open source policy document as follows.
4. Roles, Responsibilities, and Competencies
(2) Open Source Program Manager
The open source program manager is overall responsible for the
company's open source program. To ensure open source compliance
for products and services that use open source, they are
responsible for the following.
* Define the roles needed for open source compliance and
designate the responsible organization and person for each role.
Consult with the OSRB as needed.
Doing so allows a company to prepare the following evidence required by ISO/IEC 5230.
- 3.2.2.4 A documented procedure for assigning internal responsibility for open source compliance
| Self Certification 2.g | Does a documented procedure exist to assign internal responsibility for open source compliance? |
|---|---|
| Do you have a documented procedure assigning internal responsibilities for Open Source compliance? |
Handling Non-Compliant Cases
A company must document a procedure for promptly reviewing and responding to non-compliant cases. The following example can be included in an open source policy for reference.
1. Open Source Use
(5) Compliance Issue Remediation Procedure
When a compliance issue is raised, the open source program manager
performs the following procedure to respond promptly.
1. Acknowledge receipt of the inquiry and specify an appropriate
resolution time.
2. Confirm whether the issue content points to an actual problem.
(If not, inform the person who raised the issue that it is not
a problem.)
3. If it is an actual problem, determine priority and decide on an
appropriate response.
4. Carry out the response, and if necessary, appropriately update
the open source compliance process.
5. Retain the above content using the Jira Tracker.
Doing so allows a company to prepare the following evidence required by ISO/IEC 5230.
- 3.2.2.5 A documented procedure for reviewing and remediating non-compliant cases
| Self Certification 2.h | Does a documented procedure exist to review and remediate instances of non-compliance? |
|---|---|
| Do you have a documented procedure for handling review and remediation of non-compliant cases? |
Open Source Contribution Policy
Global software companies value not only using open source to build products and provide services, but also the strategic value they can create by contributing to open source projects. However, approaching this without a sufficient understanding of and strategy for how open source project ecosystems and communities operate can unexpectedly damage a company’s reputation and create legal risk. It is therefore important for a company to create a strategy and policy for participating in and contributing to open source projects.
For this open source contribution policy, you can refer to 7. Open Source Contribution in the NIPA OpenChain Guide’s Appendix 1. Sample Open Source Policy.

Doing so allows a company to prepare the following evidence required by ISO/IEC 5230.
- 3.5.1.1 Documented open source contribution policy
| Self Certification 5.a | Does a policy exist that governs contributions to open source projects on behalf of the organization? |
|---|---|
| Do you have a policy that governs contributions to open source projects on behalf of the organization? |
Once a company establishes an open source policy that includes the content above, it satisfies the following ISO/IEC 5230 requirements.

2.5 - 5. Process
Process is the actionable procedure that enables a company to comply with its open source policy during software development and deployment. Simply put, the open source compliance process consists of activities to comply with the conditions required by each license for the open source used while developing and distributing software, and it produces artifacts such as open source notices and source code to be disclosed.

Breaking down the open source compliance process into more detail gives the diagram below.

The image below is a sample open source compliance process that a company can generally adopt and use.

For more details, refer to the following page. : https://haksungjang.github.io/docs/openchain/#부록-2-샘플-오픈소스-컴플라이언스-프로세스
This chapter describes the components that the open source compliance process should include.
Open Source Identification and Auditing
To determine whether open source can be used, it is first necessary to identify the license of the open source to be used and check the obligations required by the license. Whether open source was used, what the license is, and what obligations each license imposes must be reviewed and recorded. An example procedure for this is as follows.
- The development department performs a preliminary evaluation of the license according to the criteria defined in the open source policy.
- Any questions are directed to the Open Source Program Manager, and if necessary, the Open Source Program Manager requests advice from an external legal expert.
- All internal and external decision results and related grounds are retained.
The Identification, Auditing, Resolving Issues, Review, and Approval steps in “Appendix 2. Sample Open Source Compliance Process"’s 1. Identification of Open Source are an example of a documented procedure for reviewing and recording the obligations and restrictions imposed by each identified license.

Having such a procedure in place allows a company to prepare the following evidence materials required by ISO/IEC 5230.
- 3.1.5.1 A documented procedure for reviewing and recording the obligations, restrictions, and rights conferred by each Identified License
| Self Certification 1.i | Do you have a process for reviewing open source license obligations, restrictions and rights? |
|---|---|
| Do you have a process for reviewing open source license obligations, restrictions and rights? |
Source code scanning tools can be used at the open source identification and auditing stage. This is explained in detail in “6. Tools”.
Open Source BOM Identification, Review, and Archiving
The most fundamental part of open source compliance activities is understanding the status of open source contained in Supplied Software. A process must be established for creating and managing a Bill of Materials (BOM) that identifies the open source and its licenses included in Supplied Software and contains that information. This is because knowing which open source is included in each version of Supplied Software is necessary to comply with the obligations required by each open source license when distributing the software.
All open source must be reviewed and approved before being integrated into Supplied Software. A prior review is needed not only for the function and quality of the open source but also for whether its origin and license requirements can be met. This requires a process of review request → review → approval.
Appendix 2. Sample Open Source Compliance Process describes the entire process for a company’s open source compliance. The BOM is created and managed through the steps from 1. Identification of Open Source to 6. Registration.
Tools for managing the open source BOM are explained in detail in “6. Tools”.
In addition, all processes and results of this open source compliance process must be documented. Using an issue tracking system such as Jira or Bugzilla, rather than email, can document this process more efficiently.
Having such a procedure in place allows a company to prepare the following evidence materials required by ISO/IEC 5230.
- 3.3.1.1 A documented procedure for identifying, tracking, reviewing, approving, and archiving information about the open source components that comprise Supplied Software
| Self Certification 3.a | Do you have a documented procedure for identifying, tracking and archiving information about the collection of open source components from which a Supplied Software release is comprised? |
|---|---|
| Do you have a documented procedure for identifying, tracking and archiving information about the collection of open source components from which a Supplied Software release is comprised? |
Generating Open Source Compliance Artifacts
As mentioned above, the most fundamental part of open source compliance activities is understanding the status of open source contained in Supplied Software. This is precisely to correctly fulfill the open source license requirements that are the core of open source compliance. In other words, a process must be established for generating a set of compliance artifacts for the open source contained in Supplied Software.
Compliance artifacts are broadly divided into two types.
Open source notice: A document providing the full text of the open source license and copyright information

- How to generate an open source notice corresponding to the open source BOM collected using a tool is further explained in “6. Tools”.
Source code package to be disclosed: A package that collects the source code to be disclosed in order to fulfill the obligations of open source licenses, such as GPL and LGPL, that require source code disclosure
Compliance artifacts must be provided together when Supplied Software is distributed. Compliance artifacts are generated and distributed through the Notices and Distribution steps of “Appendix 2. Sample Open Source Compliance Process”.
If it is difficult to enclose the source code package to be disclosed when distributing Supplied Software, this can be replaced by providing a Written Offer to provide the source code for at least three years. A Written Offer is generally provided through the product’s user manual, and an example is as follows.
The software included in this product contains copyrighted software
that is licensed under the GPL. A copy of that license is included
in this document on page X. You may obtain the complete Corresponding
Source code from us for a period of three years after our last shipment
of this product, which will be no earlier than 2011-08- 01, by sending
a money order or check for $5 to:
GPL Compliance Division
Our Company
Any Town, US 99999
Please write"source for product Y" in the memo line of your payment.
You may also find a copy of the source at http://www.example.com/sources/Y/.
This offer is valid to anyone in receipt of this information.
<Source: SFLC Guide to GPL Compliance>
Therefore, compliance artifacts must be retained for at least three years, and a process must be established for this. To do this, a company should consider building an open source website, which is explained in detail in “6. Tools”.
Having such a procedure in place allows a company to prepare the following evidence materials required by ISO/IEC 5230.
- 3.4.1.1 A documented procedure describing a process that ensures the Compliance Artifacts required by the Identified Licenses are prepared and distributed with Supplied Software
| Self Certification 4.a | Do you have a documented procedure that describes a process that ensures the Compliance Artifacts are distributed with Supplied Software as required by the Identified Licenses? |
|---|---|
| Do you have a documented procedure that describes a process that ensures the Compliance Artifacts are distributed with Supplied Software as required by the Identified Licenses? |
Responding to External Inquiries
To avoid facing legal action due to external claims, it is important for a company to respond to external inquiries and requests as quickly and accurately as possible. To do this, a company must have a process in place to respond quickly and effectively to external open source inquiries.
The figure below is the process a company should have in place to respond to external inquiries.
https://haksungjang.github.io/docs/openchain/#2-외부-문의-대응-프로세스
Details can be found in “Appendix 2. Sample Open Source Compliance Process, 2. External Inquiry Response Process”.
Having such a procedure in place allows a company to prepare the following evidence materials required by ISO/IEC 5230.
- 3.2.1.2 An internal documented procedure for responding to third-party open source license compliance inquiries
| Self Certification 2.c | Do you have a documented procedure that assigns responsibility for receiving and responding to open source compliance inquiries? |
|---|---|
| Do you have a documented procedure that assigns responsibility for receiving and responding to open source compliance inquiries? |
Open Source Contribution Process
If a company has a policy that allows contributions to external open source projects, there must be a documented procedure governing the process by which internal developers can contribute to external projects.
The open source contribution process published by SK telecom is a good example.
https://sktelecom.github.io/guide/contribute/process/
Having such a procedure in place allows a company to prepare the following evidence materials required by ISO/IEC 5230.
- 3.5.1.2 A documented procedure that governs Open Source contributions
| Self Certification 5.b | Do you have a documented procedure that governs Open Source contributions? |
|---|---|
| Do you have a documented procedure that governs Open Source contributions? |
Building the process up to this point results in compliance with the ISO/IEC 5230 requirements as shown below.

2.6 - 6. Tools
Source Code Scanning Tools
Source code scanning tools can be used in the open source identification and auditing stage of the open source compliance process. Source code scanning tools range from free, open source-based tools to commercial tools, and each tool has its own strengths, but none provides complete functionality that can solve every problem. Therefore, a company must select the tool that best fits the characteristics and requirements of its product.
Many companies use these automated source code scanning tools alongside manual review. The Linux Foundation’s FOSSology project is a source code scanning tool released as open source, which companies can easily use for free.

For how to install and use FOSSology, refer to Appendix 3. Open Source Tools.

Dependency Analysis Tools
Modern software development uses build environments that support package managers such as Gradle and Maven. In these build environments, even without the source code present, the dependency libraries needed at build time are fetched from a remote location to compose Supplied Software. These dependency libraries are included in Supplied Software but are not detected by source code scanning tools. Therefore, it is also important to use tools for dependency analysis.
The open source OSS Review Toolkit provides a dependency analysis tool called Analyzer.

In addition, LG Electronics released FOSSLight Dependency Scanner as open source. FOSSLight Dependency Scanner supports various package managers such as Gradle, Maven, NPM, PIP, Pub, and Cocoapods.

Open Source BOM Management Tools
Clause 3.3.1.2 of the ISO/IEC 5230 specification requires that the open source BOM list contained in Supplied Software be documented and retained. The open source BOM can be managed using a spreadsheet program such as Excel. However, when the number and versions of Supplied Software exceed several hundred, managing this manually is not easy. It is advisable to adopt an open source automation tool for this purpose.
SW360, an open source project sponsored by the Eclipse Foundation, provides functionality to track the list of open source included in each Supplied Software.

For how to install and use SW360, refer to Appendix 3. Open Source Tools.

In addition, FOSSLight, the open source released by LG Electronics mentioned above, also provides functionality for open source BOM management.

LG Electronics developed FOSSLight in-house and has used it to manage the open source BOM for Supplied Software across its entire business divisions for several years, and in June 2021 announced that it had released it as open source for anyone to use.
Detailed installation and usage instructions are provided in a Korean-language guide, which is expected to be of great help to domestic Korean companies.

Adopting such a tool allows a company to prepare the following evidence materials required by ISO/IEC 5230.
- 3.3.1.2 Open source component records for each Supplied Software release that demonstrate the documented procedure was properly followed
| Self Certification 3.b | Do you have open source component records for each Supplied Software release which demonstrates the documented procedure was properly followed? |
|---|---|
| Do you have open source component records for each Supplied Software release which demonstrates the documented procedure was properly followed? |
Generating Open Source Compliance Artifacts
Among the open source compliance artifacts, it is advisable to use a tool that automatically generates the open source notice rather than creating it manually.
Registering the open source BOM in FOSSLight automatically generates the open source notice. The open source notice generated by FOSSLight also includes a Written Offer for the source code to be disclosed.

In addition, SK telecom plans to release its internal open source notice auto-generation tool as open source, so using it in the future would also be a good option.

Archiving Open Source Artifacts
It is advisable for a company to build an open source website and register open source compliance artifacts there, so external customers can conveniently download the open source notice and source code package for Supplied Software at any time.
SK telecom’s open source website can be referred to as an example.

In particular, this website was developed as open source and its source code is publicly available, so other companies can easily build a similar website.

Building such a tool environment allows a company to prepare the following evidence materials required by ISO/IEC 5230.
- 3.4.1.2 A documented procedure for archiving copies of the Compliance Artifacts of Supplied Software
- Copies of the artifacts must be retained for a reasonable period after the last distribution of the Supplied Software, or for the period required by the Identified Licenses, whichever is longer.
- Records must exist that demonstrate this procedure was properly followed.
| Self Certification 4.b | Do you archive copies of the Compliance Artifacts of the Supplied Software? |
|---|---|
| Do you archive copies of the Compliance Artifacts of the Supplied Software? | |
| Self Certification 4.c | Are the copies of the Compliance Artifacts archived for at least as long as the Supplied Software is offered or as required by the Identified Licenses (whichever is longer)? |
| Are the copies of the Compliance Artifacts archived for at least as long as the Supplied Software is offered or as required by the Identified Licenses (whichever is longer)? |
Building the tool environment up to this point results in compliance with the ISO/IEC 5230 requirements as shown below.

2.7 - 7. Training/Assessment
Training
No matter how excellent a policy and process a company has built, it will be useless if none of the company’s members pay attention to it. For the open source policy and open source compliance process to work effectively in a company, training its members is important.
A company must provide practical means, such as training and an internal wiki, so that all Program participants are aware that the organization has an open source policy and can carry out the necessary activities. Here, Program participants refers to all employees involved in the company’s software development, distribution, and contribution, including software developers, deployment engineers, and quality engineers.
Many companies publish their open source policy document on an internal wiki site so that any employee can check what is needed. In addition, they make training on the open source policy mandatory during new employee orientation and provide periodic training to Program participants annually or once every two years, so that all Program participants are aware of the existence of the open source policy. That is, a company should include such methods in its open source policy document, written as in the example below.
1. Training and Assessment
All Software Distribution participants must complete the mandatory open source
training provided on the [Learning Portal] every year.
This ensures familiarity with the open source policy, related training policy, and
how to look it up. Training records are retained on the [Learning Portal].
Building such a training environment allows a company to prepare the following evidence materials required by ISO/IEC 5230.
- 3.1.1.2 A documented procedure that makes Program participants aware of the existence of the open source policy (e.g., training, internal wiki, or other practical communication methods)
| Self Certification 1.b | Do you have a documented procedure that communicates the existence of the open source policy to all Software Staff? (e.g., via training, internal wiki, or other practical communication method) |
|---|---|
| Do you have a documented procedure that communicates the existence of the open source policy to all Software Staff? (e.g., via training, internal wiki, or other practical communication method) |
In addition, a company must make Program participants aware of the company’s open source policy, open source-related objectives, how participants can contribute to an effective open source program, and the implications of failing to comply with Program requirements. To do this, a company provides training and conducts an assessment to confirm that Program participants have understood correctly. The assessment results are documented and retained.
A company can include content such as the example below in its open source policy for this purpose.
1. Purpose
(1) Purpose of the policy
This policy provides the following principles so that the entire organization
involved in the company's software development, service, and distribution can
make proper use of open source.
1) Principles for performing compliance in consideration of open source licenses
2) Principles for contributing to external open source projects
3) Principles for releasing internal projects as open source
These principles provide a way for all members of the company to understand the
value of open source, use open source correctly, and contribute to the open
source community.
(2) Impact of non-compliance
Failure to comply with this policy may result in the following situations.
* Receiving demands from external parties for open source license compliance.
* Being forced to disclose company-developed source code against its wishes.
* Facing legal action from open source copyright holders.
* Being fined or receiving a product sales suspension order for copyright
infringement and breach of contract.
* Loss of company reputation.
* Breach of contract with suppliers, resulting in claims for damages.
For these reasons, the company takes violations of the open source policy
seriously, and members or organizations that violate it may be subject to
disciplinary action.
(3) How members can contribute
All members can contribute to the effectiveness of the policy and the
improvement of the company's compliance level by understanding the basis
and content of this policy and faithfully carrying out the necessary
activities.
Assessment is explained in more detail below.
Including such training content in the policy allows a company to prepare the following evidence materials required by ISO/IEC 5230.
- 3.1.3.1 Documented evidence indicating that the awareness of Program participants was assessed regarding: the objectives of the Program, how participants contribute within the Program, and the implications of failing to comply with the Program
| Self Certification 1.f | Do you have evidence documenting the awareness of your personnel of the following topics? i. The open source policy and where to find it ii. The relevant open source objectives iii. The contributions expected to ensure the effectiveness of the Program iv. The implications of failing to follow the Program requirements |
|---|---|
| Do you have evidence documenting the awareness of your personnel of the following topics? i - The open source policy and where to find it; ii - The relevant open source objectives; iii - The contributions expected to ensure the effectiveness of the Program; iv - The implications of failing to follow the Program requirements. |
Open source training also includes content about the open source contribution policy. Even if an open source contribution policy has been created, if internal members are unaware of its existence, there is a risk that indiscriminate contribution activities could cause harm to individuals and the company. Open source training is provided so that all internal developers are aware of the existence of the open source contribution policy.
Providing training on the contribution policy in this way allows a company to prepare the following evidence materials required by ISO/IEC 5230.
- 3.5.1.3 A documented procedure that makes all Program participants aware of the existence of the Open Source contribution policy (e.g., training, internal wiki, or other practical communication methods)
| Self Certification 5.c | Do you have a documented procedure that makes all Software Staff aware of the existence of the Open Source contribution policy? |
|---|---|
| Do you have a documented procedure that makes all Software Staff aware of the existence of the Open Source contribution policy? |
Creating new training materials from scratch can also be a difficult task for someone just starting this role. To help with this difficulty, NCSOFT published its internal open source training materials, including the lecture slides (PPT) and lecture script, on GitHub so anyone can use them.

In addition, Kakao, a leading domestic platform company, has also released its open source training materials for internal developers so that anyone can view them.

If training materials have not yet been created, using the open source training materials of these companies with excellent open source management practices is also a good option.
Assessment
Once a company has assigned personnel to each role, it must confirm that the assigned personnel are qualified to perform the role based on education, training, and experience. Training must also be provided to Program participants with insufficient competency so they can acquire sufficient competency. The company must also assess whether each participant has the necessary competency and retain the results.
- The company provides training so that each participant can acquire the required competency.
- An assessment is conducted based on the training content.
- The assessment results are retained by the company’s training system or HR department.
When there are several hundred or more Program participants, making training difficult to provide, using the company’s online training and assessment system is also a good option.
Such content can be included in a company’s open source policy as follows.
4. Roles, Responsibilities, and Competencies
To ensure the effectiveness of this policy, the roles, responsibilities, and the
competencies required of the person in charge of each role are defined as follows.
The organization/person in charge of each role and the required competency level
are defined in "Appendix 1. Personnel Roster".
5. Training and Assessment
All members responsible for each role defined in Chapter 4 must complete the
open source training provided on the [Learning Portal].
Training records and assessment results are retained on the [Learning Portal]
for at least three years.
Having such a training and assessment system in place allows a company to prepare the following evidence materials required by ISO/IEC 5230.
- 3.1.2.3 Documented evidence of assessed competence for each Program participant
| Self Certification 1.e | Have you documented evidence of assessed competence for each Program participant? |
|---|---|
| Have you documented evidence of assessed competence for each Program participant? |
Open Source License Guide
To properly comply with open source licenses, one must accurately know the requirements of each open source license. However, since it is difficult for individual software developers to grasp all of this, it is advisable for the Open Source Program Manager to organize the requirements and precautions for common use cases of frequently used open source licenses and share them internally within the company.
The open source license guide should include the requirements for common open source license use cases, enabling the development department to correctly comply with license obligations while using open source.
For general guidance on open source licenses and summarized license obligation materials, the License Guide provided by the Korea Copyright Commission can be referenced.
The License Obligations document in SK telecom’s open source guide is also a good resource.
https://sktelecom.github.io/guide/use/obligation/gpl-2.0/
Providing such an open source license guide allows a company to prepare the following evidence materials required by ISO/IEC 5230.
- 3.3.2.1 A documented procedure for handling common open source license use cases for open source components within Supplied Software
| Self Certification 3.c | Have you implemented a procedure that handles at least the following common open source license use cases for the open source components within each Supplied Software release? i - distributed in binary form; ii - distributed in source form; iii - integrated with other open source such that it may trigger copyleft obligations; iv - contains modified open source; v - contains open source or other software under an incompatible license interacting with other components within the Supplied Software |
|---|---|
| Have you implemented a procedure that handles at least the following common open source license use cases for the open source components of each supplied Supplied Software release? i - distributed in binary form; ii - distributed in source form; iii - integrated with other open source such that it may trigger copyleft obligations; iv - contains modified open source; v - contains open source or other software under an incompatible license interacting with other components within the Supplied Software; vi - contains open source with attribution requirements. |
Building the environment for training, assessment, and guide provision up to this point results in compliance with the ISO/IEC 5230 requirements as shown below.

2.8 - 8. Declaration of Conformance
A company that has built an open source program (open source policy / process / tools / organization) that complies with all requirements of the ISO/IEC 5230 specification except Clause 6 may prepare and publish a document stating the following two items.
- That the company’s open source program meets all requirements of OpenChain Specification 2.1
- That the company’s open source program guarantees it has maintained compliance with all requirements of OpenChain Specification 2.1 for at least 18 months after obtaining conformance certification
A company can either include the above content in its open source policy or publish it on a publicly available website.
As shown in the image below, you can refer to how SK telecom published this content on its open source portal site.
https://sktelecom.github.io/compliance/iso5230/
By documenting in this way that all requirements of ISO/IEC 5230 are guaranteed to be met, a company can prepare the following evidence materials required by ISO/IEC 5230.
- 3.6.1.1 Documentation confirming that the program specified in Clause 3.1.4 meets all requirements of this specification
- 3.6.2.1 Documentation confirming that the program has met all requirements of this specification version (v2.1) for the past 18 months since obtaining conformance certification
| Self Certification 6.a | Do you have documentation confirming that your Program meets all the requirements of this specification? |
|---|---|
| Do you have documentation confirming that your Program meets all the requirements of this specification? | |
| Self Certification 6.b | Do you have documentation confirming that your Program conformance was reviewed within the last 18 months? |
| Do you have documentation confirming that your Program conformance was reviewed within the last 18 months? |
Once this is completed, a company finally meets all the requirements of ISO/IEC 5230.

2.9 - Appendix
2.9.1 - 1. Open Source Policy (Sample)
1. Purpose
(1) Purpose of the Policy(3.1.3.1)
This policy provides the following principles for the correct use of open source software (hereinafter “Open Source”) by every organization at [Company Name], Inc. (hereinafter “the Company”) that is involved in software development, service delivery, and distribution.
- Principles for carrying out compliance with open source licenses
- Principles for contributing to external open source projects
- Principles for releasing internal projects as open source
These principles give every member of the Company a way to understand the value of open source, use open source correctly, and contribute to open source communities.
All members of the Company can find the open source policy at the following link on the internal wiki: [internal_link](3.1.1.1)
(2) Impact of Non-Compliance
Failure to comply with this policy can result in the following situations.
- The Company receives demands from outside parties to comply with open source licenses.
- The Company is forced to release source code it did not intend to release.
- The Company faces legal action from open source copyright holders.
- The Company is fined for copyright infringement or breach of contract, or is ordered to stop selling a product.
- The Company’s reputation suffers.
- The Company breaches a contract with a supplier and faces a claim for damages.
For these reasons, the Company treats violations of this open source policy as serious, and members or organizations that violate it may be subject to disciplinary action.
(3) How Members Can Contribute
All members of the Company can contribute to the effectiveness of this policy and to raising the Company’s compliance level by understanding the rationale and content of this policy and faithfully carrying out the required activities.
2. Scope(3.1.4.1)
This policy applies to the following three areas.
- It applies to [all products the Company provides or distributes externally]. However, using open source solely for internal purposes is not within the scope of this policy.
- It applies when a member contributes to an external open source project.
- It applies when releasing internal code as open source.
The scope can be changed to fit the Company’s business environment, and the procedure for doing so is as follows.
- If the open source program manager determines that a change in the policy’s scope is needed due to changes in the Company’s business environment, such as new business or organizational restructuring, they submit a proposal for this to the OSRB.
- The OSRB approves an appropriate level of change to the scope.
- The OSRB revises the open source policy to change the policy’s scope.
3. Terminology
- BOM (Bill of Materials)
- Software distribution participant: refers to any employee involved in the Company’s development, distribution, or contribution of software, including software developers, release engineers, and quality engineers.
- …
4. Roles, Responsibilities, and Competencies(3.1.2.1)
To ensure the effectiveness of this policy, the following roles, responsibilities, and the competencies required of each role’s assignee are defined.
The organization/person responsible for each role and the required competency level are defined in [Appendix 1. Roster of Responsible Parties].(3.1.2.2)
- The open source program manager periodically updates the roster to fit the Company’s business situation.(3.2.2.1)
- The head of the organization responsible for each role designates a person in charge within the organization and allocates appropriate time and budget so that person can carry out the role faithfully.(3.2.2.2)
- If a person responsible for a role feels they are not receiving adequate support in carrying it out, they must raise the issue with the open source program manager.
- The open source program manager discusses resolving the issue with the relevant head of organization. If it is not resolved appropriately, the open source program manager can ask the OSRB to help resolve the issue.
- The OSRB shares the issue with the head of the higher-level organization and requests a resolution.
(1) OSRB
The OSRB (Open Source Review Board) is a body composed of the open source program manager and the heads of relevant organizations, including Legal, Patents, Development, and Infrastructure, formed for the Company’s open source compliance.
- It creates the policies and processes for open source compliance and defines the roles and responsibilities within the Company for carrying them out.
- When an open source compliance issue arises within the Company, it discusses solutions and prepares a response.
- When necessary, it reports issues to executive leadership and obtains feedback on risk mitigation measures.
(2) Open Source Program Manager
The open source program manager is overall responsible for the Company’s open source program. To ensure open source compliance for products and services that use open source, they are responsible for the following.(3.2.2.4)
- Define the roles needed for open source compliance and designate the responsible organization and person for each role. Consult with the OSRB as needed.
- Organize and evaluate open source compliance training.
- Chair the OSRB and direct its activities.
- Respond to inquiries and requests from outside parties about open source use and compliance.
- Review and approve requests to use open source.
- Maintain records of the open source BOM.
- Provide members with a way to obtain open source-related legal counsel.(3.2.2.3)
- Maintain a repository for open source notices and source code releases.
(3) OSPO
The OSPO (Open Source Program Office) supports and fosters the growth of open source activity both inside and outside the Company.
- Establishes, improves, and disseminates the open source policy.
- Provides guidance for contributing code to external open source projects.
- Provides guidance for releasing internal projects as open source.
- Develops and operates the open source portal.
- Develops and selects open source tooling.
- Sponsors open source project events.
- Manages relationships with open source communities.
(4) Legal
Legal provides counsel on the legal risks that can arise in the course of using open source, and on mitigation measures, including interpreting open source licenses and obligations.
- Provides counsel on license and intellectual property issues, including conflicts arising from incompatible open source licenses.
- Reviews the legal matters required for contributing to external open source projects, including the open source license and the CLA (Contributor License Agreement).
(5) IT Infrastructure
IT Infrastructure operates and automates open source analysis tooling, and builds the systems needed to ensure license analysis is carried out smoothly for all distributed software.
- Operates open source license analysis tooling.
- Integrates with the DevOps environment to automate license analysis.
- Builds the systems and processes needed to ensure license analysis is performed on all distributed software.
- Obtains and maintains the open source BOM for all distributed software.
(6) Security
Security operates open source security vulnerability analysis tooling and builds the systems needed to ensure security vulnerability analysis is carried out smoothly for all distributed software.
- Operates open source security vulnerability analysis tooling.
- Integrates with the DevSecOps environment to automate open source security vulnerability analysis.
- Builds the systems and processes needed to ensure open source security vulnerability analysis is performed on all distributed software.
(7) Developer Relations
Developer Relations supports in-house developers so they can actively use open source, participate in internal and external communities, and adopt leading development practices.
- Encourages participation in open source communities.
- Fosters a culture that recognizes active external open source project activity as an internal accomplishment.
- Builds a development culture that makes the Company attractive to open source developers.
(8) Quality
The organization responsible for quality, such as QA, confirms that open source license obligations were properly carried out when software is distributed.
- Confirms that open source compliance activities were carried out at each stage of the development process.
- Confirms that the artifacts required by the open source licenses were produced.
- Confirms that the open source notice and any source code to be released are provided together with the distributed software.
- Notifies the software development/distribution organization of any issues found so they can be corrected immediately.
5. Training and Assessment
Every software distribution participant must complete the mandatory open source training provided on the [Learning Portal] each year. This ensures they are familiar with the open source policy, the related training policy, and how to look it up. Training records are retained on the [Learning Portal].(3.1.1.2)
Every member responsible for a role defined in Section 4 must complete the advanced open source training course provided on the [Learning Portal]. Training records and assessment results are retained on the [Learning Portal] for at least three years.(3.1.2.3)
6. Open Source Use
To develop and distribute products and services using open source, the obligations required by each open source license must be complied with. This activity is called open source compliance.
To carry out open source compliance correctly, the software development/distribution organization must comply with the following.(3.3.1.1)
- Every step of the open source compliance process is recorded and retained in the Jira Tracker.
(1) Identifying Open Source and Reviewing License Obligations
When introducing open source into product/service development, first identify what open source license applies, and review and confirm the obligations the license requires.
The Company’s [Open Source License Guide] includes a list of major open source licenses, and for each license, it separately explains the obligations required for each of the following distribution forms.(3.3.2.1)
- Binary form
- Source form
- Strong/weak copyleft
- SaaS-based delivery
- Whether modified
- Inclusion of open source requiring attribution, and so on.
The software development/distribution organization can refer to this guide when reviewing open source license obligations. If a review is needed for an open source license not covered in this guide, contact the open source program manager.
(2) Designing with Open Source Licenses in Mind
Identify the combination relationships of open source components and design the software architecture so that the Company’s own code is not affected by open source license terms.
The Company’s [Open Source License Guide] explains, for each open source license, the scope of source code disclosure it requires and design methods for preventing disclosure of the Company’s own code.
(3) Producing Open Source Compliance Artifacts
The most basic part of open source compliance activity is understanding the open source contained in distributed software. This is precisely so that the open source license requirements at the core of open source compliance can be correctly satisfied. In other words, a set of compliance artifacts must be produced for the open source contained in distributed software.(3.4.1.1)
Open source compliance artifacts fall into two broad categories.
- Open source notice: a document providing the full text of each open source license and copyright information
- Source code package to be released: a package assembling the source code to be released to fulfill the obligations of open source licenses that require source code disclosure, such as GPL and LGPL
To assemble, distribute, and store these compliance artifacts, the following must be complied with.(3.4.1.2)
- Assemble the open source notice and the source code package to be released according to the conditions each license requires. For example, if a license requires that the full text of the license be included, providing only a link is not sufficient.
- Store the assembled artifacts in a separate repository.
- When providing source code to be released through a Written Offer, publish a download link so that external parties can access the repository of assembled artifacts.
The Company’s open source compliance process can be used to issue the open source notice and assemble the source code package to be released.
(4) Producing the Open Source BOM (Bill of Materials)
The open source contained in distributed software (BOM: Bill of Materials) must be produced and maintained.(3.3.1.2)
The Company’s open source compliance process can be used to produce and retain the open source BOM using open source tooling.
(5) Compliance Issue Remediation Procedure
When a compliance issue is raised, the open source program manager performs the following procedure to respond promptly.(3.2.2.5)
- Acknowledge receipt of the inquiry and specify an appropriate resolution time.
- Confirm whether the issue content points to an actual problem. (If not, inform the person who raised the issue that it is not a problem.)
- If it is an actual problem, determine priority and decide on an appropriate response.
- Carry out the response, and if necessary, appropriately update the open source compliance process.
- Retain the above content using the Jira Tracker.
7. Open Source Contribution
The Company encourages participation in and contribution to external open source projects to create business value from open source. However, approaching this without sufficient understanding of and strategy for the open source project ecosystem and how communities operate can lead to unintended exposure of the Company’s intellectual property or infringement of third-party rights. For this reason, when a member of the Company contributes to an external open source project, the following must be complied with.(3.5.1.1)
(1) Requesting Review and Approval
From a copyright standpoint, an open source contribution grants the open source project the right to modify, use, and distribute the contributed work. In some cases, it may even require assigning your copyright to the open source project. However, the copyright to a work created during a period of employment generally belongs to the employer. In other words, a work created by a Company member belongs to the Company. If a member contributes a work to open source on their own judgment, it can create unnecessary copyright infringement issues.
Therefore, if there is an open source project you wish to contribute to, follow the review request and approval procedure defined by the open source contribution process before making your first contribution.
However, for the following kinds of simple content, the copyright infringement risk is low, so members may contribute based on their own judgment without going through the review procedure.
- Small code snippets of 10 lines or fewer
- Questions and answers on Stack Overflow
- Administrative activity on GitHub, such as creating issues or reviewing/approving pull requests
(2) Contribute Only Code You Have the Right to Contribute
Contribute only code you have the right to contribute. That is, contribute code you wrote yourself. Do not contribute third-party code on your own judgment.
(3) Beware of Intellectual Property Exposure
Do not contribute code or documents that raise concerns about exposing the Company’s intellectual property, such as sensitive information or patents.
- If the code you wish to contribute includes a Company patent, you must confirm whether it is acceptable to contribute that patent to the project under an open source license. If anything is unclear, contact the OSPO.
(4) Caution with CLA Signatures
Some open source projects require every contributor to sign a CLA (Contributor License Agreement). This is an agreement used to obtain contributors’ consent in order to reduce copyright disputes that can arise as a project manages the works of many contributors. Projects led by large corporations commonly require a CLA signature.
CLAs vary by project, but they generally include agreement to the following.
- I (or my employer) have the right to contribute the contribution I intend to contribute to the project. (That is, I am the author of this contribution.)
- I (or my employer) grant the project the right to modify, distribute, and manage my contribution.
- I (or my employer) will not revoke the granted rights.
- I (or my employer) grant the project the right to change its license in the future as needed.
In addition, though rare, some CLAs also require agreement to the following condition.
- I (or my employer), upon contributing my contribution, simultaneously assign my copyright in it to the project or the organization managing the project.
To protect its own intellectual property, the Company does not permit contributions to open source projects that require copyright assignment. To make this determination, a Company member must request a review from the OSPO before signing, if the open source project they wish to contribute to requires a CLA signature.
(5) Copyright Notice
The intellectual property of a work created by a member during their employment generally belongs to the Company. Accordingly, when a member contributes code to an external open source project, they must indicate the Company’s copyright.
When contributing one or more files, indicate the copyright and license at the top of the file as follows.
Copyright (c) {$year} {$Company}
SPDX-License-Identifier: {$SPDX_license_name}
Here, $SPDX_license_name is written according to the license policy of the relevant open source project.
However, if you are only modifying existing code, such as for a bug fix, there is no need to add a copyright notice for that code change.
(6) Use of Company Email
Do not use a personal email address when contributing to open source projects; use your Company email address. This (1) gives members a sense of responsibility as they communicate with the community on the Company’s behalf, and (2) helps improve the Company’s recognition as one that actively contributes to open source communities.
8. Open Source Release
The Company respects the value of collaboration with open source communities and encourages releasing internal software as open source projects. However, there are some rules that must be followed to protect the Company’s intellectual property and prevent unintended copyright infringement.
(1) Approval
From a copyright standpoint, an open source release grants anyone the right to modify, use, and distribute the work through an open source license. The copyright to a work created during a period of employment generally belongs to the employer. In other words, a work created by a Company member belongs to the Company. If a member releases a work as open source on their own judgment, it can create unnecessary copyright infringement issues.
Therefore, if you wish to release software as open source, follow the review request and approval procedure under the Company’s open source release policy.
If anything about the release process seems questionable, do not hesitate to contact the OSPO.
(2) Release Only Code You Have the Right to Release
One of the worst situations that can arise in an open source project is the inclusion of legally problematic code in the project. Code the Company does not have the right to distribute, or code that infringes another company’s IP such as a patent, can create legal problems. Therefore, when preparing code for release, verify the origin of all code and remove any code that raises concerns.
(3) Beware of Intellectual Property Exposure
Do not release code or documents that raise concerns about exposing the company’s intellectual property, such as sensitive information or patents.
If the code you wish to release includes a Company patent, confirm whether it is acceptable to release that patent under an open source license. If anything is unclear, contact the OSPO.
(4) Release Useful Code
For a project to succeed, it must also be useful to others. If a similar project already exists, participate in the existing project rather than creating a new one.
The open source you plan to release should be expected to (1) provide differentiated value to the open source community, (2) solve a problem the community has not yet solved, and (3) draw positive attention by showcasing our technical capability.
- Do not release code as open source if it has not been used in an actual product or service.
- Do not release code that addresses a problem the open source community has already solved. In such cases, contribute to the existing open source project instead.
(5) Securing Resources
Secure the resources, including developers, that need to be committed to the project.
- Initially, a level of developer effort similar to a typical internal project is needed.
- Developers are needed who can quickly review external contributions.
- Roles from Legal and Marketing are also needed.
- Secure budget for the infrastructure required to maintain and manage the project. This includes tools for project hosting, such as GitHub.
If an environment with sufficient resource support cannot be created, do not release the software as open source.
(6) Use of Company Email
Do not use a personal email address for open source release activity; use your Company email address. This (1) gives members a sense of responsibility as they communicate with the community on the Company’s behalf, and (2) helps improve the Company’s recognition as a company that actively releases open source.
9. Responding to External Inquiries
(1) Responsibility for Responding to External Inquiries
The open source program manager is responsible for responding to inquiries and requests about open source compliance from outside the Company.(3.2.1.2)
- The open source program manager can assign all or part of the handling of an inquiry to an appropriate person within the Company. If necessary, the legal team is consulted for handling.
- Anyone who receives an external inquiry about open source compliance should notify the open source program manager so that a prompt response can be made.
(2) Publishing Contact Information
The open source program manager publicly provides the contact information of the responsible person so that external parties can make open source-related inquiries and requests.(3.2.1.1)
- Provide contact email address information in the open source notice.
- Register contact information in the Linux Foundation’s Open Compliance Directory.
(3) Procedure for Responding to External Inquiries
Responding quickly and accurately to external open source compliance inquiries can greatly reduce the risk of escalation to litigation. To this end, the Company complies with the external inquiry response procedure defined in the Company’s open source compliance process to respond to external open source compliance inquiries.(3.2.1.2)
10. OpenChain
The Company supports the spirit of the Linux Foundation’s OpenChain project and actively participates in it to raise the level of open source compliance across the software supply chain.
- By applying this open source policy, the Company ensures compliance with ISO/IEC 5230:2020 as of October 1, 2021.(3.6.1.1)
- The Company ensures that, for at least 18 months after obtaining conformance certification, it satisfies all requirements of OpenChain Specification version 2.1 and ISO/IEC 5230:2020.(3.6.2.1)
- The Company reviews conformance at intervals of at least 18 months and revises and updates the policy as needed.
Appendix 1. Roster of Responsible Parties
| No | Role | Responsibility | Required Competency | Responsible Organization | Assignee |
|---|---|---|---|---|---|
| 1 | Open Source Program Manager | Overall responsible for the Company’s open source program. | 1. Understanding of the software development process 2. Understanding of intellectual property related to open source licenses, such as copyright and patents 3. Expert knowledge of open source compliance 4. Open source development experience 5. Communication skills | CTO | [Name] |
| 2 | Legal | Interprets open source licenses and obligations. Provides counsel to mitigate the legal risks that can arise in the course of using open source, including actually fulfilling those obligations. | 1. Basic knowledge of the open source ecosystem 2. Expert knowledge of software copyright 3. Expert knowledge of open source licenses | Legal | [Name] |
| 3 | Infrastructure | Operates and automates open source analysis tooling, and builds the systems needed to ensure license analysis is carried out smoothly for all distributed software. | 1. Basic knowledge of the open source compliance process 2. Understanding of open source license analysis tooling 3. Expert knowledge of IT infrastructure | IT Infrastructure Team | [Name] |
| 4 | Security | Operates open source security vulnerability analysis tooling and builds the systems needed to ensure security vulnerability analysis is carried out smoothly for all distributed software. | 1. Basic knowledge of the open source compliance process 2. Understanding of open source license analysis tooling 3. Expert knowledge of security | Security Team | [Name] |
| 5 | Development culture | Supports in-house developers so they can actively use open source, participate in internal and external communities, and adopt leading development practices. | 1. Understanding of the software development process 2. Basic knowledge of open source compliance 3. Understanding of the open source policy | DR | [Name] |
| 6 | Development team | The software development/distribution organization complies with the open source policy and process for correct use of open source. | 1. Understanding of the software development process 2. Basic knowledge of open source compliance 3. Understanding of the open source policy 4. Basic knowledge of open source licenses | Development Team | All |
2.9.2 - 2. Open Source Compliance Process (Sample)
OOO Corporation (hereinafter “the Company”) actively utilizes open source software (hereinafter “open source”) while developing products and services that include software. The Company must carry out activities to comply with the obligations imposed by open source licenses when distributing software, and this is called open source compliance.
1. Process for Software Product Development/Distribution
The open source compliance process defines the procedures that must be performed to comply with open source license obligations at each development stage as the Company develops and distributes software products and services. All members involved in software product development/distribution comply with the following 10 steps of the open source compliance process.

1. Identification of Open SourceIdentification of Open Source
The development department complies with the following during the software design stage.
- While designing the software, identify the anticipated open source usage status and check the licenses.
- Check the obligations for each open source license. License-specific obligations can be found in the Company’s open source license guide.
- Design the software considering the source code disclosure scope of each open source license.
The Open Source Program Manager writes and publishes a guide on the obligations, restrictions, and rights of major open source licenses so that development departments across the company can reference it.
The development department marks copyright and license notices in the source code in accordance with company rules. The Company’s rules for copyright and license notation within source code can be found on the following page. : (insert_link)
When reviewing the adoption of new open source, the development department first identifies the license. It checks the license obligations, restrictions, and rights according to the Company’s open source license guide. If the license is not covered by the Company’s open source license guide, the department inquires with the Open Source Program Manager about whether adoption is possible and any precautions. The inquiry is made by creating a Jira Ticket.
The Open Source Program Manager analyzes the open source license obligations and guides the software development organization accordingly.
- If there are questions, advice is requested from the legal officer to provide clear guidance.
- Newly analyzed license information is reflected in the company-wide license guide.
2. Auditing Source CodeAuditing Source Code
The development department provides the source code according to the infrastructure officer’s guidance and requests an open source check.
The infrastructure officer performs the open source check using an open source analysis tool and generates the open source BOM.
The Open Source Program Manager reviews whether the open source license obligations can be met and whether there are open source license conflicts, and if there are issues, requests the development department to resolve them. Issues are created as Jira Tickets and assigned to the development department.
3. Resolving IssuesResolving Issues
The development department resolves all issues found during the source code auditing stage. It takes actions such as removing the problematic open source or replacing it with open source under a different license.
Once the development department resolves all identified issues, it resolves the Jira Ticket issue and requests a re-review.
4. ReviewsReviews
The Open Source Program Manager reviews whether all issues have been properly addressed. If necessary, the source code audit is performed again using the open source analysis tool.
5. ApprovalApproval
The Open Source Program Manager gives final approval or rejection of whether the open source compliance procedure was properly performed. In case of rejection, an explanation of the reason and a suggested method of correction are proposed to the development department.
6. RegistrationRegistration
The Open Source Program Manager finalizes the BOM for tracking the list of open source used in each version of the software.
The infrastructure officer registers the finalized BOM in the system. The BOM includes the list of open source contained in the Supplied Software and the following information.
- The name and version of the product (or service) of the Supplied Software
- List of open source
- Open source name / version
- Open source license
7. NoticesNotices
The Open Source Program Manager generates an open source notice to comply with the notice obligation. The open source notice includes the following items.
- Open source contact for open source-related inquiries
- Notice content for each open source
- Copyright
- Open source license name
- Copy of the open source license
- (if applicable) a Written Offer to obtain a copy of the source code
The Open Source Program Manager generates the open source notice and delivers it to the development department. If source code disclosure is required at this time, the department guides the development department on how to collect the source code to be disclosed.
The development department encloses the open source notice when distributing the product. For products with a screen, measures are taken so users can check it through a menu. (e.g., App > Menu > Settings > Copyright Information > Open Source Licenses)
If the development department has used open source under a license that requires source code disclosure, such as GPL or LGPL, it checks the scope of source code disclosure and collects the source code to be disclosed.
- The source code collected to comply with license obligations such as GPL and LGPL must match the source code that composes the binary installed on the product. That is, building the collected source code must produce the same binary as the one installed on the product.
8. Pre-Distribution VerificationsPre-Distribution Verifications
The development department submits the following artifacts to demonstrate that open source compliance activities were properly performed.
- The final open source notice included in the product
- Materials confirming that the open source notice is included in the product (e.g., a screen capture image showing the open source notice)
- (if applicable) the source code to be disclosed (submitted compressed into a single file)
The Open Source Program Manager reviews the materials submitted by the development department to confirm there are no issues.
9. DistributionDistribution
The Open Source Program Manager submits the compliance artifacts submitted by the development department to the infrastructure officer.
The infrastructure officer registers the compliance artifacts on the Company’s open source distribution site.
10. Final VerificationsFinal Verifications
The Open Source Program Manager conducts a comprehensive check, including whether the compliance artifacts were properly registered on the Company’s open source portal without issues and whether they can be downloaded externally without problems.
2. External Inquiry Response Process
Responding quickly and accurately to external open source compliance inquiries can greatly reduce the risk of escalation to litigation. To this end, the Company complies with the following process to respond to external open source compliance inquiries.

1. AcknowledgeAcknowledge
Upon receiving an inquiry, the Open Source Program Manager immediately notifies the requester that the inquiry has been received. At this time, the expected date of action is also communicated. Since it is important to accurately understand the requester’s intent, additional clarification is requested if the inquiry is unclear.
The main types of inquiries and requests that require a response are as follows.
- Inquiries about whether open source is used in a specific product or service
- Requests for source code under a GPL or LGPL license mentioned in a Written Offer
- Requests for explanation and source code disclosure for open source found in a product but not specified in the open source notice
- Requests to provide files missing from source code disclosed under GPL, LGPL, and similar obligations, and how to build it
- Requests for copyright attribution
The Open Source Program Manager creates a Jira Issue for the received request and records all response activities in detail.
2. InformInform
The Open Source Program Manager informs the requester that the Company is faithfully performing open source compliance and is investigating the requester’s inquiry. It is advisable to notify the requester whenever there is an update to the progress of the internal investigation.
3. InvestigateInvestigate
The Open Source Program Manager conducts an internal investigation of the request. Whether the compliance process was properly performed for the version of the product in question is confirmed through the BOM and documented review history. Advice is requested from the legal officer if needed.
If confirmation is needed from a specific development department, the Open Source Program Manager requests the development department to investigate. The development department that receives the investigation request immediately checks whether there is a problem with the compliance artifacts and reports the results to the Open Source Program Manager.
4. ReportReport
The open source compliance officer completes the internal investigation within the expected action date and notifies the requester of the results.
- If the requester’s inquiry was a mistaken claim due to a misunderstanding, the requester is notified of this without further action, and the case is closed.
- If the issue is confirmed, the requester is informed of the exact method and timing for fulfilling the obligations of the relevant open source license.
5. RectifyRectify
If an actual compliance problem is found during the internal investigation, the relevant development department performs all procedures necessary to resolve the compliance issue.
6. ReportReport
After the problem is resolved, the requester is notified immediately, and the best available method to confirm the resolution is provided.
7. ImproveImprove
When a compliance problem occurred, the case is reviewed at an OSRB meeting, the circumstances leading to the problem are identified, and the process is improved to prevent recurrence.
2.9.3 - 3. Tools (FOSSology, SW360)
Open source compliance activities require not only policies, processes, and training materials, but also a variety of tools and systems for source code scanning, dependency analysis, and open source Bill of Materials management. As a result, many companies are investing significant resources in adopting and operating these tools and systems. Companies that are just starting open source compliance face difficulties not only with process but also with cost.
To address these difficulties, in June 2019, the OpenChain Tooling Work Group was launched, led by open source compliance tool experts from companies participating in the OpenChain project, including Siemens, Bosch, Toshiba, Fujitsu, and Hitachi.
The OpenChain Tooling Work Group was formed so that open source experts from various companies could work together to solve issues and share results, reducing open source compliance costs and producing high-quality compliance outcomes.
Specifically, it aims to build a turn-key open source tool chain by leveraging existing open source projects such as FOSSology, SW360, Software Heritage, ClearlyDefined, and SPDX, and to make this freely available to all companies. (https://groups.io/g/oss-based-compliance-tooling)
This section introduces FOSSology and SW360 and provides a brief guide on how to use them.
2.9.3.1 - FOSSology
For open source compliance, a source code scanning tool can be used to detect the open source and license information contained within software.

The Linux Foundation’s FOSSology project is a tool that develops this kind of scanning tool and has released it as open source so that anyone can use it freely.
Key Features
FOSSology is a web-based program that allows users to log in to the website and upload individual files or software packages. FOSSology detects license text and copyright information within the uploaded files. It is a good idea for developers to use FOSSology when they want to check the license and copyright information of the open source they intend to use. FOSSology scans all files within the open source package uploaded by the developer, automatically detects license-related text and copyright information in each file, and generates this as a report. For more details on FOSSology’s key features, refer to the following page: https://www.fossology.org/features/
Installation
To use FOSSology within a company, a FOSSology server must be built in-house. To do this, FOSSology must be installed on a Linux-based server system. FOSSology can be installed using the following three methods.
- Using Docker
- Using Vagrant and VirtualBox
- Installing via a source build
Here, the simplest method, using Docker, is explained.
FOSSology publishes a containerized Docker image through Docker Hub (https://hub.docker.com/). : https://hub.docker.com/r/fossology/fossology
The pre-built Docker image can be run using the following command.
$ docker run -p 8081:80 fossology/fossology
The Docker image can be accessed using the following URL and account information. : http://[IP_OF_DOCKER_HOST]:8081/repo
- Username : fossy
- Passwd : fossy
For more details on installation, refer to the following page. : https://github.com/fossology/fossology/blob/master/README.md
Test Server
If it is difficult to build a system to install FOSSology, the test server provided by the FOSSology Project can be used. The FOSSology project provides an environment for testing. (The test server may be discontinued without notice.)
Users can access the FOSSology test server with the following account to try out FOSSology’s features.

Basic Workflow
The basic usage procedure for FOSSology is as follows.
- To check the license and copyright information of the open source you want to use, compress the open source’s source code into a single file and upload it to FOSSology.
- To do this, select menu > Upload > From File.
- Select the file to upload and click the Upload button.
- Once the upload is complete, the analysis is automatically performed by the Job Agent.
- The status of the analysis in progress can be checked at menu > Jobs > My Recent Jobs.
- Once the analysis is complete, the results can be checked at menu > Browse.
- Selecting an individual file allows you to check the license-related text detected by FOSSology.
- menu > Browser > select a file or directory > Copyright/Email/Url/Author shows the Copyright/Email/Url/Author information detected by FOSSology.
After checking whether the results analyzed in this way by FOSSology are valid, users can exclude incorrectly detected items from the analysis results. FOSSology describes this as the Clearing process, and for more details, refer to the following page: https://www.fossology.org/get-started/basic-workflow/
In this way, you can easily check what the license of the open source you want to use is and what the copyright information looks like.
2.9.3.2 - SW360
A company that develops and distributes products containing open source must collect and track information such as the version and license of the open source used in each product and each release version. This allows the company to carry out proper open source compliance activities.
In particular, when a security vulnerability is reported in the NVD (https://nvd.nist.gov/vuln) for a specific open source version, if a company cannot trace which products use that version, it has no way of knowing which products need the security patch, leaving those products exposed to the security vulnerability.
For this reason, tracking open source information is essential. Companies build their own systems for this or purchase commercial services. SW360 is an open source project sponsored by the Eclipse Foundation that provides a web application and repository for collecting and tracking software BOM information.

Key Features
SW360 provides a web-based UI, and its key features are as follows.
- Tracking components used in a product
- Security vulnerability assessment
- License obligation management
- Generating legal documents such as notices
Installation
SW360 is composed of the following.
- Frontend : Liferay-(Tomcat-)based portal application
- Backend : Tomcat-based thrift service
- Database : CouchDB
For details on the project structure and the software required for installation, see the Required software section of the README: https://github.com/eclipse/sw360/blob/master/README.md
SW360 offers the following three installation methods. Users can choose whichever one suits them.
- Vagrant (https://www.vagrantup.com/)-based installation: Vagrant is a tool for managing virtualized instances, and sw360vagrant provides an environment for deploying SW360 all at once. : https://github.com/sw360/sw360vagrant
- The components of SW360 can be installed individually. : https://github.com/eclipse/sw360
- It can be deployed via Docker. : https://github.com/sw360/sw360chores
Here, we introduce how to install and deploy SW360 on a CentOS 7.6 system using the Vagrant-based method. For more detail, refer to the README. : https://github.com/sw360/sw360vagrant/blob/master/README.md
1) Prerequisites
To install SW360 on a Vagrant box, you must first install openjdk, VirtualBox, and Vagrant. First, install openjdk 1.8.0.
$ yum install java-1.8.0-openjdk
$ java -version
openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-b12)"
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)
Install VirtualBox.
$ sudo wget https://download.virtualbox.org/virtualbox/rpm/el/virtualbox.repo -P /etc/yum.repos.d
$ sudo yum install VirtualBox-5.2
If, when installing VirtualBox on CentOS 7, you get a “kernel module is not loaded” error, resolve it by installing kernel-devel and then reinstalling VirtualBox.
$ sudo yum install https://centos7.iuscommunity.org/ius-release.rpm
$ sudo yum install dkms
$ sudo yum install kernel-devel
# reboot
$ sudo /sbin/vboxconfig
$ systemctl status vboxdrv
● vboxdrv.service - VirtualBox Linux kernel module
Loaded: loaded (/usr/lib/virtualbox/vboxdrv.sh; enabled; vendor preset: disabled)
Active: active (exited) since Wed 2020-02-19 09:06:02 KST; 20min ago
Install Vagrant and the vagrant-aws plugin.
$ sudo yum install https://releases.hashicorp.com/vagrant/2.2.6/vagrant_2.2.6_x86_64.rpm
# install the vagrant-aws plugin
$ vagrant plugin install vagrant-aws
Then, clone the sw360vagrant code.
$ git clone https://github.com/sw360/sw360vagrant.git
2) Downloading Dependencies
To reduce the time it takes to build the Vagrant box, download the dependency packages in advance.
$ cd sw360vagrant
$ ./download-packages.sh
The following packages are then downloaded into the ./shared/package folder.
- Liferay 7.2.1 CE GA2 with Tomcat (9.0.17)
- Postgresql-42.2.9 ODBC client for Java as *.jar file
- 11 *.jar files required by SW360
- Thrift 0.11
- A box images from the Ubuntu 16.04 LTS (xenial-server-cloudimg-amd64-vagrant.box)
3) Creating the Base Box
Now, create the base box with the following commands.
$ cd generate-box
$ ./generate_box.sh
This step can take several tens of minutes.
4) Running the Box
Run the box with the following commands.
# If you have built a vagrant box from this directory earlier, you will have to destroy it first via
$ vagrant destroy
$ cd ../sw360-single
$ vagrant up
Running the box configures Liferay, PostgreSQL, and CouchDB. If it runs without issue, you can access the Liferay screen at https://localhost:8443/.
5) Deploying the SW360 Layout
The final step is deploying the SW360 layout on Liferay. This step is not yet automated, so an administrator must perform it manually. Access https://localhost:8443/ and log in with the following account.
- id : setup@sw360.org
- pw : sw360fossy
After that, follow the instructions on the following site to deploy the layout. https://github.com/eclipse/sw360/wiki/Deploy-Liferay7
Once the deployment is complete, you will see a screen like the following.
Basic Workflow
1) Registering Licenses
The first time you install SW360, you must register the open source licenses you commonly use. A license includes the following information.
- Full Name
- Short Name
- License Type
- GPL-2.0 Compatibility (e.g. yes, no)
- License Text
Selecting Menu > Licenses > Add License takes you to the Create License screen, shown below.
Registering licenses one by one this way can be quite tedious, but fortunately SW360 provides a feature to import the entire SPDX License List at once. Click Menu > Admin < Import SPDX Information.
The SPDX License List is then registered automatically. You can confirm that 338 licenses have been registered under Menu > Licenses.
2) Registering Components and Releases
In SW360, a Component is a single unit of software. It can correspond to various kinds of software, including the following.
- Open source software
- Libraries
- Third-party software
A Component includes the following information.
- Component Name
- Main Licenses
- Categories (e.g. Library, Cloud, Mobile, …)
- Component Type (e.g. OSS, Internal, InnerSource, Service, Freeware)
- Default Vendor
- Homepage URL
A Release is a unit that points to a single version of a Component. A single Component can therefore have multiple Releases. A Release is created and managed under a Component.
A Release includes the following information.
- Component Name
- Version
- License
- Download URL
- CPE ID (e.g. cpe:2.3:a:apache:maven:3.0.4)
For example, to register zlib-1.2.8, you would first register zlib as a Component, and then register zlib 1.2.8 as a Release. Selecting Menu > Components > Add Component takes you to the Create Component screen, where you can register information about zlib.
Once you have created the Component, you can register information for the zlib-1.2.8 version at Components > Releases > Add Release.
After registering versions 1.2.8 and 1.2.11 as separate Releases under the single Component zlib, the Release Overview screen shows the following two Releases.
SW360 also provides a feature for importing information for multiple Components at once. You can enter the Component information you want to register into the CSV template under Menu > Admin > Import / Export and import it.
Note that, as of February 2020, this feature may not yet work reliably.
3) Creating a Project
A Project refers to a single product. Depending on the type of business, it could be a product, a service, or software. A Project registers and manages the Components/Releases used in the product.
When creating a Project, you register the following information.
- Project Name
- Version
- Project type (e.g. Product, Customer Project, Service, Internal Project, InnerSource)
You can create a Project via Menu > Projects > Add Project.
After creating a Project, register the Releases or sub-Projects it includes. Selecting the Project under Menu > Projects lets you register Linked Projects and Linked Releases under “Linked Releases and Projects.”
The following is the screen after registering OpenSSL 1.0.1 and zlib 1.2.8 as Linked Releases under a Project called SuperCalc.
4. Security Vulnerability Management
SW360 can automatically check whether a registered Release has a security vulnerability. To do this, SW360 provides a feature for scheduling periodic collection of CVE information. Under Menu > Admin > Schedule, you can set up a schedule to collect CVE SEARCH information every 24 hours.
With this schedule set, SW360 collects CVE information at the scheduled time from the CVE Search site (https://cve.circl.lu/). The collected CVE information can be viewed under Menu > Vulnerabilities.
Once Vulnerabilities information has been collected, you can check whether a created Project has any security vulnerabilities. In the SuperCalc Project created above, you can see that 85 security vulnerabilities have been reported.
By registering and managing the software a company develops and distributes in SW360 this way, it becomes possible to manage not only open source compliance but also security vulnerability risk in a way that minimizes it.
SW360 also exposes most of its features as a REST API in addition to the web interface above, making it possible to integrate with other tools such as FOSSology. : https://github.com/eclipse/sw360/wiki/Dev-REST-API
In other words, by importing the analysis results of a source code scanning tool into SW360 and integrating it into DevOps to automate the registration of Projects and Releases, efficiency can be increased significantly.
3 - Open Source Security Assurance: A Guide to Enterprise Adoption and Certification of ISO/IEC 18974
Open Source Security Assurance: A Guide to Enterprise Adoption and Certification of ISO/IEC 18974 provides guidance for the safe use of open source software (OSS), which has become an essential element in modern software development environments. This guide presents effective solutions to the security concerns that have grown more pressing alongside the increasing use of open source software, and details the step-by-step procedures and key strategies for obtaining certification to the international standard ISO/IEC 18974.
The main objectives of this guide are as follows.
- Understanding the ISO/IEC 18974 standard: Clearly explains the core requirements and implementation methods of ISO/IEC 18974 so that organizations can effectively build an open source security management system.
- Presenting tailored strategies by organizational characteristics: Provides customized approaches so that organizations of various sizes and characteristics — large enterprises, small and medium-sized enterprises, and startups — can successfully implement ISO/IEC 18974.
- Providing practical guidelines and templates: Offers concrete guidelines and templates needed at each stage — policy development, SBOM (Software Bill of Materials) management, vulnerability response, and more — to support practical application.
- Sharing success stories and lessons learned: Analyzes the cases of companies that have successfully obtained ISO/IEC 18974 certification and shares the factors behind their successes and failures, helping organizations reduce trial and error and obtain certification efficiently.
The primary intended readers of this guide are as follows.
- Open source software security managers
- Software developers and engineers
- Chief Information Security Officers (CISOs) and IT managers
- Legal and compliance officers
- Open Source Program Office (OSPO) staff
Through this guide, readers will be able to effectively understand the ISO/IEC 18974 standard, strengthen their organization’s open source security management capabilities, and further contribute to building a safe and trustworthy software development ecosystem.
References
This guide was written with reference to the following materials.
- ISO/IEC 18974:2023, Information technology - Open source supply chain security assurance
- ISO/IEC 5230:2020, Information technology - OpenChain Specification
- The Linux Foundation, OpenChain Project: https://www.openchainproject.org/
- National Institute of Standards and Technology (NIST), National Vulnerability Database (NVD): https://nvd.nist.gov/
- Common Vulnerabilities and Exposures (CVE): https://cve.mitre.org/
- OWASP (Open Web Application Security Project): https://owasp.org/
- PwC, Understanding the open source security ISO 18974: https://www.pwc.de/en/digitale-transformation/open-source-software-management-and-compliance/understanding-the-open-source-security-iso-18974.html
- The Momentum, Integrating DevSecOps: A Guide to Development, Security and Operations: https://www.themomentum.ai/blog/integrating-devsecops-a-guide-to-development-security-and-operations
- Enterprise Networking Planet, Integrating IT Security With DevSecOps Best Practices: https://www.enterprisenetworkingplanet.com/management/integrating-it-security-with-devsecops-best-practices/
- Synopsys, What is Software Composition Analysis?: https://www.synopsys.com/glossary/what-is-software-composition-analysis.html
- GuideM, DORA vs. ISO 27001: https://www.guidem.com/en/dora-vs-iso-27001/
- Overseas Information Security Trends, Policy Trends in Strengthening Cyber Resilience Among Major Countries: https://www.kisa.or.kr/cmm/fms/FileDown.do?atchFileId=FILE_0000000000024149&fileSn=1
3.1 - 1. Why Does Open Source Security Matter?
This chapter introduces the concepts of open source software and security assurance, and explains the background, purpose, importance, and certification benefits of the ISO/IEC 18974 standard.
1.1 The Concepts of Open Source Software and Security Assurance
Open source software (OSS, Open Source Software) refers to software whose source code is published, allowing anyone to freely use, modify, and distribute it. This offers the advantages of transparency, collaboration, and innovation, but it also carries security risks.
Characteristics of Open Source Software
- Published source code
- Free use, modification, and distribution
- Community-based development
- Cost efficiency
Table 1.1: Advantages and Disadvantages of Open Source Software
| Advantages | Disadvantages |
|---|---|
| Fast innovation and development speed | Risk of exposure to security vulnerabilities |
| High quality and stability | Unclear support and accountability |
| Flexibility and customization potential | Complexity of license compliance |
| Easier code review and improvement due to broad developer participation | Possible dependency on a specific project |
Open source has become an essential element in modern software development. Many companies use open source components rather than developing everything in-house, reducing development time and cost. However, this has introduced new risks into the software supply chain.
The main security risks arising from the use of open source are as follows.
- Known vulnerabilities (CVE, Common Vulnerabilities and Exposures): Systems can be exposed to attacks that exploit publicly disclosed vulnerabilities registered in databases such as CVE.
- Example: The Log4Shell vulnerability (CVE-2021-44228), which occurred in 2021, was found in Apache Log4j, a widely used open source logging library, and had a serious impact on countless systems worldwide. This vulnerability allowed attackers to execute remote code.
- Insertion of malicious code: If malicious code is inserted into an open source repository, systems that download and use it can become infected.
- Legal problems from license violations: Failing to comply with open source license terms can lead to legal disputes such as copyright infringement.
- Use of unsupported components: Open source components that are no longer maintained make it difficult to respond to new vulnerabilities, increasing security risk.
‘Security assurance’ is needed to manage these risks. Security assurance is the process of confirming that software operates safely as intended and is free of known vulnerabilities or malicious code. This is essential for risk mitigation, building trust, and regulatory compliance.
1.2 Background and Objectives of the ISO/IEC 18974 Standard
ISO/IEC 18974 is the international standard for open source security assurance. This standard originated in the Linux Foundation’s OpenChain project and defines the core requirements for managing the security of open source software.
The background to the development of the ISO/IEC 18974 standard is as follows.
- Growing use of open source and the resulting security risk: As the use of open source increases, attempts to exploit security vulnerabilities are also increasing.
- Rise in software supply chain attacks: Cases such as SolarWinds and Log4Shell, which caused large-scale damage by attacking the software supply chain, are increasing.
- Recognition among companies of the need for systematic open source security management: Companies are recognizing the security risks that come with using open source and feel the need to build a systematic management system.
The main objectives of the ISO/IEC 18974 standard are as follows.
- Providing a standardized framework for open source security management: Supports organizations in building consistent processes and procedures for open source security management.
- Improving an organization’s open source security processes: Provides criteria by which an organization can assess and improve its own level of open source security management.
- Strengthening the overall security of the software supply chain: Encourages all participants in the supply chain to comply with open source security requirements, raising the overall level of security.
1.3 The Purpose and Importance of ISO/IEC 18974
The main purpose of ISO/IEC 18974 is to enable organizations to build a system for effectively managing known security vulnerabilities in open source software. This standard identifies the following core areas.
- The key points at which security processes are needed
- How roles and responsibilities are assigned
- How the sustainability of the process is ensured
In the global software industry, ISO/IEC 18974 serves as a benchmark for open source security management. It provides companies with a tool to objectively assess and improve their open source management capabilities.
Compliance with the standard has a positive effect on an organization’s sustainability.
- Cost savings from fewer security incidents: Managing vulnerabilities proactively reduces the likelihood of security incidents and lowers recovery costs when incidents do occur.
- Improved customer trust: Demonstrating the ability to develop and deliver safe software builds customer trust.
- Easier regulatory compliance: Helps organizations comply with privacy regulations such as GDPR and CCPA.
- Competitive advantage: Meets the requirements of security-conscious customers, providing an edge over competitors.
1.4 Benefits of ISO/IEC 18974 Certification
Through ISO/IEC 18974 certification, companies can obtain the following benefits.
- Building a systematic open source management system
- Establishing consistent security policies and processes
- Systematic identification, tracking, and control of open source components
- Building a process for generating and managing an SBOM (Software Bill of Materials)
- Improved supply chain trust
- Strengthened trust relationships with partners and customers
- Business stability secured through reduced security risk
- Objective criteria for evaluating suppliers
- Recognition of open source management capability
- Demonstrating open source management capability at a global level
- Enhanced corporate image and brand value
- Creation of new business opportunities
- Reduced legal liability
- Compliance with license obligations and prevention of infringement
- Reduced litigation risk
- Easier regulatory compliance (e.g., DORA, EU Cyber Resilience Act)
Summary
ISO/IEC 18974 underscores the importance of open source security management and provides companies with a framework for carrying it out systematically. By complying with this standard, companies can make full use of the benefits of open source while effectively managing the associated risks.
3.2 - 2. Key Requirements of ISO/IEC 18974
ISO/IEC 18974 defines the key requirements for open source software security assurance. This standard provides the guidance organizations need to build a framework for effectively managing known security vulnerabilities in open source software. For details on each requirement, refer to the appendix.
2.1 Program Foundation
This section defines the fundamental requirements for policy, competence, awareness, resources, and measurement for an open source security assurance program. The program foundation provides the basis for an organization to effectively implement and continually maintain ISO/IEC 18974.
2.1.1 Policy
The organization shall establish a documented policy that governs open source software security assurance of supplied software. This policy shall be shared with all relevant parties within the organization, and the policy and its method of communication shall undergo a review process to ensure they remain current and relevant.
Table 2.1: Policy Requirement and Verification Materials
| Requirement | Original Text | English Translation |
|---|---|---|
| 2.1.1 Policy | A written policy shall be created that governs open source software security assurance of supplied software. The policy shall be internally communicated. The policy and its method of communication shall have a review process to ensure they are current and relevant. | A written policy shall be created that governs open source software security assurance of supplied software. The policy shall be internally communicated. The policy and its method of communication shall have a review process to ensure they are current and relevant. |
| Verification Materials | 4.1.1.1: A documented open source software security assurance policy 4.1.1.2: A documented procedure to make program participants aware of the security assurance policy | 4.1.1.1: A documented open source software security assurance policy 4.1.1.2: A documented procedure to make program participants aware of the security assurance policy |
Considerations for Establishing the Policy
- Scope: Clearly define the scope of open source software to which the policy applies (e.g., all internally developed projects, external supply chains, etc.).
- Roles and Responsibilities: Clearly define the responsibilities of all roles involved in open source security management (e.g., developers, security team, legal team, management).
- Process: Provide guidance on key processes such as open source use approval, SBOM (Software Bill of Materials) management, vulnerability management, and license compliance.
- Compliance: Specify the monitoring and audit procedures for policy compliance.
- Exceptions: Define the procedure for handling exceptions to the policy.
2.1.2 Competence
The organization shall identify the roles and responsibilities that affect the performance and effectiveness of the program, and determine the competence required of program participants who fulfill each role. It shall also ensure that program participants have appropriate education, training, and/or experience.
Table 2.2: Competence Requirement and Verification Materials
| Requirement | Original Text | English Translation |
|---|---|---|
| 2.1.2 Competence | The organization shall: Identify the roles and responsibilities that impact the performance and effectiveness of the program; Determine the necessary competence of program participants fulfilling each role; Ensure that program participants have appropriate education, training, and/or experience; Where applicable, ensure program participants take actions to acquire the necessary competence; Retain appropriate documented information as evidence of competence as well as who is currently a participant in the program. | The organization shall: Identify the roles and responsibilities that impact the performance and effectiveness of the program. Determine the necessary competence of program participants fulfilling each role. Ensure that program participants have appropriate education, training, and/or experience. Where applicable, ensure program participants take actions to acquire the necessary competence. Retain appropriate documented information as evidence of competence, along with who is currently a participant in the program. |
| Verification Materials | 4.1.2.1: A documented list of roles with corresponding responsibilities for the different program participants 4.1.2.2: A document that identifies the competencies for each role 4.1.2.3: List of participants and their roles 4.1.2.4: Documented evidence of assessed competence for each program participant 4.1.2.5: Documented evidence of periodic reviews and changes made to the process 4.1.2.6: Documented verification that these processes are current with company internal best practices and who is assigned to accomplish them | 4.1.2.1: A documented list of roles with corresponding responsibilities for the different program participants 4.1.2.2: A document that identifies the competencies for each role 4.1.2.3: List of participants and their roles 4.1.2.4: Documented evidence of assessed competence for each program participant 4.1.2.5: Documented evidence of periodic reviews and changes made to the process 4.1.2.6: Documented verification that these processes are current with company internal best practices and who is assigned to accomplish them |
Considerations for Building Competence
- Role Definition: Define all roles related to open source security management (e.g., open source lead, developers, security engineers), and clarify the technical and legal knowledge required for each role.
- Education and Training: Provide education and training programs to build the competence required for each role. For example, secure coding training for developers, open source license training for the legal team, and the like.
- Experience: Support the accumulation of open source security management experience through participation in actual projects. Encourage the sharing of experience through mentoring programs, code reviews, and similar activities.
- Assessment: Conduct regular competence assessments to gauge the level of program participants and address any gaps.
2.1.3 Awareness
The organization shall ensure that program participants are aware of the open source software security assurance policy, relevant program objectives, their contribution to the effectiveness of the program, and the implications of not following the program’s requirements.
Table 2.3: Awareness Requirement and Verification Materials
| Requirement | Original Text | English Translation |
|---|---|---|
| 2.1.3 Awareness | The organization shall ensure that the program participants are aware of: The open source software security assurance policy; Relevant program objectives; Their contribution to the effectiveness of the program; The implications of not following the program’s requirements. | The organization shall ensure that the program participants are aware of: The open source software security assurance policy; Relevant program objectives; Their contribution to the effectiveness of the program; The implications of not following the program’s requirements. |
| Verification Materials | 4.1.3.1: Documented evidence of assessed awareness for the program participants - which should include the program’s objectives, one’s contribution within the program, and implications of program non-conformance. | 4.1.3.1: Documented evidence of assessed awareness for the program participants - which should include the program’s objectives, one’s contribution within the program, and implications of program non-conformance. |
Activities to Raise Awareness
- Regular Training: Conduct regular training on open source security policy and related processes.
- Communication: Share open source security information and announce the latest threats and vulnerabilities through internal bulletin boards, newsletters, email, and similar channels.
- Encouraging Participation: Encourage participation in open source security workshops, conferences, and study groups.
- Recognition: Establish a recognition program for employees who contribute to open source security.
2.1.4 Resources
The organization shall provide the resources needed for the establishment, implementation, maintenance, and improvement of the open source security assurance program. These resources include human resources, technical resources, and financial resources.
Table 2.4: Resources Requirement and Verification Materials
| Requirement | Original Text | English Translation |
|---|---|---|
| 2.1.4 Resources | The organization shall determine and provide the resources needed for the establishment, implementation, maintenance and continual improvement of the program. | The organization shall determine and provide the resources needed for the establishment, implementation, maintenance and continual improvement of the program. |
| Verification Materials | 4.1.4.1: A documented procedure for determining and providing resources for the program. 4.1.4.2: A documented list of resources needed for the program. 4.1.4.3: Evidence that the documented resources have been provided. | 4.1.4.1: A documented procedure for determining and providing resources for the program. 4.1.4.2: A documented list of resources needed for the program. 4.1.4.3: Evidence that the documented resources have been provided. |
Considerations for Providing Resources
- Human Resources: Secure the necessary personnel, such as open source security experts, developers, and legal experts, and provide appropriate education and training suited to each role.
- Technical Resources: Introduce and maintain the necessary technical tools, such as SBOM generation tools, vulnerability scanners, and license checking tools.
- Financial Resources: Secure the budget needed to operate the program and allocate it appropriately.
2.1.5 Measurement
The organization shall establish metrics for measuring the effectiveness of the open source security assurance program, and measure and analyze them regularly. The measurement results shall be used to improve the program.
Table 2.5: Measurement Requirement and Verification Materials
| Requirement | Original Text | English Translation |
|---|---|---|
| 2.1.5 Measurement | The organization shall determine metrics to measure program effectiveness and communicate the results. | The organization shall determine metrics to measure program effectiveness and communicate the results. |
| Verification Materials | 4.1.5.1: A documented procedure for determining, monitoring, and reviewing metrics to ensure the program is effective. | 4.1.5.1: A documented procedure for determining, monitoring, and reviewing metrics to ensure the program is effective. |
Considerations for Measurement
- Metric Selection: Select appropriate metrics related to the program’s objectives (e.g., vulnerability resolution time, SBOM accuracy, policy compliance rate).
- Data Collection: Regularly collect data for the selected metrics.
- Result Analysis: Analyze the collected data to evaluate the effectiveness of the program and identify areas that need improvement.
2.2 Relevant Tasks Defined and Supported
This section covers the requirements for defining and supporting the relevant tasks needed to effectively operate the open source security assurance program. The organization shall clearly define and support the relevant tasks so that the program’s purpose is achieved and participants can access the information and tools they need.
2.2.1 Access
The organization shall identify internal and external issues that are relevant to the purpose of the program and that affect its ability to achieve that purpose. It shall also ensure that program participants can access the information and tools needed to meet the program requirements.
Table 2.6: Access Requirement and Verification Materials
| Requirement | Original Text | English Translation |
|---|---|---|
| 2.2.1 Access | The organization shall determine the internal and external issues that are relevant to the purpose of the program and that affect its ability to achieve the intended results of the program. The organization shall ensure that the program participants have access to the information and tools required to meet the program requirements. | The organization shall determine the internal and external issues that are relevant to the purpose of the program and that affect its ability to achieve the intended results of the program. The organization shall ensure that the program participants have access to the information and tools required to meet the program requirements. |
| Verification Materials | 4.2.1.1: A documented procedure to identify and manage internal and external issues that may affect the program. 4.2.1.2: A documented procedure to ensure program participants have access to the information and tools required to meet program requirements. | 4.2.1.1: A documented procedure to identify and manage internal and external issues that may affect the program. 4.2.1.2: A documented procedure to ensure program participants have access to the information and tools required to meet program requirements. |
Considerations for Ensuring Access
- Identifying Internal Issues: Identify factors within the organization, such as policies, processes, technology, and personnel, that may affect the program.
- Examples: “Absence of a clear policy on open source use,” “Shortage of security team staff,” “Inadequate SBOM generation tools,” and the like.
- Identifying External Issues: Analyze how changes in the external environment, such as laws, regulations, industry trends, and the competitive landscape, may affect the program.
- Examples: “Emergence of new open source licenses,” “Increase in software supply chain attacks,” “Strengthening of privacy regulations,” and the like.
- Information Sharing: Build an information-sharing system so that program participants can easily access the information they need (e.g., open source security policy, SBOM (Software Bill of Materials), vulnerability information).
- Examples: Use internal wikis, collaboration tools, and knowledge management systems to improve access to information.
- Providing Tools: Provide the tools program participants need to perform their work effectively (e.g., SBOM generation tools, vulnerability scanners, license checking tools).
- Examples: Provide the development team with open source analysis tools integrated into the IDE (Integrated Development Environment), and provide the security team with specialized vulnerability scanning tools.
2.2.2 Effectively Resourced
The organization shall determine and provide the resources needed for the establishment, implementation, maintenance, and continual improvement of the program. These resources include human resources, technical resources, and financial resources.
Table 2.7: Effectively Resourced Requirement and Verification Materials
| Requirement | Original Text | English Translation |
|---|---|---|
| 2.2.2 Effectively Resourced | The organization shall determine and provide the resources needed for the establishment, implementation, maintenance and continual improvement of the program. | The organization shall determine and provide the resources needed for the establishment, implementation, maintenance and continual improvement of the program. |
| Verification Materials | 4.2.2.1: A documented procedure for determining and providing resources for the program. 4.2.2.2: A documented list of resources needed for the program. 4.2.2.3: Evidence that the competence has been determined. 4.2.2.4: Evidence that resources are being provided to maintain and improve the program. | 4.2.2.1: A documented procedure for determining and providing resources for the program. 4.2.2.2: A documented list of resources needed for the program. 4.2.2.3: Evidence that the competence has been determined. 4.2.2.4: Evidence that resources are being provided to maintain and improve the program. |
Considerations for Resource Allocation
- Human Resources: Secure the personnel needed to operate the program and provide appropriate education and training suited to each role.
- Examples: Hiring open source security experts, running security training programs for developers.
- Technical Resources: Introduce and maintain the necessary technical tools, such as SBOM generation tools, vulnerability scanners, and license checking tools.
- Examples: Introducing a cloud-based SBOM management system, building automated vulnerability scanning tools.
- Financial Resources: Secure the budget needed to operate the program and allocate it appropriately.
- Examples: Securing a budget for purchasing open source security tools, securing a budget for running training programs.
- Process: Document the resource allocation process and review it regularly to improve efficiency.
- Examples: When establishing the annual budget plan, allocate a separate budget for open source security and manage the execution details.
2.3 Open Source Software Content Review and Approval
This section covers the requirements for the review and approval process an organization needs to safely use open source software. An effective review and approval process allows an organization to identify and manage security vulnerabilities, license violations, and other risks in advance.
2.3.1 SBOM (Software Bill of Materials)
The organization shall establish a process for creating and managing a Software Bill of Materials (SBOM) that includes each open source component (and its identified licenses) comprising the supplied software. The SBOM ensures transparency of software components and facilitates vulnerability management and license compliance.
Table 2.8: SBOM (Software Bill of Materials) Requirement and Verification Materials
| Requirement | Original Text | English Translation |
|---|---|---|
| 2.3.1 SBOM (Software Bill of Materials) | A process shall exist for creating and managing a bill of materials that includes each open source component (and its identified licenses) from which the supplied software is comprised. | A process shall exist for creating and managing a bill of materials that includes each open source component (and its identified licenses) from which the supplied software is comprised. |
| Verification Materials | 4.3.1.1: A documented procedure for identifying, tracking, reviewing, approving, and archiving information about the collection of open source components from which the supplied software is comprised. 4.3.1.2: Open source component records for the supplied software that demonstrate the documented procedure was properly followed. | 4.3.1.1: A documented procedure for identifying, tracking, reviewing, approving, and archiving information about the collection of open source components from which the supplied software is comprised. 4.3.1.2: Open source component records for the supplied software that demonstrate the documented procedure was properly followed. |
Considerations for SBOM Management
- SBOM Generation Tools: Select and introduce appropriate tools to automate SBOM generation (e.g., SPDX Tools, CycloneDX, Syft).
- SBOM Format: Use a standardized SBOM format (e.g., SPDX, CycloneDX) to ensure interoperability.
- SBOM Content: Define the essential information that must be included in the SBOM (e.g., component name, version, license, origin).
- SBOM Updates: Build a process to update the SBOM whenever software components change.
- SBOM Storage and Sharing: Define how the SBOM is securely stored and shared with the necessary stakeholders.
2.3.2 Security Assurance
The organization shall establish a process for identifying and managing known vulnerabilities in the open source components included in the supplied software. This allows the organization to quickly identify and respond to vulnerabilities, minimizing security risk.
Table 2.9: Security Assurance Requirement and Verification Materials
| Requirement | Original Text | English Translation |
|---|---|---|
| 2.3.2 Security Assurance | A process shall exist for identifying and managing known vulnerabilities in the open source components of the supplied software. | A process shall exist for identifying and managing known vulnerabilities in the open source components of the supplied software. |
| Verification Materials | 4.3.2.1: A documented procedure for identifying and managing known vulnerabilities in the open source components of the supplied software. 4.3.2.2: Records identifying and managing known vulnerabilities in the open source components of the supplied software that demonstrate the documented procedure was properly followed. | 4.3.2.1: A documented procedure for identifying and managing known vulnerabilities in the open source components of the supplied software. 4.3.2.2: Records identifying and managing known vulnerabilities in the open source components of the supplied software that demonstrate the documented procedure was properly followed. |
Considerations for Security Assurance
- Vulnerability Scanning: Use automated vulnerability scanning tools to periodically check open source components for vulnerabilities (e.g., OWASP Dependency-Check, Snyk, Black Duck).
- Vulnerability Databases: Use up-to-date vulnerability databases (e.g., the National Vulnerability Database (NVD), Common Vulnerabilities and Exposures (CVE)) to obtain information on known vulnerabilities.
- Vulnerability Assessment: Evaluate the severity, impact, and exploitability of discovered vulnerabilities to determine response priority.
- Patch Management: Apply patches for vulnerabilities promptly and verify the results of the patch application.
- Exception Handling: When applying a patch is difficult, take appropriate mitigation measures (e.g., changing Web Application Firewall (WAF) settings, modifying code).
2.3.3 Review and Approval
The organization shall establish a process for reviewing and approving the use of open source components. This allows the organization to assess security, license, and technical risk, and ensures that only safe and appropriate open source components are used.
Table 2.10: Review and Approval Requirement and Verification Materials
| Requirement | Original Text | English Translation |
|---|---|---|
| 2.3.3 Review and Approval | A process shall exist for reviewing and approving the use of open source components. | A process shall exist for reviewing and approving the use of open source components. |
| Verification Materials | 4.3.3.1: A documented procedure for reviewing and approving the use of open source components. 4.3.3.2: Records of the review and approval of open source components that demonstrate the documented procedure was properly followed. | 4.3.3.1: A documented procedure for reviewing and approving the use of open source components. 4.3.3.2: Records of the review and approval of open source components that demonstrate the documented procedure was properly followed. |
Considerations for the Review and Approval Process
- Review Criteria: Define clear criteria for evaluating open source components, such as security, license, and technical fitness.
- Review Body: Conduct the review through an Open Source Review Board (OSRB) or a designated person in charge.
- Approval Procedure: Define the procedure for approving or rejecting the use of an open source component based on the review results.
- Record Management: Document the review and approval results and systematically manage the related information.
2.4 Conformance to Document Requirements
This section covers what an organization needs to build a process for continually conforming to and improving upon the requirements of the ISO/IEC 18974 standard. Conformance to the standard’s requirements is essential for maintaining and continually improving the effectiveness of the open source security management system.
2.4.1 Program Conformance
The organization shall establish a process for verifying that its own open source security assurance program meets the requirements of the ISO/IEC 18974 document. This process may include regular internal audits, self-assessments, and, where necessary, external verification.
Table 2.11: Program Conformance Requirement and Verification Materials
| Requirement | Original Text | English Translation |
|---|---|---|
| 2.4.1 Program Conformance | A process shall exist for determining the program’s adherence to the requirements of this document. | A process shall exist for determining the program’s adherence to the requirements of this document. |
| Verification Materials | 4.4.1.1: A documented procedure for determining program conformance to this document. | 4.4.1.1: A documented procedure for determining program conformance to this document. |
Considerations for Verifying Program Conformance:
- Internal Audit: Verify through regular internal audits that program operations conform to ISO/IEC 18974 requirements. The audit cycle can be adjusted based on the organization’s size and complexity (e.g., quarterly, semi-annually, annually).
- Self-Assessment: Use self-assessment to identify the program’s strengths and weaknesses and find opportunities for improvement. The self-certification checklist provided by the OpenChain Project can be used for self-assessment.
- External Verification: Where necessary, have the program’s conformance verified by an external expert or certification body. This can increase the program’s credibility and build trust with customers and partners.
- Documentation: Document all procedures and records used to determine program conformance. This ensures transparency during audits and reviews and supports continual improvement.
2.4.2 Continuous Improvement
The organization shall continually improve the open source security assurance program to ensure its suitability, adequacy, and effectiveness. Continuous improvement is essential for responding to the changing threat landscape and maximizing the program’s effectiveness.
Table 2.12: Continuous Improvement Requirement and Verification Materials
| Requirement | Original Text | English Translation |
|---|---|---|
| 2.4.2 Continuous Improvement | The organization shall continuously improve the suitability, adequacy, and effectiveness of the program. | The organization shall continuously improve the suitability, adequacy, and effectiveness of the program. |
| Verification Materials | 4.4.2.1: A documented procedure for reviewing and improving the program. | 4.4.2.1: A documented procedure for reviewing and improving the program. |
Considerations for Continuous Improvement:
- Feedback Collection: Collect feedback on program operations from various stakeholders (e.g., developers, security team, legal team, management).
- Data Analysis: Analyze the collected feedback and program operation data to identify areas that need improvement.
- Improvement Plan Development: Develop specific plans for the identified areas of improvement and define actionable steps.
- Execution and Review: Execute the improvement plan and measure the results to evaluate its effectiveness.
- Process Integration: Reflect effective improvements in the program’s operating processes to ensure continuous improvement.
3.3 - 3. How to Implement ISO/IEC 18974
This section explains the processes needed to effectively implement an open source software security assurance program in accordance with the requirements of ISO/IEC 18974, along with how to prepare Verification Materials. This chapter organizes its subsections to align with Section 4, Requirements, of ISO/IEC 18974, and presents concrete implementation methods and Verification Materials preparation approaches for each requirement.
3.3.1 - 3.1 Program Foundation
The core of the ISO/IEC 18974 standard is building a systematic foundation for an organization to safely manage open source software. This foundation encompasses not only technical aspects but also various factors such as organizational culture, policy, and workforce competence. The 3.1 Program Foundation chapter explains in detail the essential elements for building this foundation.
3.1.1 Policy
An open source software security assurance policy is a core document for an organization to use open source safely and effectively. This policy guides all members of the organization to take responsibility for open source use, understand the associated risks, and comply with the required procedures. Therefore, the policy should be written in clear, easy-to-understand language and managed so that all members of the organization can easily access it.
3.1.1.1 Documented Open Source Software Security Assurance Policy
ISO/IEC 18974
- 4.1.1.1: A documented open source software security assurance policy
Self-Certification Checklist
- We have a documented policy governing the open source security assurance of Supplied Software.
A documented open source software security assurance policy is the core document that provides an organization’s formal guidance on open source use. This policy presents the standards for all members of the organization to safely use and manage open source, and helps minimize legal and security risks.
Example Policy Content
- Open source usage approval procedure: Clearly defines the review and approval procedure required before using open source.
- SBOM (Software Bill of Materials) management: Specifies how to generate and manage the list of open source components.
- Vulnerability management: Defines the procedure for detecting and responding to vulnerabilities in open source components.
- License compliance: Provides guidance for complying with open source license terms.
- Contribution policy: Presents guidelines on how the organization contributes to open source projects.
- Exception handling procedure: Defines the procedure for handling exceptional situations where complying with the policy is difficult.
The policy should be tailored to the size and characteristics of the organization. For example, a large organization may need a more detailed and complex policy, while a small organization may prefer a more concise and flexible policy.
In addition, the policy should be reviewed and updated regularly, and should reflect the latest laws and security threat trends.
This guide provides an open source policy template that satisfies all ISO/IEC 18974 requirements: Open Source Policy Template
3.1.1.2 Documented Procedure to Make Program Participants Aware of the Security Assurance Policy
ISO/IEC 18974
- 4.1.1.2: A documented procedure to make program participants aware of the security assurance policy.
Self-Certification Checklist
- We have a documented procedure to communicate the existence of the open source policy to all Software Staff.
No matter how well a policy is written, it cannot be effective if members of the organization are unaware of its existence or do not understand its content. Therefore, an organization must establish a documented procedure to effectively communicate the security assurance policy to all program participants.
Example Procedures
- New employee training: Mandatory open source policy training is provided to new employees.
- Regular training: Regular training on the open source policy (e.g., once a year) is conducted for existing employees.
- Policy publication: The policy document is posted on an internal wiki, portal, or other accessible location.
- FAQ: An FAQ document summarizing questions and answers about the policy is provided.
- Newsletter: The latest open source information and policy changes are shared through a newsletter.
- Awareness campaigns: Awareness campaigns emphasizing the importance of open source security are conducted regularly.
Training should not simply convey the policy content, but should be conducted in a way that encourages participants’ engagement and improves their understanding through actual case studies, workshops, quizzes, and similar activities. In addition, training materials should use visual elements to improve readability and be provided in a way that suits various learning styles.
Example Improvement Plan
- Improve the training program: Update the training content to reflect the latest trends and real-world cases, and strengthen participatory learning elements.
- Strengthen communication channels: Use internal communication channels to continuously share policy-related information and provide answers to questions.
- Expand awareness campaigns: Expand awareness campaigns that emphasize the importance of open source security, and encourage participation through various events.
Documentation Approach
Include the following content in the open source policy. (Reference: Open Source Policy Template)
6. Training and Awareness
This section describes the training and awareness activities required to ensure the competence and awareness of program participants. Through this, participants can fully understand the open source policy, related program objectives, and their own roles and responsibilities, and raise their awareness of open source license compliance and security assurance.
6.1 Open Source Training
- Training objectives:
- Helps program participants correctly utilize open source, understand license compliance and security assurance procedures, and apply them in practice.
- Key training content:
- The purpose and principles of the open source policy.
- License obligations and compliance procedures.
- How to generate and use an SBOM.
- Procedures for managing Known Vulnerabilities and newly discovered vulnerabilities.
- Training methods:
- Completed through online courses provided on the [Learning Portal].
- Additional training in the form of workshops or seminars is provided as needed.
- Case-based learning is used to strengthen practical problem-solving skills.
3.1.2 Competence
The success of an open source software security assurance program depends heavily on the competence of the members participating in the program. Clearly defining the competencies required for each role and supporting members in acquiring those competencies is essential to raising an organization’s level of open source security.
3.1.2.1 Documented List of Roles and Responsibilities
ISO/IEC 18974
- 4.1.2.1: A documented list of roles with corresponding responsibilities for the different program participants;
Self-Certification Checklist
- We have identified the roles and responsibilities that affect the performance and effectiveness of the Program.
Clearly defining and documenting the roles and responsibilities of all members participating in the open source security assurance program is the first step toward effective program operation. Only when each member clearly understands their own role and responsibilities can effective collaboration be achieved to reach the program’s objectives.
Implementation Methods and Considerations
- Comprehensive role definition: Define all roles participating in the program, such as program manager, legal counsel, security expert, and developer.
- Clear specification of responsibilities: Specify concretely, for each role, the tasks to be performed, decision-making authority, information-sharing obligations, and so on.
- Reflecting the organizational structure: The definition of roles and responsibilities should reflect the organization’s structure and culture.
- Regular review: Review and revise the definition of roles and responsibilities regularly in response to organizational changes, program updates, and the like.
Example (Based on Personnel Assignments) - Sample Roles and Responsibilities Document:
| Role | Key Responsibilities | Detailed Responsibilities |
|---|---|---|
| Open Source Program Manager | Overall management of the open source program | - Policy establishment and management - Budget management - Performance measurement |
| Legal | Legal review and license management | - License compliance review - Legal risk assessment - Dispute resolution |
| IT | Operation of analysis tools and system setup | - Installation and maintenance of analysis tools - Preparation of analysis result reports |
| Security | Vulnerability analysis and security hardening | - Vulnerability scanning and assessment - Development of response plans - Security training |
| Development team | Secure code development and policy compliance | - Policy compliance - Code quality management - Security vulnerability remediation |
See Open Source Policy Template Appendix 1. Personnel Assignments for detailed examples.
3.1.2.2 Document Defining the Competencies Required for Each Role
ISO/IEC 18974
- 4.1.2.2: A document that identifies the competencies for each role;
Self-Certification Checklist
- We have identified and documented the competencies required for each role.
Defining the competencies required for each role is essential for placing the right people and developing the necessary education and training programs. Competency definitions should include not only technical knowledge but also non-technical competencies such as problem-solving ability, communication skills, and collaboration ability.
Implementation Methods and Considerations
- Concrete competency definitions: Specify concretely the knowledge, skills, experience, certifications, and the like required for each role.
- Measurable criteria: Present measurable criteria that can be used to assess the level of competence.
- Regular assessment: Regularly assess members’ competence levels and provide necessary education and training opportunities.
- Reflecting the latest information: Continuously update competency requirements as new technologies or threats emerge.
Example (Based on Personnel Assignments) - Sample Required Competencies by Role
| Role | Required Competencies | Competency Assessment Method |
|---|---|---|
| Open Source Program Manager | - Understanding of open source licenses - Understanding of the software development process - Risk management ability - Communication skills | - Verify completion of related training - Assess project participation experience - Assess communication skills |
| Legal | - Legal knowledge such as copyright law and contract law - Expert knowledge of open source licenses - Legal risk assessment ability | - Verify attorney qualification - Verify completion of related training - Assess legal review reports |
| IT | - IT infrastructure operation experience - Ability to use security tools - Ability to write automation scripts | - Verify related certifications - Assess system operation experience - Assess script-writing ability |
| Security | - Security vulnerability analysis ability - Incident response ability - Experience using security tools | - Verify information security-related certifications - Assess vulnerability analysis reports - Assess incident response experience |
| Development team | - Open source use and contribution experience - Secure coding skills - Security vulnerability remediation ability | - Code review results - Security test results - Project participation history |
See Open Source Policy Template Appendix 1. Personnel Assignments for detailed examples.
Through this approach, an organization can secure personnel suited to each role and strengthen members’ competence through continuous education and training.
3.1.2.3 List of Participants and Their Roles
ISO/IEC 18974
- 4.1.2.3: List of participants and their roles;
Self-Certification Checklist
- We have identified and documented a list of Program Participants and how they fill their respective roles.
Maintaining a list that clearly records the names and roles of all members participating in the open source security assurance program is essential for clarifying accountability and building an efficient communication system. This list improves the transparency of program operations and supports a rapid response when an emergency occurs.
Implementation Methods and Considerations
- Keeping information current: If the list of participants changes due to organizational restructuring, personnel changes, or the like, it should be updated immediately.
- Access permission management: Manage access permissions to the participant list appropriately to maintain information security.
- Accuracy of information: Accurately record and manage participant names, roles, contact information, and the like.
Example (Based on Personnel Assignments) - Sample List of Participants and Roles
| Name | Role | Department | Contact |
|---|---|---|---|
| Cheolsu Kim | Open Source Program Manager | Information Security Team | cheolsu.kim@example.com |
| Younghee Lee | Legal | Legal Team | younghee.lee@example.com |
| Sunyoung Park | Security Engineer | Information Security Team | sunyoung.park@example.com |
| Minho Choi | Development Team Lead | Development Team 1 | minho.choi@example.com |
See Open Source Policy Template Appendix 1. Personnel Assignments for detailed examples.
3.1.2.4 Documented Evidence of Assessed Competence for Each Participant
ISO/IEC 18974
- 4.1.2.4: Documented evidence of assessed competence for each program participant;
Self-Certification Checklist
- We have documented the assessed competence for each Program Participant.
Assessing whether the competencies required for each role are actually held is very important for ensuring the effectiveness of the program. Competency assessment should go beyond simply checking whether a certification is held, and should comprehensively assess actual job performance ability, problem-solving ability, and adaptability to change.
Implementation Methods and Considerations
- Use a variety of assessment methods: Assess competence using a variety of methods, such as written exams, practical assessments, interviews, and 360-degree evaluations.
- Conduct regular assessments: Assess competence regularly, at least once a year, and provide additional education or training opportunities as needed.
- Utilize assessment results: Reflect assessment results in individual competency development plans, compensation, promotion, and the like.
Example (Based on Personnel Assignments) - Sample Competence Assessment Results
| Name | Role | Assessment Item | Assessment Result | Improvement Plan |
|---|---|---|---|---|
| Cheolsu Kim | Open Source Program Manager | Understanding of open source licenses | High | - |
| Risk management ability | Medium | Complete risk management training | ||
| Younghee Lee | Legal | Copyright law knowledge | High | - |
| Open source license analysis ability | Medium | Complete specialized open source license training | ||
| Sunyoung Park | Security Engineer | Vulnerability analysis ability | High | - |
| Incident response ability | Medium | Participate in incident response simulation | ||
| Minho Choi | Development Team Lead | Secure coding skills | Medium | Complete secure coding guideline training |
| Security vulnerability remediation ability | Medium | Participate in code review and security vulnerability remediation practice |
Example Improvement Plan
- Develop competency-strengthening programs: Develop and operate education, training, and mentoring programs to strengthen the competencies required for each role.
- Support certification acquisition: Encourage the acquisition of related certifications and provide necessary support, such as exam fee support and study materials.
- Provide career development opportunities: Support members in gaining practical experience by providing opportunities to participate in various projects.
Documentation Approach
Include the following content in the open source policy. (Reference: Open Source Policy Template)
6.2 Competence Assessment
- Assessment criteria:
- Assess the competencies required for each role.
- Assessment items:
- Understanding of the open source policy.
- Ability to carry out compliance procedures.
- Ability to manage security vulnerabilities.
- Assessment methods:
- Measure participants’ competence through regular tests and practical assessments.
- Assessment results are reflected in individual performance records, and additional training is provided as needed.
6.4 Record Keeping
- Training and assessment records:
- All training completion records and assessment results are retained for at least three years.
- This makes it possible to demonstrate that program participants sufficiently understand the policy and processes.
- Regular review and update:
- The Open Source Program Manager reviews the training content and assessment methods at least once a year and updates them as needed to reflect the latest open source trends and the organization’s requirements.
3.1.2.5 Recording Process Reviews and Changes
ISO/IEC 18974
- 4.1.2.5: Documented evidence of periodic reviews and changes made to the process;
Self-Certification Checklist
- We have a way to document periodic reviews and changes made to our processes.
An open source security assurance program must be continuously improved to keep pace with an ever-changing threat landscape and technology trends. To this end, an organization must build a system for periodically reviewing roles and responsibilities, competency requirements, and the like, and applying changes as needed. These reviews and changes must be documented and managed, and it must be possible to verify the program’s progress through change history tracking.
Implementation Methods and Considerations
- Set a regular review cycle: Conduct reviews at least once a year, or as needed from time to time. The review cycle is determined by considering the organization’s characteristics, the scale of open source use, the frequency of security threats, and the like.
- Define the review scope: Clearly define the review scope, including role and responsibility definitions, competency requirements, training programs, and assessment methods.
- Establish a review procedure: Document a review procedure that includes the purpose of the review, participants, review method, and result reporting.
- Manage changes: Record changes made based on review results in detail, specifying the reason for the change, the content of the change, and the timing of application.
- Manage history: Systematically manage the change history so that past decisions and the current state can be compared and analyzed.
Sample Evidence
- Process review meeting minutes: Record in detail the meeting attendees, discussion content, and decisions made.
- Change report: Specify the reason for the change, the content of the change, and the roles and processes affected.
- Updated policy document: Kept up to date to reflect changes.
- Process improvement proposal: Record proposed content for program improvement and document the review results.
- Competency assessment result analysis report: Analyze competency assessment results and use them to improve training programs.
Sample Table: Process Review and Change Record
| Review Date | Review Item | Content Before Change | Content After Change | Reason for Change | Owner |
|---|---|---|---|---|---|
| 2025-01-15 | Role and responsibility definition | Security team: Vulnerability analysis and response | Security team: Vulnerability analysis, response, and prevention | Strengthen security incident prevention | Cheolsu Kim |
| 2025-01-15 | Competency requirements | Development team: Perform code review | Development team: Code review and completion of secure coding training | Strengthen secure code development competence | Minho Choi |
| 2025-07-20 | Training program | Open source license training (1 hour) | Open source license and security training (2 hours) | Raise awareness of license and security risks | Younghee Lee |
Example Improvement Plan
- Build an automated change management system: Introduce a system that automates change tracking, approval workflow management, and history management.
- Conduct regular audits: Conduct regular audits to assess process compliance and effectiveness.
- Expand stakeholder participation: Involve various stakeholders (developers, security experts, legal counsel, and the like) in the review process to gather diverse opinions.
- Collect continuous feedback: Collect feedback from program participants and reflect it in process improvement.
Documentation Approach
Include the following content in the open source policy. (Reference: Open Source Policy Template)
10. Measuring and Improving Program Effectiveness
This section describes the procedures for measuring and continuously improving the effectiveness of the open source program. Through this, the company can assess and improve the performance of its open source license compliance and security assurance program.
10.1 Defining Performance Indicators
- List of performance indicators:
- Number of Supplied Software analyzed.
- Number of Known Vulnerabilities and newly discovered vulnerabilities resolved.
- Number of compliance deliverables created and distributed.
- Response time to external inquiries.
- Training completion rate of program participants.
- Number of external open source contributions and public projects.
- Setting indicator targets:
- Set target values for each indicator so that the program’s performance can be assessed.
- Target values are set in line with the organization’s business objectives and the program’s purpose.
10.2 Regular Program Assessment
- Assessment cycle:
- Conduct a program assessment at least once a year.
- Conduct additional assessments as needed in response to changes in the business environment or major issues.
- Assessment procedure:
- Document the assessment results and report them to the OSRB (Open Source Review Board).
- Collect and reflect feedback from program participants during the assessment process.
- Assessment results are recorded and retained through an internal system (e.g., the Jira Issue Tracker).
- Regular policy review and renewal:
- The policy is reviewed regularly and renewed as needed to reflect the latest open source trends and the organization’s requirements.
- This continuously improves the effectiveness of the program.
10.3 Continuous Improvement Plan
- Identify areas for improvement:
- Identify areas requiring improvement based on the assessment results and set priorities.
- Areas requiring improvement may include process efficiency, training content, response time, and the like.
- Set improvement targets:
- Set specific improvement targets and schedules.
- The progress of improvement activities is monitored and documented.
- Reflect improvement results:
- Reflect improvement results in the next assessment cycle to continuously enhance the program’s effectiveness.
- Improvement results are shared with program participants to encourage continued commitment to improvement.
3.1.2.6 Verifying Alignment with Company Internal Best Practices
ISO/IEC 18974
- 4.1.2.6: Documented verification that these processes are current with company internal best practices and who is assigned to accomplish them.
Self-Certification Checklist
- We have a way to verify that our processes align with current company best practices and staff assignments.
To maximize the effectiveness of the open source security assurance program, it is important that the way the program is operated remains consistent with other security-related activities and best practices within the company. This helps the program integrate with the organization’s overall security strategy to create synergy and avoid unnecessary duplication.
Implementation Methods and Considerations
- Survey internal best practices:
- Survey security-related activities or processes that other teams or departments in the organization are operating successfully.
- Example: the information security team’s security vulnerability management process, the development team’s secure coding guidelines, and the like.
- Compare and analyze processes:
- Compare and analyze the surveyed best practices against how the open source security assurance program is operated.
- Identify strengths, weaknesses, and opportunities for improvement.
- Integrate and improve processes:
- Adjust the open source security assurance program to align with the company’s internal best practices.
- Example: applying the company-wide vulnerability management system to open source vulnerability management as well, conducting open source code reviews in accordance with internal coding conventions, and the like.
- Assign and manage an owner:
- Assign an owner responsible for compliance with internal best practices and clarify that role.
- The owner regularly reviews how the program is operated and proposes improvements.
Sample Evidence
- Best practice survey report: Record in detail the survey targets, survey method, and analysis results.
- Process comparison and analysis report: Clearly present strengths, weaknesses, and opportunities for improvement.
- Process improvement plan: Specify concrete improvement targets, an implementation plan, and an assessment method.
- Owner assignment document: Clearly define the owner’s name, role, and responsibilities.
Sample Table: Verifying Alignment with Company Internal Best Practices
| Check Item | Description | Compliant | Improvement Plan |
|---|---|---|---|
| Vulnerability management process | Consistency with the company-wide vulnerability management process | Yes | - |
| Code review procedure | Compliance with internal code review guidelines | Yes | - |
| Access control policy | Compliance with the internal access control policy | No | Strengthen access control for open source-related systems |
| Security training program | Participation in the company-wide security training program | No | Add open source-related training content |
Example Improvement Plan
- Strengthen the security training program: Include open source security content in the company-wide security training program and expand the training audience and hours.
- Strengthen the access control policy: Minimize access permissions to open source-related systems and conduct regular access permission reviews.
- Integrate audit processes: Integrate audits of open source-related activities into the company-wide audit process, conduct audits regularly, and derive improvements.
Documentation Approach
Include the following content in the open source policy. (Reference: Open Source Policy Template)
3.1 Role Descriptions
- Open Source Program Manager (OSPM)
- Responsibility: Overall responsibility for the company’s open source program.
- Key duties:
- Manage open source license compliance and security assurance activities.
- Create and maintain the SBOM.
- Respond to external open source-related inquiries.
- Manage internal best practices.
5.4 Verifying Alignment with Internal Best Practices
- Survey internal best practices:
- Survey security-related activities and processes that other teams or departments in the company are operating successfully.
- Example: the information security team’s vulnerability management process, the development team’s secure coding guidelines, and the like.
- Compare and analyze processes:
- Compare and analyze how the surveyed best practices and the open source security assurance program are operated.
- Identify differences, weaknesses, and opportunities for improvement.
- Integrate and improve processes:
- Adjust or integrate the open source security assurance program to align with the company’s internal best practices.
- Example: applying the company-wide vulnerability management system to open source vulnerability management as well.
- Assign and manage an owner:
- The OSPM is responsible for compliance with internal best practices, regularly reviews the way the program is operated, and proposes improvements.
10.4 Integrating and Improving Internal Best Practices
- Integration activity planning:
- Identify gaps between internal best practices and the open source security assurance program, and develop an integration plan based on them.
- Example: integrating vulnerability management systems, standardizing code review procedures.
- Regular review and update:
- Review alignment between internal best practices and the open source program at least once a year, and reflect improvements as needed.
- The review results are reported to the OSRB (Open Source Review Board).
Through this approach, an organization can align its open source security assurance program with the company’s internal best practices, thereby increasing the program’s effectiveness and raising the organization’s overall level of security.
3.1.3 Awareness
For an open source security assurance program to operate successfully, raising the awareness of program participants is essential. Program participants must clearly understand the organization’s open source policy, the program’s objectives, and their own roles and responsibilities. They must also be fully aware of the impact that can result from failing to comply with the program’s requirements.
3.1.3.1 Documented Evidence of Assessed Awareness of Program Participants
ISO/IEC 18974
- 4.1.3.1: Documented evidence of assessed awareness for the program participants - which should include the program’s objectives, one’s contribution within the program, and implications of program non-conformance.
Self-Certification Checklist
- We have documented the awareness of our Program Participants on the following topics:
- The open source security assurance policy and where to find it;
- Relevant open source objectives;
- Contributions expected to ensure the effectiveness of the Program;
- The implications of failing to follow the Program requirements.
To confirm whether program participants are sufficiently aware of open source-related policies and procedures and the importance of security, an organization must conduct regular assessments and document the results. Such assessments can be used to measure the program’s effectiveness and, if necessary, improve the training program.
Implementation Methods and Considerations
- Use a variety of assessment methods:
- Multiple-choice exams: Assess knowledge related to the open source policy, licenses, and security.
- Case studies: Present scenarios that could actually occur and have participants choose an appropriate response.
- Surveys: Gather program participants’ opinions on their level of awareness, satisfaction, and areas for improvement.
- Structure of assessment content:
- Policy understanding: Assess understanding of the purpose, scope of application, and key content of the open source policy.
- License understanding: Assess understanding of the major types of open source licenses and their obligations.
- Security vulnerability response procedure: Assess understanding of the reporting and handling procedure when a vulnerability is found.
- Contribution method: Assess understanding of the procedures and guidelines for contributing to open source projects.
- Analysis of assessment results:
- Analyze the assessment results to identify the strengths and weaknesses of program participants.
- Provide additional education or training for areas of weakness.
- Use of assessment results:
- Improve the training program: Supplement the training content and improve the training method based on the assessment results.
- Improve processes: Improve the open source management process based on the assessment results.
Sample Evidence
- Training program materials: Specify the training content, audience, and schedule.
- Assessment methods: Include exam papers, questionnaires, case study materials, and the like.
- Assessment result report: Include assessment scores, analysis content, and an improvement plan.
- List of training attendees: Record the names and signatures of the people who participated in the training.
Example (Based on Personnel Assignments)
| Assessment Item | Description | Assessment Method | Assessment Timing | Owner |
|---|---|---|---|---|
| Understanding of the open source policy | Purpose, scope of application, key content of the policy | Multiple-choice exam, essay questions | At onboarding, once a year | OSPO, Legal Team |
| Understanding of open source licenses | Major license types and obligations | Case analysis, role-play | At onboarding, once a year | Legal Team |
| Security vulnerability response procedure | Reporting and handling procedure when a vulnerability is found | Simulation, workshop | Once a year | Security Team |
| Contribution method | Procedures and guidelines for contributing to open source projects | Project participation report | At the time of project participation | Development Team |
Example Improvement Plan
- Diversify training content: Develop training content in a variety of formats, such as videos, infographics, and games, to increase participation.
- Provide customized training: Provide customized training focused on the knowledge and skills required for each role.
- Build a feedback system: Collect feedback on the training program and reflect it in improvements.
- Introduce a reward system: Provide rewards to people who contribute to open source security to motivate them.
Documentation Approach
Include the following content in the open source policy. (Reference: Open Source Policy Template)
1.1 Purpose
This policy provides the principles and procedures for the company to use open source software safely and effectively. The main purposes of the policy are as follows:
- Open source license compliance:
- Comply with the license obligations of the open source components included in Supplied Software and meet related legal requirements.
- Open source security assurance:
- Identify security vulnerabilities in the open source components included in Supplied Software and minimize security risk through appropriate response measures.
- Contribution to external open source projects:
- Promote collaboration with the open source community by contributing to external open source projects, and protect the company’s intellectual property.
- Open-sourcing internal projects:
- Promote collaboration with the open source community by releasing internal projects as open source, and promote the company’s technical capabilities.
These principles are designed to satisfy the requirements of ISO/IEC 5230 (open source license compliance) and ISO/IEC 18974 (open source security assurance).
1.2 Impact of Non-Compliance
If this policy is not complied with, the company may face the following risks:
- Legal risk: The company may receive external demands for open source license compliance, with the risk of litigation or fines.
- Reputational damage: The company’s reputation may be damaged due to source code disclosure obligations or security incidents.
- Business loss: Relationships with customers or suppliers may deteriorate due to breach of contract.
- Security incidents: Serious security incidents may occur due to Known Vulnerabilities or newly discovered vulnerabilities.
1.3 How Program Participants Can Contribute
All program participants at the company must understand and comply with this policy. Participants can contribute in the following ways:
- Carry out the responsibilities and obligations defined in the policy according to their role.
- Complete open source license and security-related training and apply it in practice.
- Immediately report any problem discovered that impedes policy compliance.
Through this approach, an organization can raise the awareness level of program participants and contribute to spreading an open source security culture.
3.1.4 Program Scope
Clearly defining the scope of the open source security assurance program is very important for efficiently allocating the organization’s resources and effectively achieving the program’s objectives. The scope of the program should be carefully determined by considering the organization’s size, business characteristics, and the scale of open source use.
3.1.4.1 Written Statement Clearly Defining the Scope and Limits of the Program
ISO/IEC 18974
- 4.1.4.1: A written statement that clearly defines the scope and limits of the program;
Self-Certification Checklist
- We have a written statement clearly defining the scope and limits of the Program.
A written statement that clearly defines the scope and limits of the program contributes to preventing confusion and clarifying accountability by clearly distinguishing what the program applies to and what it does not. This statement must remain consistent with the program’s objectives and be written so that all members of the organization can easily understand it.
Implementation Methods and Considerations
- Comprehensive definition: Clearly list all the targets to which the program applies (e.g., all software projects, specific teams, specific product lines, specific technology stacks).
- Clear exceptions: Specifically state the exceptions to which the program does not apply. Example: open source used only for internal testing, personal projects, and the like.
- Possibility of scope adjustment: State that the scope of the program can be adjusted according to changes in the organization’s circumstances, and briefly describe the scope adjustment procedure.
Example (Considering Organization Size and Business Characteristics)
- Large organization:
- Scope of application: “Applies to open source components included in all software projects developed, deployed, or used by all business units of the company.”
- Exception: “However, open source used only for research and development purposes may be excluded from the scope of this program. In this case, prior approval from the OSPO is required.”
- Small organization:
- Scope of application: “Applies to open source components included in the company’s flagship products.”
- Exception: “Open source used in internal management systems is excluded from the scope of this program.”
Sample Table: Program Scope Definition
| Category | Content |
|---|---|
| In scope | 1. All software the company distributes externally 2. All services provided in the form of cloud services 3. All software development kits (SDKs) provided to customers |
| Out of scope | 1. Open source used only in internal development and test environments 2. Open source used for personal purposes |
| Related departments | Development team, QA team, Security team, Legal team, OSPO |
Documentation Approach
Include the following content in the open source policy. (Reference: Open Source Policy Template)
1.4 Scope of Application
This policy applies to all software projects the company develops, deploys, or uses. The main scope of application is as follows:
- All Supplied Software provided or distributed externally.
- Activities contributing to external open source projects.
- Activities that release internal projects as open source.
However, whether the policy applies to open source used only for internal purposes may be determined through a separate review procedure.
The scope of application of the policy is reviewed and renewed regularly in response to changes in the company’s business environment.
3.1.4.2 Set of Metrics to Achieve for Program Improvement
ISO/IEC 18974
- 4.1.4.2: A set of metrics the program shall achieve to improve;
Self-Certification Checklist
- We have a set of metrics to measure Program performance.
To continuously measure and improve the effectiveness of the open source security assurance program, it is essential to set specific, measurable metrics. These metrics are used to assess whether the program’s objectives are being achieved, identify areas for improvement, and track progress.
Implementation Methods and Considerations
- SMART metrics: Metrics should be Specific, Measurable, Achievable, Relevant, and Time-bound.
- Linking to key objectives: Metrics should be directly linked to the program’s key objectives (e.g., risk reduction, cost savings, efficiency improvement).
- Data collection and analysis: A system for collecting and analyzing the data needed to measure the metrics must be built.
- Regular review: The appropriateness of the metrics should be reviewed regularly and adjusted as needed.
Example Metrics
| Metric | Description | Measurement Method | Target Value |
|---|---|---|---|
| Open source usage approval turnaround time | Average time from an open source component usage request to approval | Analysis of request management system data | Within 5 days |
| Vulnerability resolution time | Average time from vulnerability discovery to completion of a patch or mitigation | Analysis of vulnerability management system data | Critical: within 24 hours, High: within 7 days |
| License compliance rate | Percentage of all open source components used without license violations | Regular internal audit | 99% or higher |
| Security training completion rate | Percentage of program participants who have completed security training | Analysis of training system data | 90% or higher |
| SBOM generation rate | Percentage of all software projects for which an SBOM has been generated | Analysis of project management system data | 100% |
Data Collection Methods
- Use automated tools: Automatically collect data using SBOM generation tools, vulnerability scanners, license inspection tools, and the like.
- Regular audits: Verify data accuracy through manual audits and collect information that automated tools fail to capture.
- Surveys: Gather program participants’ opinions and collect subjective data.
Documentation Approach
Include the following content in the open source policy. (Reference: Open Source Policy Template)
10.1 Defining Performance Indicators
- List of performance indicators:
- Number of Supplied Software analyzed.
- Number of Known Vulnerabilities and newly discovered vulnerabilities resolved.
- Number of compliance deliverables created and distributed.
- Response time to external inquiries.
- Training completion rate of program participants.
- Number of external open source contributions and public projects.
- Setting indicator targets:
- Set target values for each indicator so that the program’s performance can be assessed.
- Target values are set in line with the organization’s business objectives and the program’s purpose.
10.2 Regular Program Assessment
- Assessment cycle:
- Conduct a program assessment at least once a year.
- Conduct additional assessments as needed in response to changes in the business environment or major issues.
- Assessment procedure:
- Document the assessment results and report them to the OSRB (Open Source Review Board).
- Collect and reflect feedback from program participants during the assessment process.
- Assessment results are recorded and retained through an internal system (e.g., the Jira Issue Tracker).
- Regular policy review and renewal:
- The policy is reviewed regularly and renewed as needed to reflect the latest open source trends and the organization’s requirements.
- This continuously improves the effectiveness of the program.
10.3 Continuous Improvement Plan
- Identify areas for improvement:
- Identify areas requiring improvement based on the assessment results and set priorities.
- Areas requiring improvement may include process efficiency, training content, response time, and the like.
- Set improvement targets:
- Set specific improvement targets and schedules.
- The progress of improvement activities is monitored and documented.
- Reflect improvement results:
- Reflect improvement results in the next assessment cycle to continuously enhance the program’s effectiveness.
- Improvement results are shared with program participants to encourage continued commitment to improvement.
3.1.4.3 Documented Evidence from Reviews, Updates, or Audits to Demonstrate Continuous Improvement
ISO/IEC 18974
- 4.1.4.3: Documented evidence from each review, update, or audit to demonstrate continuous improvement.
Self-Certification Checklist
- We have Documented Evidence from each review, update, or audit to demonstrate continuous improvement.
An open source security assurance program is not built and maintained as a one-time effort; its effectiveness must be maintained and strengthened through continuous review and improvement. The program’s scope, policy, and procedures must be continuously reviewed and updated to keep pace with the changing threat landscape, new technology trends, and changes in the organization’s business requirements. These review, update, and audit activities must be documented and managed, and serve as important evidence demonstrating the program’s continuous improvement.
Implementation Methods and Considerations
- Regular review meetings: Hold regular review meetings attended by program management, security experts, legal counsel, and other relevant stakeholders. The meetings discuss the program’s effectiveness, problems, and improvements, and decide on necessary actions.
- Conduct internal audits: Conduct regular internal audits to assess the program’s operational status, policy compliance, and level of risk management. Audits may be conducted by an independent audit team or external experts.
- Collect and analyze feedback: Collect and analyze feedback from program participants, development teams, and users, and use it to improve the program. Gather diverse opinions using surveys, interviews, suggestion systems, and the like.
- Change management process: When changing the program’s scope, policy, or procedures, clearly record the reason for the change, the content of the change, and the affected parties, and notify relevant stakeholders of the changes.
- Documentation and history management: Document and manage all review, update, and audit activities so that the change history can be tracked.
Sample Evidence
- Review meeting minutes: Record in detail the meeting attendees, discussion content, decisions, and execution plan.
- Internal audit report: Include the audit scope, audit method, audit results, and improvement recommendations.
- Feedback analysis report: Analyze the collected feedback content and derive key improvements.
- Change management record: Specify the reason for the change, the content of the change, and the timing of application.
- Updated policy document: Kept up to date to reflect changes.
Sample Table: Continuous Improvement Activity Record
| Date | Activity Type | Description | Owner | Result | Related Document |
|---|---|---|---|---|---|
| 2025-03-15 | Review meeting | Discussion of program operation status and improvement plans | OSPO, Security Team, Legal Team | Reviewed automation of the SBOM generation process | Meeting minutes 20250315 |
| 2025-06-30 | Internal audit | Audit of license compliance and vulnerability management status | Audit Team | Identified missing license notices in some projects | Audit report 20250630 |
| 2025-09-01 | Feedback analysis | Received an SBOM generation automation requirement from the development team | OSPO | Established a plan for the SBOM generation automation project | Feedback analysis report 20250901 |
| 2025-12-31 | Process update | Automated the SBOM generation process | Development Team, OSPO | Reduced SBOM generation time by 50% | SBOM generation process v2.0 |
Example Improvement Plan
- Introduce automation tools: Introduce tools that automate repetitive tasks such as SBOM generation, vulnerability scanning, and license inspection, thereby improving efficiency.
- Strengthen the training program: Operate a regular training program to strengthen the competencies of program participants, and share the latest information and technology trends.
- Use threat intelligence: Collect and analyze the latest security threat information and reflect it in the program.
- Use external experts: Seek advice from external experts as needed and obtain professional technical support.
- Community participation: Actively participate in the open source community to identify the latest information and technology trends, and collaborate with other organizations for the program.
Documentation Approach
Include the following content in the open source policy. (Reference: Open Source Policy Template)
10.2 Regular Program Assessment
- Assessment cycle:
- Conduct a program assessment at least once a year.
- Conduct additional assessments as needed in response to changes in the business environment or major issues.
- Assessment procedure:
- Document the assessment results and report them to the OSRB (Open Source Review Board).
- Collect and reflect feedback from program participants during the assessment process.
- Assessment results are recorded and retained through an internal system (e.g., the Jira Issue Tracker).
- Regular policy review and renewal:
- The policy is reviewed regularly and renewed as needed to reflect the latest open source trends and the organization’s requirements.
- This continuously improves the effectiveness of the program.
10.3 Continuous Improvement Plan
- Identify areas for improvement:
- Identify areas requiring improvement based on the assessment results and set priorities.
- Areas requiring improvement may include process efficiency, training content, response time, and the like.
- Set improvement targets:
- Set specific improvement targets and schedules.
- The progress of improvement activities is monitored and documented.
- Reflect improvement results:
- Reflect improvement results in the next assessment cycle to continuously enhance the program’s effectiveness.
- Improvement results are shared with program participants to encourage continued commitment to improvement.
3.1.5 Standard Practice Implementation
To build a secure open source software supply chain, an organization must manage the risks it has identified on its own and implement standardized procedures that strengthen security throughout the software development process. These procedures must focus not only on systematically responding to Known Vulnerabilities, but also on preventing security threats that may arise in the future.
3.1.5.1 Method to Identify Structural and Technical Threats to Supplied Software
ISO/IEC 18974
- Method to identify structural and technical threats to the supplied software;
Self-Certification Checklist
- We have a method to identify structural and technical threats to the Supplied Software;
Identifying structural and technical threats to Supplied Software is an essential process for discovering and resolving potential security issues at an early stage of development. This process must consider various factors, such as design flaws in the software architecture, inappropriate technology stack choices, and unsafe coding practices. From an open source software security assurance standpoint, particular focus should be placed on identifying security vulnerabilities that can arise from the use of open source components.
Implementation Methods and Considerations
- Use SCA (Software Composition Analysis) tools:
- SBOM-based analysis: Use an SCA tool to generate a list (SBOM) of all open source components used in the software and identify each component’s Known Vulnerabilities.
- Integration with vulnerability databases: Integrate the SCA tool with vulnerability databases such as the NVD (National Vulnerability Database) and CVE (Common Vulnerabilities and Exposures) to make use of the latest vulnerability information.
- Automated analysis: Integrate the SCA tool into the CI/CD pipeline to automatically perform analysis when code changes and detect new vulnerabilities.
- Architecture risk analysis:
- Inter-component dependency analysis: Analyze the software architecture to understand the dependency relationships between components and identify potential security risks.
- Data flow analysis: Analyze how data moves and is processed within the system to assess the possibility of data leakage or tampering.
- Authentication and authorization review: Identify security vulnerabilities in authentication and authorization mechanisms and apply appropriate security measures.
Example
- Identify a Known Vulnerability (e.g., CVE-2017-5638) in the Apache Struts 2 framework and assess the vulnerability’s impact on the organization’s system.
- In a microservices architecture, review the authentication and authorization mechanism used for inter-service communication, and apply security measures to prevent unauthorized access between services.
- Verify whether the version of an open source component in use is the latest, and identify components that are no longer maintained.
Implementation Considerations
- Keeping information current: Vulnerability databases must be continuously updated.
- Automation: Automate the threat identification process as much as possible to improve efficiency.
- Use of experts: Obtain the help of security experts as needed to assess and respond to threats.
Automation Tool Options
Among the automation tools available as open source for SBOM generation/management and vulnerability identification are FOSSLight, SW360, and OSV-SCALIBR. See the guides below for how to install and use these tools.
Documentation Approach
Include the following content in the open source process. (Reference: Open Source Process Template)
(2) Monitoring Known Vulnerabilities and Newly Discovered Vulnerabilities
IT builds and operates a system for monitoring Known Vulnerabilities and newly discovered vulnerabilities. This system performs the following functions for identifying structural / technical threats:
- Automated vulnerability monitoring:
- Analyzes newly published vulnerabilities every day and automatically identifies affected Supplied Software versions.
- Periodically collects publicly available security vulnerability information.
- SBOM-based analysis:
- Performs SBOM-based analysis using an SCA tool.
- Integrates the SCA tool into the CI/CD pipeline to perform automated analysis.
- Notification and recording:
- When a vulnerability is discovered, automatically sends a notification to the development owner and security owner of the affected Supplied Software.
- Uses an issue tracking system so that everything from notification through review, action, and resolution is documented and recorded.
Through this approach, an organization can effectively identify structural and technical threats to Supplied Software and minimize the security risk arising from open source use.
3.1.5.2 Method to Detect Known Vulnerabilities in Supplied Software
ISO/IEC 18974
- Method for detecting existence of known vulnerabilities in supplied software;
Self-Certification Checklist
- We have a method for detecting existence of Known Vulnerabilities in Supplied Software;
Detecting Known Vulnerabilities in the open source components included in Supplied Software is very important for protecting the organization’s systems from potential attacks. This process includes using a vulnerability database to check the Known Vulnerability information for each component included in the SBOM, assessing the severity of the vulnerabilities, and taking appropriate response measures. Effective vulnerability detection methods are as follows.
Implementation Methods and Considerations
- Automated vulnerability scanning:
- Integrate an SCA tool into the CI/CD pipeline to automatically perform a vulnerability scan whenever code changes.
- Share the scan results with the development team, security team, and legal team, and take immediate response action as needed.
- Integration with vulnerability databases:
- Integrate the SCA tool with the NVD (National Vulnerability Database), CVE (Common Vulnerabilities and Exposures), and other trusted vulnerability databases.
- Vulnerability databases must be continuously updated with the latest information.
- Severity-based classification:
- Use the CVSS (Common Vulnerability Scoring System) score to automatically classify the severity of vulnerabilities.
- Determine the vulnerability response priority based on severity and take the necessary action.
- Manual verification:
- For high-risk vulnerabilities detected by automated tools, a security expert performs manual verification.
- Manual verification helps reduce false positives and identify vulnerabilities that automated tools fail to detect.
Example
- Use an SCA tool to detect a vulnerability in the Apache Struts 2 framework and check the CVSS score to assess its severity.
- For high-risk vulnerabilities, a security expert directly reviews the code and analyzes the likelihood of exploitation.
- When a vulnerability is found, the development team immediately applies a patch or takes mitigation measures.
Implementation Considerations
- Accuracy: Tools must be selected and configured to reduce false positives and accurately detect actual security threats.
- Automation: Configure the process to be integrated into the development process and run automatically.
- Keeping information current: Vulnerability databases must be continuously updated with the latest information.
Automation Tool Options
Among the tools available as open source that provide automated vulnerability scanning functionality integrated with vulnerability databases are FOSSLight, SW360, and OSV-SCALIBR. See the guides below for how to install and use these tools.
Documentation Approach
Include the following content in the open source process. (Reference: Open Source Process Template)
(2) Monitoring Known Vulnerabilities and Newly Discovered Vulnerabilities
IT builds and operates a system for monitoring Known Vulnerabilities and newly discovered vulnerabilities. This system performs the following functions for identifying structural / technical threats:
- Automated vulnerability monitoring:
- Analyzes newly published vulnerabilities every day and automatically identifies affected Supplied Software versions.
- Periodically collects publicly available security vulnerability information.
- SBOM-based analysis:
- Performs SBOM-based analysis using an SCA tool.
- Integrates the SCA tool into the CI/CD pipeline to perform automated analysis.
- Notification and recording:
- When a vulnerability is discovered, automatically sends a notification to the development owner and security owner of the affected Supplied Software.
- Uses an issue tracking system so that everything from notification through review, action, and resolution is documented and recorded.
Through this approach, an organization can effectively detect Known Vulnerabilities in the open source components included in Supplied Software and protect its systems from potential attacks.
3.1.5.3 Method to Follow Up on Identified Known Vulnerabilities
ISO/IEC 18974
- Method for following up on identified known vulnerabilities;
Self-Certification Checklist
- We have a method for following up on identified Known Vulnerabilities;
Once a vulnerability is found in an open source component, the organization’s systems and data must be protected through prompt and systematic follow-up action. This involves more than simply applying a patch; it includes a series of steps such as assessing the severity of the vulnerability, determining the response priority, selecting an appropriate resolution, and verifying the result. Effective follow-up methods are as follows.
Implementation Methods and Considerations
- Establish vulnerability severity assessment criteria:
- Use the CVSS (Common Vulnerability Scoring System) score to assess the severity of a vulnerability.
- Classify severity into High, Medium, Low, and the like, and set a response deadline for each severity level.
- Example:
- CVSS 7.0 or higher: High (respond within 24 hours)
- CVSS 4.0 to 6.9: Medium (respond within 7 days)
- CVSS 0.1 to 3.9: Low (respond within 30 days)
- Define a vulnerability response process:
- Define a clear response process that includes reporting, assessment, resolution, and verification stages when a vulnerability is found.
- Assign an owner for each stage and clearly specify responsibility and authority.
- Document the process and share it with all relevant members.
- Establish a method for setting vulnerability resolution priority:
- Determine the resolution priority by considering the vulnerability’s severity, scope of impact, and likelihood of exploitation.
- Resolve vulnerabilities that affect systems of high business importance first.
- Respond immediately to vulnerabilities for which publicly known exploit code exists.
- Vulnerability resolution methods:
- Apply a patch: If possible, upgrade to the latest version of the open source component that resolves the vulnerability.
- Mitigation measures: If a patch cannot be applied immediately, reduce risk through temporary mitigation measures. (e.g., changing WAF settings, restricting access)
- Component replacement: If the vulnerability is severe and applying a patch is difficult, consider replacing the component with a different one.
Example
- For a high-risk vulnerability (CVE-2017-5638) in the Apache Struts 2 framework discovered through an SCA tool, the security team immediately assesses the severity, and the development team upgrades to the latest version within 24 hours.
- If the upgrade is not possible, the WAF (Web Application Firewall) settings are changed to block attacks that exploit the vulnerability.
- All discovered vulnerabilities are registered and managed in an issue tracking system (e.g., Jira), and the resolution process is tracked.
Implementation Considerations
- Automation: Automate the process from vulnerability detection through resolution as much as possible to improve efficiency.
- Collaboration: Respond promptly through close collaboration between the development team, security team, and operations team.
- Continuous monitoring: Continue monitoring after a vulnerability is resolved to prevent recurrence.
Documentation Approach
Include the following content in the open source process. (Reference: Open Source Process Template)
(3) Vulnerability Assessment and Response
Security assesses each vulnerability according to predefined risk/impact assessment criteria and provides response guidance to the business unit. Risk is classified by CVSS (Common Vulnerability Scoring System) score, and a remediation deadline is set based on severity.
| Risk | CVSS 2.0 | CVSS 3.0 | Recommended Remediation Timeline |
|---|---|---|---|
| Low | 0.0 - 3.9 | 0.0 - 3.9 | - |
| Medium | 4.0 - 6.9 | 4.0 - 6.9 | - |
| High | 7.0 - 10.0 | 7.0 - 8.9 | Within 4 weeks |
| Critical | - | 9.0 - 10.0 | Within 1 week |
When a Known Vulnerability or newly discovered vulnerability is identified in previously released Supplied Software, the business unit establishes a remediation plan in accordance with the response guidance provided by the security owner.
If necessary, the business unit notifies customers of the identified vulnerability based on the risk/impact score.
(4) Vulnerability Resolution and Verification
- The business unit resolves the vulnerability in accordance with the established remediation plan.
- The vulnerability is resolved by removing the problematic open source software component or replacing it with a patched version, among other methods.
- IT uses an open source analysis tool to verify that the issue has been properly resolved.
- Security performs additional security testing on the resolved vulnerability to verify that it has been completely resolved.
- The verification result is documented and recorded.
- A review is conducted to confirm that all severe vulnerabilities have been resolved.
- If a vulnerability that is difficult to resolve remains, whether to approve it is reviewed by considering the business form and the extent of service exposure, among other factors.
Through this approach, an organization can systematically follow up on identified Known Vulnerabilities and keep its systems secure.
3.1.5.4 Method to Communicate Identified Known Vulnerabilities to Customers
ISO/IEC 18974
- Method to communicate identified known vulnerabilities to customer base when warranted;
Self-Certification Checklist
- We have a method to communicate identified Known Vulnerabilities to customer base when warranted;
To minimize the impact on customers of Known Vulnerabilities identified in open source components, transparent and prompt communication is essential. An organization must build a system for communicating vulnerability information, scope of impact, and response measures to customers clearly and in a timely manner. This helps maintain customer trust, protect the brand image, and reduce legal liability.
Implementation Methods and Considerations
- Establish a customer communication process:
- Clearly define the procedure for communicating information to customers when a vulnerability occurs.
- The procedure should include criteria for deciding on disclosure, the method of communication, and owner assignment.
- Define vulnerability disclosure criteria:
- Clearly define the criteria for what level of severity a vulnerability must have to be disclosed to customers.
- The decision on whether to disclose is generally based on the CVSS (Common Vulnerability Scoring System) score.
- Maintain a customer contact database:
- Maintain up-to-date customer contact information so that vulnerability information can be communicated promptly.
- Use customer segmentation so that information can be communicated only to affected customers.
Communication methods:
- Email: The most common method, allowing information to be communicated promptly.
- Customer portal: Allows customers to directly check vulnerability information and download response measures.
- Website notice: Discloses general vulnerability information and directs customers to the customer portal for details.
Content of the communication:
- Vulnerability summary: Explains the vulnerability in easy-to-understand terms.
- Impact: Clearly explains the potential impact of the vulnerability on customer systems.
- Resolution: Provides a patch, mitigation measure, or other resolution, if available.
- Contact: Specifies the owner or department the customer can contact for additional questions or support.
Implementation Considerations
- Timeliness: Communicate information to customers as quickly as possible.
- Accuracy: Provide accurate and reliable information.
- Transparency: Honestly disclose the severity and impact of the vulnerability.
- Consistency: Provide consistent information to all customers.
Example
- When a remote code execution vulnerability is discovered in the Apache Struts 2 framework, send an email to affected customers and guide them to apply the patch for the vulnerability.
- Post detailed information about the vulnerability on the customer portal and provide answers to frequently asked questions.
- If necessary, call the customer directly to explain the situation and support the patch application.
Documentation Approach
Include the following content in the open source process. (Reference: Open Source Process Template)
(8) Customer and Third-Party Notification
The Open Source Program Manager generates an updated open source notice based on the SBOM in which the vulnerability has been resolved, and delivers it to the business unit.
Customer notification:
The business unit notifies customers of the vulnerability resolution in the following ways:
- Replaces the open source notice included with the product distribution.
- Notifies customers directly by email or other means, as needed.
- Redistributes a version of the Supplied Software in which the vulnerability has been resolved.
Third-party information disclosure:
IT discloses risk information to third parties in the following ways:
- Registers the revised open source notice and vulnerability-related information on the company’s open source website.
- Submits vulnerability information to a public vulnerability database (e.g., the NVD).
- Notifies the open source project maintainer of the discovered vulnerability and the resolution method.
Notification content:
The information provided to customers and third parties includes the following:
- Vulnerability overview and identifier (e.g., CVE number)
- Affected products and versions
- The vulnerability’s potential impact and CVSS score
- Temporary response measures
- Availability of a patch or update and how to apply it
- Contact information for obtaining additional information
Through this approach, an organization can effectively communicate information about identified Known Vulnerabilities to customers, maintain customer trust, and protect its brand image.
3.1.5.5 Method to Analyze Supplied Software for Newly Published Known Vulnerabilities After Release
ISO/IEC 18974
- Method for analyzing supplied software for newly published known vulnerabilities post release of the supplied software;
Self-Certification Checklist
- We have a method for analyzing Supplied Software for newly published Known Vulnerabilities post release of the Supplied Software;
New vulnerabilities can be discovered even after Supplied Software has been released. Such vulnerabilities can penetrate a system through unexpected attack paths or bypass existing security measures. Therefore, an organization must have a system in place to continuously monitor and analyze new vulnerabilities even after Supplied Software has been released. This is essential for minimizing potential damage through a prompt response and maintaining customer trust.
Implementation Methods and Considerations
- Build a vulnerability monitoring system:
- Continuously monitor the NVD (National Vulnerability Database), CVE (Common Vulnerabilities and Exposures), and other trusted vulnerability information sources.
- Use automated tools to collect new vulnerability information and identify vulnerabilities that could affect the organization’s systems.
- Initial classification and impact analysis:
- After identifying new vulnerability information, check whether the vulnerability exists in an open source component used in the organization’s systems.
- Assess the vulnerability’s severity, likelihood of exploitation, and potential impact on the system.
- Detailed analysis and reproduction:
- For vulnerabilities that are likely to have an impact, perform a detailed analysis and attempt to reproduce the vulnerability based on a real-world attack scenario.
- Use the reproduction result to understand the vulnerability’s actual level of risk and develop an appropriate response.
- Develop a response plan:
- Based on the vulnerability analysis results, decide on a patch application, mitigation measure, or other response.
- The response plan should consider not only technical aspects but also business impact, legal requirements, and customer communication strategy.
- Execute and verify the response:
- Immediately execute the necessary action according to the established response plan.
- After applying a patch or taking mitigation measures, always re-verify the vulnerability to confirm that the issue has been resolved.
- Customer notification (as needed):
- If the vulnerability has a significant impact on customers, notify them of the fact and guide them on the necessary action.
- Communication with customers should be transparent and prompt.
Implementation Considerations
- Automation: Automate the vulnerability monitoring, initial classification, and impact analysis processes as much as possible to improve efficiency.
- Use of experts: Detailed analysis, reproduction, and development of a response plan require the specialized knowledge and experience of security experts.
- Collaboration: Enable a prompt and effective response through close collaboration between the development team, security team, operations team, and legal team.
- Documentation: Record the vulnerability analysis results, response plan, and execution results in detail so that they can be referenced when a similar issue occurs in the future.
Example
- Confirm information that a new vulnerability (e.g., CVE-2025-XXXX) has been discovered in the Apache Struts 2 framework via the NVD.
- Use an SCA tool to check whether the vulnerability exists in the version of Struts 2 used in the organization’s systems.
- Check the vulnerability’s CVSS score and assess its severity.
- A security expert reproduces the vulnerability and analyzes the actual likelihood of attack.
- Coordinate with the development team to determine the timing of patch application, and apply the patch to the system together with the operations team.
- Rerun the vulnerability scanner to confirm that the vulnerability has been resolved.
- If the vulnerability is likely to have a significant impact on customers, send them an email and guide them on the necessary action.
Documentation Approach
Include the following content in the open source process. (Reference: Open Source Process Template)
(5) Post-Release Vulnerability Analysis and Response
IT operates an automated system to analyze vulnerabilities in released Supplied Software every day, even after release, for all Supplied Software.
- When affected Supplied Software is identified, a notification is immediately sent to the development owner and security owner.
- The owner who receives the notification assesses the severity of the vulnerability and develops a response plan.
- Patch development, mitigation measures, and the like are executed according to the response plan.
- Verification is performed after the action is completed, and the result is documented.
Through this approach, an organization can respond promptly to newly discovered vulnerabilities after the release of Supplied Software and keep its systems secure.
3.1.5.6 Method for Continuous and Repeated Security Testing Before Release
ISO/IEC 18974
- Method for continuous and repeated security testing to be applied for all supplied software before release;
Self-Certification Checklist
- We have a method for continuous and repeated Security Testing is applied for all Supplied Software before release;
To provide secure software, it is not enough to perform security testing just once before release. Continuous and repeated security testing is essential for strengthening security throughout the software development lifecycle (SDLC) and for identifying and resolving potential vulnerabilities before release. In particular, when open source components are used, such testing plays an important role in confirming open source license compliance and identifying potential security vulnerabilities.
Implementation Methods and Considerations
- Integrate into the CI/CD pipeline:
- Integrate security testing into the CI/CD pipeline so that tests run automatically whenever code changes.
- This allows security issues to be discovered and resolved from the early stages of development.
- Use SCA tools:
- Use an SCA (Software Composition Analysis) tool to scan open source components for vulnerabilities and confirm license compliance.
- Integrate the SCA tool into the CI/CD pipeline so that it runs automatically during the build process.
- Regular manual review:
- Since automated tools alone may not discover all security issues, conduct regular manual security reviews.
- Manual review may include code review, architecture review, penetration testing, and the like.
- Analyze and improve test results:
- Analyze the security test results and develop a plan to resolve discovered vulnerabilities.
- Share the test results with the development team, security team, and operations team, and resolve issues collaboratively.
- Continuously improve the testing process to enable more effective testing.
Specific Examples
- Automate vulnerability scanning: Integrate a vulnerability scanning tool such as OWASP Dependency-Check into the CI/CD pipeline to automatically scan open source components for vulnerabilities during the build process.
- Automate license inspection: Integrate a license inspection tool such as FOSSology into the CI/CD pipeline to automatically inspect open source components for license compliance during the build process.
- Mandate code review: Mandate code review for all code changes and make an effort to find security vulnerabilities.
- Perform penetration testing: Commission external security experts to perform penetration testing on the system before release, and identify potential security vulnerabilities.
Implementation Considerations
- Test scope: Security testing must be performed on all open source components and custom code.
- Test cycle: Security testing must be performed whenever code changes and before release.
- Test environment: Build a test environment similar to the actual production environment to increase the reliability of the test results.
Automation Tool Options
Among the tools available as open source that enable continuous and repeated security testing before release are FOSSLight, SW360, and OSV-SCALIBR. See the guides below for how to install and use these tools.
Documentation Approach
Include the following content in the open source process. (Reference: Open Source Process Template)
(1) Continuous Security Testing Before Release
IT builds and operates a system that applies continuous and repeated security testing to all Supplied Software before release:
- Automated security testing:
- Integrates automated security testing tools into the CI/CD pipeline.
- Automatically runs security testing whenever code changes.
- Vulnerability scanning:
- Uses an SCA tool to scan open source components for Known Vulnerabilities.
- Automatically updates the vulnerability database and performs a scan every day.
- Review of security test results:
- The security owner reviews the security test results and takes the necessary action.
- If a serious vulnerability is found, immediately notifies the development team and develops a resolution plan.
Through this approach, an organization can identify and resolve potential security vulnerabilities before release, providing more secure software.
3.1.5.7 Method to Verify That Identified Risks Are Addressed Before Release of Supplied Software
ISO/IEC 18974
- Method to verify that identified risks will have been addressed before release of supplied software;
Self-Certification Checklist
- We have a method to verify that identified risks will have been addressed before release of Supplied Software;
Resolving the Known Vulnerabilities discovered by an SCA (Software Composition Analysis) tool before releasing Supplied Software is very important for ensuring the security level of the final product. This includes activities such as patching or removing vulnerable open source components, with the goal of preventing similar issues from occurring in the future.
Implementation Methods and Considerations
- Identify vulnerabilities using an SCA tool:
- Integrate the SCA tool into the CI/CD pipeline to continuously scan for vulnerabilities.
- Perform a final scan before release to identify all Known Vulnerabilities.
- Define a vulnerability resolution process:
- Decide on a resolution method, such as applying a patch or removing the component, for each identified vulnerability.
- Set priorities based on severity and resolve high-risk vulnerabilities first.
- Establish a resolution verification procedure:
- After applying a patch, perform a rescan to confirm that the vulnerability has been resolved.
- When a component is removed, confirm that the corresponding functionality has been properly replaced.
- Final security approval procedure:
- After confirming that all high-risk vulnerabilities have been resolved, obtain final approval from the security lead.
- Document any residual risk and establish a management plan.
Specific Examples
- When a Known Vulnerability (e.g., CVE-2017-5638) in the Apache Struts 2 framework is found by an SCA tool, upgrade to the latest patched version.
- When an open source library that is no longer maintained is found, remove the library and replace it with an alternative library.
Implementation Considerations
- Automation: Automate the scanning and result analysis of the SCA tool to improve efficiency.
- Continuous monitoring: Continue monitoring for and responding to new vulnerabilities even after release.
- Documentation: Document the vulnerability resolution process and results in detail for future reference.
Documentation Approach
Include the following content in the open source process. (Reference: Open Source Process Template)
(4) Vulnerability Resolution and Verification
- The business unit resolves the vulnerability in accordance with the established remediation plan.
- The vulnerability is resolved by removing the problematic open source software component or replacing it with a patched version, among other methods.
- IT uses an open source analysis tool to verify that the issue has been properly resolved.
- Security performs additional security testing on the resolved vulnerability to verify that it has been completely resolved.
- The verification result is documented and recorded.
- A review is conducted to confirm that all severe vulnerabilities have been resolved.
- If a vulnerability that is difficult to resolve remains, whether to approve it is reviewed by considering the business form and the extent of service exposure, among other factors.
Through this approach, an organization can effectively resolve Known Vulnerabilities before the release of Supplied Software and significantly improve the security level of the final product.
3.1.5.8 Method to Communicate Identified Risks to Third Parties
ISO/IEC 18974
- Method to export information about identified risks to third parties as appropriate.
Self-Certification Checklist
- We have a method to export information about identified risks to third parties as appropriate.
Security risks present in an organization’s Supplied Software can affect not only the organization itself but also various stakeholders, such as customers who use the software, partners, and the open source community. Therefore, an organization must appropriately communicate identified risks to third parties so that risks can be managed jointly and the security of the overall software supply chain can be strengthened. This process must be carried out in a transparent and responsible manner, and must comply with relevant laws and contractual terms.
Implementation Methods and Considerations
- Risk assessment and classification:
- Assess the identified risk’s severity, scope of impact, and likelihood of propagation to determine which third parties the information should be communicated to.
- Information must be shared immediately for high-risk vulnerabilities that could result in personal information leakage, system failure, financial loss, or the like.
- Define information sharing criteria:
- Clearly define what information is to be shared and in what manner.
- Information must be written concisely and clearly, and should include a non-technical explanation along with technical content.
- Includes a description of the vulnerability, its impact, the resolution method, and contact information.
- Build communication channels:
- Build communication channels for safely sharing information with third parties.
- Email, a customer portal, a security bulletin board, and the like can be used.
- Apply encrypted communication, access permission management, data loss prevention technology, and the like for information security.
- Comply with legal and contractual obligations:
- Comply with relevant laws (e.g., personal information protection law) and contractual terms (e.g., confidentiality clauses) when sharing information.
- Coordinate with the legal team to perform a legal review of information sharing.
- Assign an owner:
- Assign an owner who oversees the risk information sharing process.
- The owner is responsible for information-sharing decisions, review of the information content, and communication with third parties.
Specific Examples
- Open source community:
- Report vulnerabilities found in internally developed code to the relevant open source project and collaborate on patch development.
- Consider using a Cybersecurity Vulnerability Information Sharing Program.
- Customers:
- When a cybersecurity vulnerability occurs, notify customers immediately and inform them of the vulnerability’s impact and resolution.
- If necessary, provide remote support for customer systems to help with patch application.
- Suppliers:
- When a vulnerability is found in software or hardware they have provided, inform customers of the fact and provide a patch or update.
Implementation Considerations
- Timeliness: Share information as quickly as possible so that third parties can take appropriate action.
- Accuracy: Provide accurate and reliable information.
- Transparency: Honestly disclose the severity and impact of the vulnerability.
Documentation Approach
Include the following content in the open source process. (Reference: Open Source Process Template)
(8) Customer and Third-Party Notification
The Open Source Program Manager generates an updated open source notice based on the SBOM in which the vulnerability has been resolved, and delivers it to the business unit.
Customer notification:
The business unit notifies customers of the vulnerability resolution in the following ways:
- Replaces the open source notice included with the product distribution.
- Notifies customers directly by email or other means, as needed.
- Redistributes a version of the Supplied Software in which the vulnerability has been resolved.
Third-party information disclosure:
IT discloses risk information to third parties in the following ways:
- Registers the revised open source notice and vulnerability-related information on the company’s open source website.
- Submits vulnerability information to a public vulnerability database (e.g., the NVD).
- Notifies the open source project maintainer of the discovered vulnerability and the resolution method.
Notification content:
The information provided to customers and third parties includes the following:
- Vulnerability overview and identifier (e.g., CVE number)
- Affected products and versions
- The vulnerability’s potential impact and CVSS score
- Temporary response measures
- Availability of a patch or update and how to apply it
- Contact information for obtaining additional information
3.3.2 - 3.2 Relevant Tasks Defined and Supported
For an open source security assurance program to operate effectively, all relevant tasks must be clearly defined and the necessary resources must be properly allocated. This is essential for securing the personnel, budget, and technical expertise needed to operate the program, and for supporting its continual improvement.
3.2.1 Access
Providing third parties with access to make enquiries about known vulnerabilities affecting an organization’s software is critical to increasing transparency, strengthening collaboration with the community, and quickly resolving potential security issues.
3.2.1.1 Publicly Visible Method for Vulnerability Enquiries
ISO/IEC 18974
- 4.2.1.1: Publicly visible method to allow third parties to make known vulnerability or newly discovered vulnerability enquires (e.g., via an email address or web portal that is monitored by program participants);
- 4.2.1.1 Publicly visible method to allow third parties to make known vulnerability or newly discovered vulnerability enquires (e.g., via an email address or web portal that is monitored by program participants)
Self-Certification Checklist
- We have a method to allow third parties to make Known Vulnerability or Newly Discovered Vulnerability enquires (e.g., via an email address or web portal that is monitored by Program Participants);
- We have a method to allow third parties to make known vulnerability or newly discovered vulnerability enquires (e.g., via an email address or web portal).
The organization shall make it possible to provide information about software vulnerabilities through a method that anyone can easily access. This can be implemented through the organization’s website, a dedicated security page, or a separate bug bounty platform. What matters is that the method for providing information is clear, easy to find, and continuously monitored.
Implementation Methods and Considerations
- Dedicated Email Address:
- Create a dedicated email address for vulnerability reports, such as
security@example.com, and publish it on the website. - The email address shall be continuously monitored by the security team or the relevant person in charge.
- Create a dedicated email address for vulnerability reports, such as
- Web-Based Reporting Form:
- Provide a web-based reporting form where the information needed for a vulnerability report (e.g., software name, version, vulnerability description, reproduction steps) can be entered.
- The reporting form shall be easy to use and include clear instructions.
- Security Page:
- Publish a security page on the website that includes the organization’s security policy, vulnerability reporting procedure, and related contact information.
- Provide a link on the website’s main page so the security page can be easily found.
- Bug Bounty Program:
- Run a bug bounty program that encourages external security experts to test the organization’s systems and discover vulnerabilities.
- A bug bounty program provides rewards for vulnerability reports and encourages researchers to participate.
Examples
- Post a statement on the website such as: “If you discover a security vulnerability in our company’s products, please contact us at
security@example.com. For details, see the security page.” - The vulnerability reporting web form includes the following fields:
- Reporter information (name, email address)
- Affected product and version
- Vulnerability description
- Reproduction steps
- Supporting evidence (screenshots, log files, etc.)
Documentation Approach
Include content on security vulnerabilities when responding to external enquiries, as shown below, within the open source policy. (Reference: Open Source Policy Template)
9.1 Responsibility for Responding to External Enquiries
- Designation of Responsible Party:
- The Open Source Program Manager (OSPM) is responsible for responding to external open source-related enquiries and requests.
- Where necessary, the OSPM cooperates with the legal team (for license compliance matters) or the security team (for security vulnerability matters) to resolve issues.
- Enquiry Routing Procedure:
- Any program participant who receives an open source-related enquiry from outside the organization shall immediately forward it to the Open Source Program Manager.
- The enquiry is promptly routed to the department responsible for license compliance or security vulnerabilities, depending on its nature.
9.2 Publication of Contact Information
- Public Contact Information:
- The official contact information of the Open Source Program Manager is made publicly available.
- The contact information is registered in the following channels:
- Open source notices
- Company website
- The Linux Foundation’s Open Compliance Directory
- Guidance on How to Make Enquiries:
- Clearly explain how external parties can make open source-related enquiries.
- Operate a system to receive enquiries through channels such as an email address or a website enquiry form.
9.3 Procedure for Responding to External Enquiries
- Enquiry Receipt and Confirmation:
- When an external enquiry is received, the Open Source Program Manager immediately confirms it and specifies an appropriate resolution time.
- The nature of the enquiry is reviewed and classified as either license compliance or a security vulnerability.
- License compliance: Reviewed and addressed in cooperation with the legal team.
- Security vulnerability: Severity is assessed and action is taken in cooperation with the security team.
- Response Execution:
- Appropriate response measures are carried out based on the content of the enquiry, with the help of external experts where necessary.
- The entire response process is recorded through an internal system (e.g., a Jira tracker).
- Providing Feedback and Improvement:
- After the response, feedback is provided to the external party, and improvement measures are proposed where necessary.
- Response records are analyzed and the process is improved to prevent recurring issues.
3.2.1.2 Internal Procedure for Responding to Vulnerability Enquiries
ISO/IEC 18974
- 4.2.1.2: An internal documented procedure for responding to third party known vulnerability or newly discovered vulnerability inquiries.
- 4.2.1.2 An internal documented procedure for responding to third party known vulnerability or newly discovered vulnerability inquiries exists.
Self-Certification Checklist
- We have an internal documented procedure for responding to third party Known Vulnerability or Newly Discovered Vulnerability inquiries.
- We have documented the internal procedure for responding to external inquiries.
When a vulnerability enquiry is received from outside the organization, it is critical to have a procedure in place for responding to it in a systematic and efficient manner internally. This procedure covers the entire process of enquiry receipt, analysis, resolution, and reporting, and must clearly define the person responsible and the deadline for each stage. It must also account for information security and legal liability, so that sensitive information can be handled and shared securely.
Implementation Methods and Considerations
- Forming a Response Team:
- Designate a responsible team or person in charge to receive and handle vulnerability enquiries.
- The response team may include security experts, developers, and legal personnel.
- Defining the Process:
- Document the entire process, including the stages of receiving, classifying, analyzing, resolving, and reporting vulnerability enquiries.
- Clearly define the person responsible and the deadline for each stage.
- Severity Assessment Criteria:
- Establish criteria for assessing the severity of a vulnerability.
- The Common Vulnerability Scoring System (CVSS) score can be used to objectively assess the severity of a vulnerability.
- Response Procedure:
- Establish different response procedures depending on the severity of the vulnerability.
- Respond immediately to high-risk vulnerabilities, and consider monitoring or a long-term resolution plan for low-risk vulnerabilities.
- Communication Guidelines:
- Establish guidelines on how to inform the person who reported the vulnerability of progress and how to request additional information.
- Communication with the reporter shall be transparent and prompt.
Example of a Specific Procedure
- Receipt: The security team confirms vulnerability enquiries received at
security@example.comand assigns a case number. - Classification: The security team analyzes the type of vulnerability and the affected systems, and assesses its severity.
- Analysis: The development team analyzes the cause of the vulnerability and explores resolution options.
- Resolution: The development team modifies the code to resolve the vulnerability and performs testing.
- Verification: The QA team confirms that the modified code contains no new vulnerabilities and verifies that the existing vulnerability has been resolved.
- Reporting: The security team reports the vulnerability resolution results and updates the related documentation.
- Notification: The security team notifies the person who reported the vulnerability of the resolution results.
Documentation Approach
Add a section on responding to security vulnerabilities to the external enquiry response procedure within the open source process. (Reference: Open Source Process Template)
(1) Receipt Notification
As soon as the Open Source Program Manager receives an enquiry, they notify the requester that it has been received, specifying an appropriate response time. If the enquiry is unclear, the Open Source Program Manager requests additional explanation to accurately understand the requester’s intent.
Common types of enquiries and requests:
- Whether a specific supplied software uses open source
- Requests for source code under the GPL or LGPL licenses mentioned in a written offer
- Requests for explanation and source code disclosure for open source omitted from the open source notice
- Requests to provide missing files and build instructions for disclosed source code
- Copyright notice requests
- Enquiries related to known vulnerabilities or newly discovered vulnerabilities
The Open Source Program Manager creates an issue for the received request and records the response status in detail.
(2) Investigation Notification
The Open Source Program Manager notifies the requester that the organization is faithfully carrying out open source license compliance and security assurance, and that the matter is under investigation. Updates on the internal investigation’s progress are provided periodically.
(3) Internal Investigation
The Open Source Program Manager conducts an internal investigation of the request. Using the SBOM and documented review history, the manager confirms whether the license compliance and security assurance processes were properly carried out for the supplied software. Where necessary, the manager consults the legal and security personnel.
If confirmation from a specific business unit is required, the Open Source Program Manager requests that unit to investigate. The business unit that receives the request immediately checks the compliance deliverables and security-related matters for any issues and reports the results.
(4) Reporting to the Requester
The Open Source Program Manager completes the internal investigation within the specified response time and notifies the requester of the results.
- If the requester’s enquiry was a misunderstanding, the manager explains this and closes the matter without further action.
- If an issue is confirmed, the manager informs the requester of the exact method and timing for fulfilling the relevant open source license obligation or resolving the security vulnerability.
(5) Issue Remediation / Notification
If the internal investigation finds an actual license compliance or security issue, the relevant business unit carries out all the procedures necessary to resolve it.
(6) Resolution Notification
After the issue is resolved, the requester is notified immediately and provided with the best available means of confirming that the issue has been resolved.
(7) Process Improvement
If there was a license compliance or security issue, the case is reviewed in an OSRB meeting to understand how the issue occurred, and process improvements are established to prevent recurrence.
3.2.2 Effectively Resourced
To successfully operate an open source security assurance program, simply establishing policies and procedures is not enough. For these policies and procedures to be truly effective, the personnel, budget, and technical expertise needed for the program must be properly secured and allocated. This is critical for ensuring the program’s sustainability and enabling it to respond effectively to a changing threat landscape.
3.2.2.1 Program Role Identification Document
ISO/IEC 18974
- 4.2.2.1: Document with name of persons, group or function in program role(s) identified;
- 4.2.2.1 Document with name of persons, group or function in program role(s) identified.
Self-Certification Checklist
- We have documented the people, group or functions related to the Program.
- We have documented the people, group or functions related to the program.
The program role identification document is a cornerstone for the successful operation of an open source security assurance program. This document helps all stakeholders participating in the program clearly understand their respective roles and responsibilities, and enables efficient collaboration and communication. It also clarifies accountability, preventing confusion and the avoidance of responsibility that can otherwise occur during program operation.
Implementation Methods and Considerations
- Comprehensive Role Definition:
- Identify all roles needed to operate the program, and clearly define the objectives, responsibilities, and authority of each role.
- Consider various roles, such as program manager, security expert, legal personnel, developer, and operations personnel.
- Responsibility Assignment:
- Designate a person in charge or team suited to each role, and clearly assign responsibility and authority.
- The person in charge shall have the expertise and experience required for that role.
- Using a RACI Matrix (Optional):
- A RACI (Responsible, Accountable, Consulted, Informed) matrix can be used to define the responsibilities of each role more clearly.
- A RACI matrix clearly shows who is responsible, who is accountable, who is consulted, and who is informed for each task.
- Documentation:
- Document the role definitions, responsibility assignments, and the RACI matrix (optional) so that program participants can easily access them.
- The document can be posted on the organization’s internal wiki, a shared document repository, or other collaboration tools.
- Regular Review and Update:
- The program’s role definitions may change with the organization’s structure, operating methods, and technical environment.
- Therefore, the role definition document shall be regularly reviewed and updated to keep it current.
Example
| Role | Responsibility | Description |
|---|---|---|
| Open Source Program Manager (OSPM) | Overall program management | - Establish and manage open source policy - Review and approve open source use requests - Manage security vulnerabilities and license violations |
| Security Expert | Security vulnerability analysis and response | - Scan open source components for vulnerabilities - Assess vulnerability severity and develop response plans - Respond to security incidents |
| Legal Personnel | License compliance and legal risk management | - Review and analyze open source licenses - Assess and manage legal risk - Support dispute resolution |
| Development Team | Secure code development and open source use | - Comply with open source policy and guidelines - Fix security vulnerabilities and apply patches - Request review when using new open source components |
Implementation Considerations
- The document shall be written concisely and clearly, so that all program participants can easily understand it.
- The document’s access permissions shall be properly managed to protect confidential information.
- The document shall be regularly reviewed and updated to keep it current.
Documentation Approach
Include the following content in the open source policy. (Reference: Open Source Policy Template)
3.1 Role Descriptions
- Open Source Program Manager (OSPM)
- Responsibility: Overall responsibility for the company’s open source program.
- Key Tasks:
- Manage open source license compliance and security assurance activities.
- Create and maintain the SBOM.
- Respond to external open source-related enquiries.
- Manage internal best practices.
- Required Competence: Understanding of software development processes, expertise in open source licensing, communication skills.
- Legal Personnel
- Responsibility: Assess legal risk related to open source licenses and provide advice.
- Key Tasks:
- Interpret and review open source license obligations.
- Review license compatibility and provide advice on protecting intellectual property.
- Required Competence: Expertise in software copyright, expertise in open source licensing, ability to assess legal risk.
- IT Personnel
- Responsibility: Operate and automate open source analysis tools.
- Key Tasks:
- Operate open source analysis tools and integrate them into the DevOps environment.
- Create and maintain the SBOM.
- Required Competence: Expertise in IT infrastructure, understanding of open source analysis tools, understanding of CI/CD pipelines.
- Security Personnel
- Responsibility: Operate open source security vulnerability analysis tools.
- Key Tasks:
- Respond to known vulnerabilities and newly discovered vulnerabilities.
- Integrate with the DevSecOps environment and carry out security measures.
- Required Competence: Understanding of DevSecOps, understanding of security vulnerability analysis tools, ability to assess and manage risk.
- Development Culture Lead
- Responsibility: Support internal developers in actively using open source.
- Key Tasks:
- Encourage participation in open source communities and improve development culture.
- Support external contribution activities.
- Required Competence: Understanding of software development processes, ability to design training, experience with community participation.
- Quality Personnel
- Responsibility: Confirm open source license obligations when distributing supplied software.
- Key Tasks:
- Confirm that compliance deliverables have been generated.
- Review compliance with license obligations prior to distribution.
- Required Competence: Understanding of software development processes, basic knowledge of compliance.
- OSRB (Open Source Review Board)
- Responsibility: Establish and improve policies and processes for open source management.
- Key Tasks:
- Regularly review and improve policy.
- Discuss key issues and develop resolutions.
- Required Competence: Expertise in policy development, experience operating a governing body.
- OSPO (Open Source Program Office)
- Responsibility: Support contributions to external open source projects and the release of internal projects.
- Key Tasks:
- Provide guidance for external contributions.
- Manage the release process for internal projects.
- Required Competence: Experience with community participation, project management ability.
3.2.2.2 Proper Staffing and Funding of Program Roles
ISO/IEC 18974
- 4.2.2.2: The identified program roles have been properly staffed and adequate funding provided;
- 4.2.2.2 The identified program roles have been properly staffed and adequate funding provided.
Self-Certification Checklist
- We have ensured the identified Program roles have been properly staffed and adequate funding has been provided.
- We have ensured the identified program roles have been properly staffed and adequate funding has been provided.
No matter how well the program roles are defined, the program cannot operate properly if there is insufficient personnel to fill those roles or if the necessary funding is not properly provided. Therefore, the organization shall properly staff each role and provide sufficient funding for program operations. This is an essential condition for the successful operation of the program.
Implementation Methods and Considerations
- Developing a Staffing Plan:
- Accurately estimate the number of personnel needed for each role.
- When estimating staffing needs, consider the scope of responsibility, workload, and required skill level for the role.
- Forecast personnel needs from a long-term perspective, and develop a plan for hiring or reassigning internal personnel.
- Developing a Budget Plan:
- Identify all cost items needed to operate the program (personnel costs, training costs, tool purchase costs, consulting costs, etc.) and estimate the budget for each item.
- The budget shall be estimated on a well-founded basis so that it can realistically be executed.
- Develop a plan for securing the budget and obtain management approval.
- Securing and Allocating Resources:
- Secure the necessary personnel through hiring or the reassignment of internal personnel.
- Appropriately allocate the secured budget across each item.
- When allocating resources, consider the program’s priorities and objectives.
- Regular Review and Adjustment:
- Regularly review the adequacy of the staffing and budget plan, and adjust it as needed.
- Update the plan considering program operation status, budget execution status, and changes in the external environment.
Example
- Personnel:
- Hire two open source security experts for the security team to handle vulnerability analysis and response for open source components.
- Designate one open source license expert on the legal team to support legal review when using open source.
- Budget:
- Allocate an annual budget of KRW 50 million for purchasing open source security tools (SCA, SAST, etc.).
- Allocate an annual budget of KRW 10 million for running the open source security training program.
- Allocate an annual budget of KRW 20 million for external security consulting costs.
Documentation Approach
Include the following content in the open source policy. (Reference: Open Source Policy Template)
3.2 Staffing and Funding
- Proper Staffing:
- Assign appropriate personnel with the required competence and expertise to each role.
- The head of each department shall designate a suitable person in charge who can perform that role.
- Sufficient Funding:
- The company provides sufficient budget and resources needed to perform each role.
- Budget items include training, tool usage fees, and external consulting costs.
- Regular Review:
- The OSRB reviews the staffing and funding status of each role at least once a year and recommends adjustments where necessary.
- The review results are documented and reported to the OSPO (Open Source Program Office).
- Issue Resolution Procedure:
- If the person in charge of a department finds that the required support (personnel or funding) is insufficient, they shall immediately report this to the Open Source Program Manager.
- The Open Source Program Manager cooperates with the relevant department to resolve the issue, and requests the OSRB to resolve it where necessary.
10.5 Personnel and Resource Assessment
- Assessment Cycle:
- The company assesses the staffing and funding status of each role at least once a year.
- The assessment results are reported to the OSRB, and improvements are implemented where necessary.
- Assessment Items:
- Whether the personnel needed for each role have been properly staffed.
- Whether the budget needed to perform each role has been sufficiently provided.
- Cases of issues caused by insufficient support and their resolutions.
- Developing an Improvement Plan:
- Based on the assessment results, develop a specific plan to make up for any shortage of personnel or resources.
- The improvement plan is executed upon approval by the OSRB.
3.2.2.3 Identifying Expertise to Resolve Known Vulnerabilities
ISO/IEC 18974
- 4.2.2.3: Identification of expertise available to address identified known vulnerabilities;
- 4.2.2.3 Identification of expertise available to address identified known vulnerabilities.
Self-Certification Checklist
- We have ensured expertise available is to address identified Known Vulnerabilities;
- We have ensured expertise available is to address identified known vulnerabilities.
When a known vulnerability is discovered in an open source component, personnel with expertise in that vulnerability are needed to resolve it quickly and effectively. This expertise can be secured from internal personnel or obtained with the help of external experts. What matters is building a system that can secure and apply the necessary expertise in a timely manner.
Implementation Methods and Considerations
- Identifying the Required Areas of Expertise:
- Identify the technical areas of expertise needed to operate the program.
- Examples: web security, cryptography, network security, systems administration, and open source licensing.
- Clearly define the level of knowledge and experience required for each area of expertise.
- Compiling a List of Internal Experts:
- Compile a list of personnel within the organization who have knowledge and experience in the relevant areas of expertise.
- Record each expert’s area of expertise, career background, and contact information.
- The expert list shall be kept up to date.
- Planning for External Resources:
- Develop a plan to use external experts or consulting firms in preparation for issues that are difficult to resolve internally.
- Secure trustworthy external resources and clearly define the contract terms.
- Establishing an Access Procedure:
- Establish a procedure so that program participants can easily access the expertise they need.
- Examples: how to consult an internal expert, how to use an external consulting firm.
- Document the access procedure so that all program participants are familiar with it.
Specific Examples
- Vulnerability Analysis:
- If a SQL injection vulnerability is found in a specific open source component, a web security expert is asked to analyze it and identify the attack path and scope of impact.
- Licensing:
- If interpretation of the obligations of a specific open source license is needed, an open source license expert is asked to conduct a legal review.
Documentation Approach
Include the following content in the open source policy. (Reference: Open Source Policy Template)
6.5 Identifying and Utilizing Expertise
- Identifying the Required Areas of Expertise:
- Regularly identify the technical and legal areas of expertise needed to operate the program.
- Examples: web security, cryptography, network security, systems administration, open source license interpretation, and the like.
- Compiling and Updating the List of Internal Experts:
- Compile a list of personnel within the company who have expertise in the relevant fields, and update it regularly.
- Record each expert’s career background, certifications, and contact information.
- Developing a Plan for Securing External Resources:
- Develop a plan to use external experts or consulting firms in preparation for issues that are difficult to resolve internally.
- Secure trustworthy external resources and clearly define the contract terms.
- Establishing an Expertise Access Procedure:
- Establish a procedure so that program participants can easily access the expertise they need.
- Examples: how to consult an internal expert, how to use an external consulting firm.
3.2.2.4 Procedure for Assigning Internal Responsibility for Security Assurance
ISO/IEC 18974
- 4.2.2.4: A documented procedure that assigns internal responsibilities for security assurance.
- 4.2.2.4 A documented procedure that assigns internal responsibilities for security assurance.
Self-Certification Checklist
- We have a documented procedure that assigns internal responsibilities for Security Assurance.
- We have a documented procedure that assigns internal responsibilities for security assurance.
A procedure is established to clearly assign internal responsibility for the effective operation of the open source security assurance program. This procedure is as follows:
- Party Responsible for Assignment:
- The Open Source Program Manager (OSPM) leads the internal responsibility assignment procedure.
- Assignment Procedure:
- The OSPM convenes an annual responsibility assignment meeting.
- The OSPM consults with each department head (legal, IT, security, development, quality, etc.) to select a person responsible for each security assurance activity.
- The list of selected persons in charge is submitted to the OSRB (Open Source Review Board) for final approval.
- Documentation:
- The approved responsibility assignment results are drawn up as an official document.
- The document specifies each security assurance activity, the person responsible, their role, and the required competence.
- The completed document is registered in the company’s document management system and version-controlled.
- Assignment Criteria:
- Define the skills and experience required for each role, and select suitable personnel accordingly.
- Link responsibility performance to performance evaluations to provide motivation.
- Regular Review and Renewal:
- Review the status of responsibility assignments at least once a year and adjust as needed.
- Update immediately whenever there is a major change, such as an organizational restructuring or personnel transfer.
- Training and Awareness:
- Provide the necessary training to newly assigned persons in charge.
- Share the responsibility assignment results with the entire organization to raise awareness.
Documentation Approach
Include the following content in the open source policy. (Reference: Open Source Policy Template)
3.3 Internal Responsibility Assignment Procedure
Assignment Procedure:
- a. The Open Source Program Manager (OSPM) convenes an annual responsibility assignment meeting.
- b. The OSPM consults with each department head (legal, IT, security, development, quality, etc.) to select a person responsible for each activity.
- c. The list of selected persons in charge is submitted to the OSRB (Open Source Review Board) for final approval.
Balance of Responsibility and Authority:
- Each person in charge is granted the appropriate authority needed to perform their duties.
- They have the authority to request the resources (e.g., budget, personnel) needed to fulfill their responsibilities.
Regular Review and Update:
- The OSRB reviews the status of responsibility assignments at least once a year and adjusts as needed.
- Responsibility assignments are updated immediately whenever there is a major change, such as an organizational restructuring or personnel transfer.
Documentation:
- The responsibility assignment results are drawn up as an official document and registered in the company’s document management system.
- The document specifies each activity, the person responsible, their role, and the required competence.
Training and Awareness:
- Provide the necessary training to newly assigned persons in charge.
- Share the responsibility assignment results with the entire organization to raise awareness.
3.3.3 - 3.3 Open Source Software Content Review and Approval
Open source software has become an essential element in modern software development, but it also carries security and legal risks. Therefore, an organization must build a process to systematically review and approve the open source components included in the supplied software, in order to effectively manage these risks.
3.3.1 Software Bill of Materials
An SBOM (Software Bill of Materials) is a list of all the components, libraries, and dependencies that make up a piece of software. It is akin to a software “parts list,” and it plays a crucial role in ensuring transparency in the software supply chain and identifying potential security vulnerabilities and license-related issues.
3.3.1.1 SBOM Generation and Maintenance Procedure
ISO/IEC 18974
- 4.3.1.1: A documented procedure ensuring all open source software used in the supplied software is continuously recorded across the lifecycle of the supplied software. This includes an archive of all open source software used in the supplied software;
- 4.3.1.1: A documented procedure ensuring all open source software used in the supplied software is continuously recorded across the lifecycle of the supplied software. This includes an archive of all open source software used in the supplied software.
Self-Certification Checklist
- We have a documented procedure ensuring all Open Source Software used in the Supplied Software is continuously recorded across the lifecycle of the Supplied Software. This includes an archive of all Open Source Software used in the Supplied Software.
- We have a documented procedure ensuring all Open Source Software used in the Supplied Software is continuously recorded throughout the lifecycle of the Supplied Software. This procedure includes an archive of all Open Source Software used in the Supplied Software.
An SBOM is not something generated just once; it must be continuously updated and maintained throughout the software lifecycle. This is because, as the software changes, new components may be added or existing components may be updated. Therefore, an organization must clearly define the procedure for generating and maintaining an SBOM and document it.
Implementation Approach and Considerations
- Select an SBOM generation tool:
- Select a tool that can automatically generate and manage an SBOM.
- It is advisable to choose a tool that supports standardized SBOM formats such as SPDX, CycloneDX, and SWID Tag. See the “Comparison of Major SBOM Generation Tools” table below.
- Integrate the tool into the CI/CD pipeline and configure it to automatically generate an SBOM during the build process.
- Define the SBOM generation and update cycle:
- Define the cycle for when to generate and update the SBOM.
- Generally, an SBOM is generated and updated whenever a new version of the software is released.
- The SBOM must also be updated whenever there is a change to an open source component.
- Establish an SBOM verification process:
- Establish a process for verifying the accuracy and completeness of the generated SBOM.
- The verification process includes confirming that all components included in the SBOM are accurately identified and checking that no components are missing.
- An automated tool can also be used to verify the SBOM.
- Store and version-control the SBOM:
- Securely store the generated SBOM and perform version control.
- The SBOM can be stored in the organization’s internal repository or a cloud-based repository.
- Version control makes it possible to accurately identify the components that made up the software at a specific point in time.
- Establish an SBOM access and sharing policy:
- Establish a policy on who can access the SBOM and how the SBOM will be shared.
- The SBOM must be shared with relevant departments within the organization (for example, the development team, security team, and legal team).
- The SBOM may also need to be provided upon request from a customer or a regulatory body.
Specific Examples
- Integrate OWASP Dependency-Track into the CI/CD pipeline to automatically generate the SBOM and analyze vulnerabilities during the build process.
- Generate an SBOM whenever a new version of the software is released, and store it in the organization’s internal repository.
- Share the SBOM with the security team, development team, and legal team, and provide it to customers as needed.
Considerations for Implementation
- The SBOM generation and maintenance procedure should be tailored by considering the organization’s size, software development process, and regulatory requirements.
- The SBOM generation process should be automated as much as possible to increase efficiency.
- Efforts should be made to ensure the accuracy and completeness of the information included in the SBOM.
Using Automation Tools
Among the automation tools for SBOM generation and management, open source tools include FOSSLight, SW360, and OSV-SCALIBR. See the guides below for how to install and use these tools.
Table: Comparison of Major SBOM Generation Tools
| Tool Name | Supported Languages/Packages | CI/CD Integration | Output Format | Open Source | Notes |
|---|---|---|---|---|---|
| SPDX Tools | Various | Yes | SPDX | Yes | Specialized in the SPDX format |
| FOSSLight | Various | Yes | SPDX, CycloneDX, Excel, Text | Yes | Integrates with various scanners, provides integrated management through FOSSLight Hub |
| SW360 | Various | Limited | SPDX | Yes | Open source compliance management features, suited to large organizations |
| OSV-SCALIBR | Various | Limited | JSON | Yes | Provided as a library, requires direct integration |
| Tern (container-specific) | Container images | Yes | SPDX, CycloneDX | Yes | Analyzes container image layers |
| Syft (container-specific) | Container images, file systems, various artifacts | Easy | SPDX, CycloneDX, Text, Table | Yes | Supports various artifact types, provides an easy-to-use CLI |
Documentation Approach
Include the SBOM generation procedure in the open source process as shown below. (Reference: Open Source Process Template)
(2) Source Code Inspection
The business unit requests an open source review and provides the source code according to the IT staff’s guidance.
IT staff perform the open source review using an open source analysis tool and generate an SBOM (Software Bill of Materials).
3.3.1.2 Evidence of SBOM Management Procedure Compliance
ISO/IEC 18974
- 4.3.1.2: open source software component records for the supplied software that demonstrates the documented procedure was properly followed.
- 4.3.1.2: open source software component records for the supplied software that demonstrate the documented procedure was properly followed.
Self-Certification Checklist
- We have open source component records for the Supplied Software which demonstrate the documented procedure was properly followed.
- Our open source component records for the Supplied Software demonstrate that the documented procedure was properly followed.
Effective SBOM management means more than simply generating an SBOM; it means having a system in place to continuously manage it, keep it up to date, and use it when needed. Evidence of compliance with the SBOM management procedure is used to demonstrate that the organization is properly operating such a system.
Implementation Approach and Considerations
- Automated SBOM generation process:
- Integrate an SBOM generation tool into the CI/CD pipeline so that an SBOM is automatically generated during the software build.
- An automated process increases the consistency and efficiency of SBOM generation and helps reduce human error.
- The automation tool must record SBOM generation logs and store the resulting files in a designated location.
- SBOM verification process:
- Confirm the accuracy and completeness of the SBOM through an automated or manual verification process.
- The verification process includes comparing the list of components in the SBOM with the list of components actually used in the software and checking for missing or incorrect information.
- Document the verification results and take corrective action if necessary.
- SBOM storage and access management:
- Securely store the SBOM and appropriately manage access permissions.
- The SBOM can be stored in an internal repository, a version control system, or an SBOM management platform.
- Manage access permissions on a role basis, and grant access only to those who need it.
- SBOM update and version control:
- Update the SBOM and perform version control whenever the software changes.
- Maintain an SBOM for each version so that the components that made up the software at a specific point in time can be accurately identified.
- Regular audit and review:
- Regularly audit and review the effectiveness of the SBOM management process.
- Use the audit results to improve the process, and update policies and procedures as needed.
Examples of Supporting Evidence
- SBOM generation logs:
- Record the execution log of the SBOM generation tool, the date and time of generation, and the generation results.
- SBOM files:
- Securely retain the generated SBOM files and perform version control.
- SBOM verification reports:
- Record the verification method, verification results, and any issues found along with their resolutions.
- SBOM change history:
- Record the reason for the change, the details of the change, and the date and time of the change.
Considerations for Implementation
- The SBOM management procedure should be tailored by considering the organization’s size, software development process, and regulatory requirements.
- Tools and systems for SBOM management should be used effectively.
- The SBOM management process should be continuously improved to reflect the latest technology and threat trends.
Documentation Approach
Include the SBOM generation and maintenance procedure in the open source process as shown below. (Reference: Open Source Process Template)
(6) Registration
The open source program manager finalizes the SBOM for tracking the list of open source used, by version, in the supplied software.
IT staff register the finalized SBOM in the system. The SBOM includes the list of open source included in the supplied software and the following information:
- The name and version of the supplied software product (or service)
- The list of open source
- Component name, version, license, and source (URL)
- Purpose and manner of use
- Whether the component was modified and the details of the modification
- Version history and key changes for each version
The registered information is reviewed and updated regularly.
Through this approach, an organization can effectively comply with the SBOM management procedure, ensure transparency in the software supply chain, and effectively respond to potential security threats and legal risks.
3.3.1 Security Assurance
As the use of open source software increases, security assurance has become a core part of the software development and management process. Security assurance refers to the process of identifying and managing vulnerabilities in open source components to strengthen the security of the overall system. It goes beyond simply finding vulnerabilities, aiming to ensure security throughout the entire software lifecycle through continuous monitoring, rapid response, and systematic management.
An effective security assurance program should include the following elements:
- Vulnerability detection and resolution procedures
- A continuous monitoring system
- Security update and patch management
- Security risk assessment and management
- Security awareness raising and training
By managing these elements in an integrated manner, an organization can minimize the security risks arising from the use of open source and build a secure software development environment.
3.3.2.1 Vulnerability Detection and Resolution Procedure
ISO/IEC 18974
- 4.3.2.1: A documented procedure for handling detection and resolution of known vulnerabilities for the open source software components of the supplied software;
- 4.3.2.1: A documented procedure for handling the detection and resolution of known vulnerabilities in the open source software components of the supplied software.
Self-Certification Checklist
- We have a documented procedure for handling detection and resolution of Known Vulnerabilities for the Open Source Software components of the Supplied Software.
- We have a documented procedure for handling the detection and resolution of Known Vulnerabilities in the Open Source Software components of the Supplied Software.
Effective security assurance requires a clear, documented procedure for systematically detecting and resolving vulnerabilities found in open source components. This procedure should include the stages of vulnerability detection, severity assessment, response planning, remediation, and result verification, and must clearly define the owner and deadline for each stage.
Implementation Approach and Considerations
- Documented procedure:
- Clearly document the vulnerability detection and resolution procedure.
- The document should specify each stage of the procedure, the owner, the deadline, and the necessary tools and systems.
- Publish the document on a shared document repository, wiki, or other collaboration tool so that program participants can easily access it.
- Vulnerability detection:
- Use an SCA (Software Composition Analysis) tool to detect known vulnerabilities in each open source component included in the SBOM.
- Examples: OWASP Dependency-Check, Black Duck
- Periodically update vulnerability databases (for example, NVD and CVE) and check for new vulnerability information.
- NVD (National Vulnerability Database): A vulnerability database maintained by NIST (National Institute of Standards and Technology) in the United States. It provides vulnerability information indexed by CVE (Common Vulnerabilities and Exposures) ID.
- CVE (Common Vulnerabilities and Exposures): A list of publicly known information security vulnerabilities maintained by the MITRE Corporation. Each vulnerability is assigned a unique ID (CVE ID).
- Perform automated vulnerability scans regularly, and conduct manual review when necessary.
- Recommended open source vulnerability scanning tools are as follows. Detailed guides on installing, configuring, and using these tools are provided in the appendix.
- OWASP Dependency-Check: Checks open source dependencies for vulnerabilities
- Trivy: A vulnerability scanner for container images and file systems
- Use an SCA (Software Composition Analysis) tool to detect known vulnerabilities in each open source component included in the SBOM.
- Severity assessment:
- Assess the severity of each detected vulnerability.
- The CVSS (Common Vulnerability Scoring System) score can be used to objectively assess the severity of a vulnerability.
- Adjust the severity by considering the vulnerability’s exploitability, scope of impact, and potential impact on the system.
- Response planning:
- Develop an appropriate response plan according to the vulnerability’s severity.
- The response plan may include applying a patch, upgrading, mitigation measures, or replacing the component.
- The response plan should be determined by considering not only technical aspects but also business impact, cost, and time constraints.
- Executing the remediation:
- Immediately carry out the necessary action according to the established response plan.
- When applying a patch or upgrading a component, sufficient testing must be conducted to minimize the impact on the system.
- When taking a mitigation measure, a long-term resolution must also be prepared.
- Result verification:
- After the remediation is complete, verify that the vulnerability has actually been resolved.
- Rerun the vulnerability scanner to confirm that the vulnerability is no longer detected.
- Perform a manual review to additionally check for vulnerabilities that the automated tool did not find.
- Documentation and reporting:
- Document the activities carried out at each stage, including vulnerability detection, severity assessment, response planning, remediation, and result verification.
- The documentation should record the vulnerability information, the person responsible, the date and time of execution, and the results.
- Regularly report the status of vulnerability management, and report to management when necessary.
Considerations for Implementation
- The vulnerability detection and resolution procedure should be tailored by considering the organization’s size, software development process, and security policy.
- Automated tools should be actively used to increase efficiency.
- Close cooperation among security experts, developers, and operators is required.
Documentation Approach
Include the security vulnerability management process in the open source process as shown below. (Reference: Open Source Process Template)
2. Security Vulnerability Management Process
After the supplied software is released to market, when a known vulnerability or a newly discovered vulnerability is reported, the following process is followed to take appropriate action according to the risk level.
(1) Continuous Security Testing Before Release
IT staff build and operate a system that applies continuous, repeated security testing to all supplied software before release:
- Automated security testing:
- Integrate automated security testing tools into the CI/CD pipeline.
- Automatically run security tests whenever the code changes.
- Vulnerability scanning:
- Use an SCA tool to scan open source components for known vulnerabilities.
- Automatically update the vulnerability database and perform a scan every day.
- Reviewing security test results:
- Security staff review the security test results and take the necessary action.
- When a critical vulnerability is found, immediately notify the development team and develop a resolution plan.
(2) Monitoring Known and Newly Discovered Vulnerabilities
IT staff build and operate a system that monitors known and newly discovered vulnerabilities. This system performs the following functions to identify structural and technical threats:
- Automated vulnerability monitoring:
- Analyze newly published vulnerabilities every day and automatically identify the affected versions of the supplied software.
- Periodically collect publicly available security vulnerability information.
- SBOM-based analysis:
- Perform SBOM-based analysis using an SCA tool.
- Integrate the SCA tool into the CI/CD pipeline to perform automated analysis.
- Notification and recording:
- When a vulnerability is found, automatically send a notification to the development staff and security staff responsible for the affected supplied software.
- Use an issue tracking system so that everything from notification to review, action, and resolution is documented and recorded.
(3) Vulnerability Assessment and Response
Security staff assess each vulnerability according to predefined risk/impact assessment criteria and provide response guidance to the business unit. Risk is classified by CVSS (Common Vulnerability Scoring System) score, and a response deadline is set according to severity.
| Risk | CVSS 2.0 | CVSS 3.0 | Recommended Action Timeline |
|---|---|---|---|
| Low | 0.0 - 3.9 | 0.0 - 3.9 | - |
| Medium | 4.0 - 6.9 | 4.0 - 6.9 | - |
| High | 7.0 - 10.0 | 7.0 - 8.9 | Within 4 weeks |
| Critical | - | 9.0 - 10.0 | Within 1 week |
When a known vulnerability or a newly discovered vulnerability is confirmed in previously released supplied software, the business unit develops an action plan according to the response guidance provided by security staff.
When necessary, the business unit notifies customers of the confirmed vulnerability according to the risk/impact score.
3.3.2.2 Maintaining Vulnerability Records
ISO/IEC 18974
- 4.3.2.2: For each open source software component a record is maintained of the identified known vulnerabilities and action(s) taken (including even if no action was required).
- 4.3.2.2: For each open source software component, a record is maintained of the identified known vulnerabilities and the action(s) taken (including cases where no action was required).
Self-Certification Checklist
- We have open source component records for the Supplied Software which track identified Known Vulnerabilities and action(s) taken (including even if no action was required).
- We have open source component records for the Supplied Software that track identified Known Vulnerabilities and the action(s) taken (including cases where no action was required).
Recording the known vulnerabilities identified for each open source component, along with the actions taken in response, is a core element of effective vulnerability management. These records help track the history of past vulnerabilities and enable a rapid response when similar issues arise. They can also be used for audit and reporting purposes.
Implementation Approach and Considerations
- Build a vulnerability database:
- Build a database that can systematically manage all identified vulnerabilities.
- The database should include the following information:
- Component name and version
- Vulnerability ID (for example, CVE)
- Vulnerability description
- Severity (for example, CVSS score)
- Date discovered
- Response status (for example, resolved, pending, ignored)
- Details of the response action
- Person responsible
- Use automated tools:
- Integrate with an SCA (Software Composition Analysis) tool to automatically collect vulnerability information and store it in the database.
- Periodically update the vulnerability database and reflect new vulnerability information.
- Manual review and update:
- Manually review vulnerabilities not detected by the automated tool and add them to the database.
- When the response action for a vulnerability is complete, update the database and record the related information.
- Generate regular reports:
- Generate regular reports based on the vulnerability database.
- Reports may include the following information:
- The total number of vulnerabilities
- The distribution of vulnerabilities by severity
- The list of unresolved vulnerabilities
- Trends in vulnerability resolution
- Data security and access control:
- Since the vulnerability database contains sensitive information, particular attention must be paid to data security.
- Manage access permissions appropriately, and grant access only to those who need it.
Specific Examples
- Vulnerability tracking system: Manage vulnerability information using an issue tracking system such as Jira, Bugzilla, or YouTrack.
- Spreadsheets: For simple projects, vulnerability information can be managed using a spreadsheet such as Excel or Google Sheets.
- Security dashboard: Build a security dashboard linked to the vulnerability database to monitor the vulnerability status in real time.
Considerations for Implementation
- The vulnerability database must be kept up to date.
- The vulnerability database must be securely stored.
- The vulnerability database must have its access permissions appropriately managed.
- The vulnerability database must be backed up regularly.
Documentation Approach
Include the security vulnerability management process in the open source process as shown below. (Reference: Open Source Process Template)
(4) Vulnerability Resolution and Verification
- The business unit resolves the vulnerability issue according to the established action plan.
- The vulnerability is resolved by removing the problematic open source software component or replacing it with a patched version, among other methods.
- IT staff use an open source analysis tool to confirm that the issue has been properly resolved.
- Security staff perform additional security testing on the resolved vulnerability to verify that it has been completely resolved.
- The verification result is documented and recorded.
- A review is conducted to confirm that all critical vulnerabilities have been resolved.
- If a vulnerability that is difficult to resolve remains, approval is reviewed by considering the business form and the service exposure status, among other factors.
(5) Post-Release Vulnerability Analysis and Response
IT staff operate an automated system that analyzes vulnerabilities in released supplied software every day, even after release, for all supplied software.
- When affected supplied software is identified, a notification is immediately sent to the development staff and security staff.
- The staff who receive the notification assess the severity of the vulnerability and develop a response plan.
- Patch development, mitigation measures, and other actions are carried out according to the response plan.
- After the action is complete, verification is performed and the results are documented.
(6) Vulnerability Record Management
A vulnerability record containing the following information is maintained for each open source component:
- Vulnerability ID (for example, CVE number)
- Vulnerability description
- Affected version
- Severity (CVSS score)
- Date discovered
- Resolution status
- Resolution method applied
- Verification result
Vulnerability records are stored in a central database and backed up regularly.
IT staff register in the system the SBOM (Software Bill of Materials) reflecting the resolved vulnerability.
Through this approach, an organization can systematically manage vulnerabilities in open source components and improve the security level of its software.
3.3.4 - 3.4 Adherence to the specification requirements
For an organization to claim that it operates an open source security assurance program, that program must comply with all the requirements of the ISO/IEC 18974 standard. This chapter provides guidance on how an organization can confirm and maintain compliance with the standard.
4.4.1 Completeness
To declare that a program complies with the ISO/IEC 18974 standard, the organization must formally confirm that the program satisfies all the requirements set out in the standard. Satisfying only some of the requirements is not sufficient.
4.4.1.1 Evidence of Requirement Satisfaction
ISO/IEC 18974
- 4.4.1.1: Documented evidence affirming the program specified in 4.1.4 satisfies all the requirements of this document.
- 4.4.1.1: Documented evidence confirming that the program specified in 4.1.4 satisfies all requirements of this document.
Self-Certification Checklist
- We have documentation confirming that the Program meets all the requirements of this specification.
- We have documented confirmation that the Program satisfies all requirements of this standard.
The organization must present documented evidence demonstrating that the program satisfies all the requirements of the ISO/IEC 18974 standard. This evidence must cover every aspect of the program’s operation and must be objective and reliable.
Implementation Methods and Considerations
- Requirement mapping:
- Map each requirement of the ISO/IEC 18974 standard to a specific policy, procedure, or activity of the organization’s program.
- Document the mapping results and make them easily accessible to program participants.
- Collecting compliance evidence:
- Collect evidence demonstrating compliance with each requirement.
- Evidence can take various forms, such as documents, records, logs, and test results.
- Evidence must be objective and reliable, and must reflect up-to-date information.
- Internal audit:
- An independent audit team assesses the actual state of the program’s operation and confirms compliance with the ISO/IEC 18974 standard.
- Audit results are documented and reported to management.
- Necessary corrective actions are taken based on the audit results.
- Management review:
- Management reviews the operational status of the program and the audit results, and gives final confirmation of compliance with the ISO/IEC 18974 standard.
- Management provides guidance for the program’s continuous improvement.
Example Evidence Materials
- Policy documents:
- Open source policy, security policy, license management policy, etc.
- Procedure documents:
- Vulnerability management procedure, incident response procedure, SBOM management procedure, etc.
- Records:
- Vulnerability scan results, code review results, security test results, etc.
- Logs:
- System access logs, change logs, audit logs, etc.
- Test results:
- Functional test results, security test results, performance test results, etc.
Implementation Considerations
- Evidence must be objective and reliable.
- Evidence must reflect up-to-date information.
- Evidence must be managed systematically, with access rights appropriately controlled.
Documentation Approach
Include the following content within the open source policy. (Reference: Open Source Policy Template)
11.1 ISO Standard Compliance Declaration
- Compliance declaration:
- Through this policy, the company declares that it satisfies all the requirements of ISO/IEC 5230 (Open Source License Compliance) and ISO/IEC 18974 (Open Source Security Assurance).
- The declaration date and validity period (18 months) are stated clearly.
- The compliance declaration may be made through Self Certification under the Linux Foundation’s OpenChain project.
- Documenting evidence:
- The Open Source Program Manager (OSPM) documents and maintains evidence of satisfaction for each requirement.
- Evidence documents include policy documents, process descriptions, training records, compliance deliverables, and security vulnerability management records.
- All evidence documents are kept in a central repository and retained for at least 3 years.
- This document must be prepared within 18 months of obtaining conformance validation, and updated at least once a year.
- Periodic review and renewal:
- The OSRB reviews requirement satisfaction at least once a year and improves policies and processes as needed.
- Review results and improvements are documented and retained.
- Preparing for external verification:
- The organization prepares to provide evidence documents to external auditors or certification bodies upon request.
Through this approach, the organization can demonstrate that the program satisfies all the requirements of the ISO/IEC 18974 standard and build external trust.
4.4.2 Duration
ISO/IEC 18974
- 4.4.2.1: A document affirming the program meets all the requirements of this specification, within the past 18 months of obtaining conformance validation.
- 4.4.2.1: A document confirming that, within the past 18 months since the program obtained conformance validation, it satisfies all requirements of this specification.
Self-Certification Checklist
- We have documentation confirming that Program conformance was reviewed within the last 18 months.
- We have a record confirming that the Program’s compliance was reviewed within the past 18 months.
Compliance with the ISO/IEC 18974 standard is not a one-time event but an ongoing process. Therefore, even after obtaining compliance with the standard, an organization must make continuous efforts to maintain that status. This section explains the requirements related to the compliance period.
4.4.2.1 Documentation Confirming the Compliance Period
A program that complies with the ISO/IEC 18974 standard is valid for 18 months from the date it received compliance validation. Therefore, within 18 months after the program receives compliance validation, the organization must present a document confirming that the program still satisfies all the requirements of the standard. This is important for demonstrating that the program has not drifted from the standard over time and is being continuously improved.
Implementation Methods and Considerations
- Recording the compliance validation date:
- Accurately record the date on which the program received ISO/IEC 18974 compliance validation.
- Keep the compliance validation certificate or related documents as evidence.
- Establishing a compliance renewal plan:
- Before the compliance period expires, establish a plan to revalidate compliance status and renew it if necessary.
- The plan may include activities such as a self-assessment of compliance status, internal audits, and external reviews.
- Periodic review of compliance status:
- During the compliance period, periodically review whether the program still satisfies all the requirements of the ISO/IEC 18974 standard.
- Perform the review at least once every 6 months, and document the review results.
- If the review finds a part that does not comply with the standard, take corrective action immediately.
- Reviewing all requirements again before renewal:
- Before the compliance period expires, conduct a full review of whether the program once again satisfies all the requirements of the ISO/IEC 18974 standard.
- This review may be performed by an independent audit team or external experts.
- Document the review results and report them to management.
Example Evidence Materials
- Compliance validation certificate: An official document certifying that ISO/IEC 18974 compliance validation was obtained.
- Compliance renewal plan: A document describing the concrete plan for maintaining and renewing compliance status.
- Periodic review report: A report recording the results of periodically reviewing compliance status.
- Full requirement re-review report: A report recording the results of re-reviewing, before compliance renewal, whether the program satisfies all requirements of the standard.
Implementation Considerations
- Maintaining compliance status requires continuous effort and investment of resources.
- The organization must monitor changes to the ISO/IEC 18974 standard and make the adjustments the program needs.
- The importance of standard compliance must be emphasized to program participants, and responsibility must be assigned to them.
Documentation Approach
Include the following content within the open source policy. (Reference: Open Source Policy Template)
11.2 Maintaining Compliance Status
- Periodic review:
- The OSRB performs an internal review of all requirements of ISO/IEC 5230 and ISO/IEC 18974 at least once a year.
- Review results are documented and retained, and an improvement plan is established for any items not satisfied.
- Periodic internal audit:
- The internal audit assesses whether program participants are performing their roles, the conformity of compliance deliverables, and the effectiveness of security assurance activities.
- Areas for improvement are identified based on audit results, and necessary actions are taken.
- Providing education and training:
- Regular education and training are provided to continuously improve the competency and awareness of program participants.
- The training content reflects the latest open source trends and the organization’s requirements, and emphasizes compliance with the ISO standards.
- Preparing to respond to external inquiries:
- A system is maintained to respond quickly and effectively when there are external inquiries related to ISO standard compliance.
- The Open Source Program Manager handles inquiry responses, cooperating with the legal team as needed.
- Periodic policy renewal:
- The policy is reviewed at least once a year and is updated to reflect the latest open source trends and the organization’s requirements.
- The updated policy is shared with all program participants.
Through this approach, the organization can continuously maintain compliance with the ISO/IEC 18974 standard and provide customers with safe and trustworthy open source software.
3.4 - 4. Comparison and Integration with ISO/IEC 5230
This chapter compares and analyzes ISO/IEC 5230 for open source compliance management and ISO/IEC 18974 for open source security assurance, and presents a way to integrate the two standards to build a more effective open source management system.
4.1 Similarities and Differences
ISO/IEC 5230 and ISO/IEC 18974 are both international standards for open source management, but they differ in their main objectives, scope of application, and core requirements. It is important to understand both standards and apply them appropriately to the organization’s circumstances.
Table 4.1: Main Similarities Between ISO/IEC 5230 and ISO/IEC 18974
| Similarity | Description |
|---|---|
| International standards for open source management | Both standards aim at the effective management of open source software. |
| Based on the Linux Foundation’s OpenChain project | Both standards were developed based on the output of the OpenChain project. |
| Improvement of an organization’s open source processes | Both standards help organizations improve their open source management processes and raise their maturity. |
| Self-certification option | Both standards allow organizations to confirm their compliance through self-assessment. |
| Emphasis on continuous improvement | Both standards encourage continuous improvement of open source management processes. |
Table 4.2: Main Differences Between ISO/IEC 5230 and ISO/IEC 18974
| Category | ISO/IEC 5230 | ISO/IEC 18974 |
|---|---|---|
| Main focus | Open source license compliance | Open source security assurance |
| Scope of application | License obligations, notice requirements, copyright attribution, source code disclosure obligations, etc. | Vulnerability management, SBOM (Software Bill of Materials) management, patch management, security review, etc. |
| Main audience | Legal team, compliance officers, license managers | Security team, development team, OSPO (Open Source Program Office) |
| Core requirements | - License identification and analysis - Compliance with license obligations - Fulfillment of notice obligations - Copyright attribution | - Identification and assessment of vulnerabilities - Establishing and executing a vulnerability response plan - Establishing and complying with a security policy - SBOM management |
| Management targets | Open source licenses, copyrights, patents | Security vulnerabilities, malicious code, and outdated dependencies in open source components |
| Main activities | - License review and analysis - Confirming compliance with license obligations - Fulfilling notice obligations - Legal risk management | - Vulnerability scanning and analysis - Applying security updates and patches - Incident response - Open source security audits |
| Goal | Reduced legal liability, prevention of license disputes, maintaining compliance | Reduced security risk, improved software reliability, safe software development |
| Management tools | - License scanning tools (e.g., FOSSology, ScanCode) - Compliance management systems | - Vulnerability scanners (e.g., OWASP Dependency-Check, Snyk) - SBOM management tools (e.g., SPDX Tools, CycloneDX) - Security information and event management (SIEM) systems |
| How license compliance is ensured | - Building an open source license review process - Providing open source usage guidelines - Training on compliance with license obligations - Establishing a resolution procedure for license violations | Not applicable |
| How security vulnerabilities are managed | Not applicable | - Using vulnerability scanning tools - Assessing vulnerabilities and prioritizing them - Applying patches or mitigation measures - Periodically reviewing the vulnerability management process |
How does ISO/IEC 5230 ensure license compliance?
To ensure open source license compliance, ISO/IEC 5230 requires the following.
- License identification process: The organization must accurately identify the licenses of all open source components it uses. This can be done using license identification tools or by manually reviewing the code.
- Compliance with license obligations: The organization must comply with all obligations of the identified licenses. For example, if the organization uses a component under the GPL (GNU General Public License), it may be required to disclose its source code.
- Fulfillment of notice obligations: The organization must notify users of the license information for open source components. This can be done by including notice text within the software product or by providing a separate license file.
How does ISO/IEC 18974 manage security vulnerabilities?
To manage open source security vulnerabilities, ISO/IEC 18974 requires the following.
- Using vulnerability scanning tools: The organization must periodically scan open source components for known vulnerabilities using automated vulnerability scanning tools.
- Assessing vulnerabilities and prioritizing them: For each vulnerability found, the organization must assess its severity, impact, and exploitability, and determine a response priority.
- Applying patches or mitigation measures: According to priority, the organization must apply patches to vulnerabilities or implement mitigation measures (e.g., changing firewall settings, modifying code).
- Periodically reviewing the vulnerability management process: The organization must periodically review the effectiveness of the vulnerability management process and improve it as needed.
4.2 The Complementary Relationship Between the Two Standards
ISO/IEC 5230 (open source license compliance) and ISO/IEC 18974 (open source security assurance) are independent standards, but when an organization implements them together, it can create a synergistic effect in open source management. Understanding the areas each standard covers and leveraging their complementary relationship makes it possible to build a stronger open source management system.
- Building an integrated open source management system
- Legal risk management (ISO/IEC 5230): Compliance with open source licenses reduces the likelihood of legal disputes such as copyright and patent infringement.
- Security risk management (ISO/IEC 18974): Managing the risk of vulnerabilities and malicious code infection in open source components reduces the likelihood of security incidents.
- Integrated management: Rather than managing legal risk and security risk separately, building an integrated system improves efficiency.
- Process synergy
- Using an SBOM (Software Bill of Materials): An SBOM can be used to manage license information and security vulnerability information together. Recording both license information and vulnerability information in the SBOM makes it possible to grasp the legal and security risks of each component at the same time.
- Integrating documentation and training programs: Efficiency can be improved by integrating open source policies, license compliance procedures, and security guidelines into a single document and jointly operating training programs.
- Optimizing organizational structure
- Using an OSPO (Open Source Program Office): An OSPO can be used to manage the requirements of both standards in an integrated way. The OSPO oversees open source policy development, process management, and tool adoption, and facilitates cooperation between the legal and security teams.
- Strengthening cooperation between the legal and security teams: The legal team assesses the legal risks related to open source licenses, and the security team analyzes the security vulnerabilities of open source components. The two teams work together to conduct a comprehensive risk assessment of open source use and develop appropriate response measures.
- Strengthening supply chain management
- Considering both standards together when evaluating suppliers: When receiving software from a supplier, both ISO/IEC 5230 and ISO/IEC 18974 are used as criteria for evaluating the supplier’s open source management system. This helps raise the level of open source management across the entire supply chain.
- Specifying contract terms: Supply contracts specify requirements related to open source license compliance and security, and require suppliers to comply with them.
Table 4.3: The Complementary Relationship Between ISO/IEC 5230 and ISO/IEC 18974
| Area | ISO/IEC 5230 (License Compliance) | ISO/IEC 18974 (Security Assurance) | Synergistic Effect |
|---|---|---|---|
| Risk management | Legal risk management | Security risk management | Integrated management of legal and security risk |
| Information management | License information | Vulnerability information | Integrated information management through the SBOM |
| Organizational structure | Led by the legal team | Led by the security team | Strengthened cooperation through the OSPO |
| Supply chain management | License compliance contracts | Security requirement contracts | Improved management level across the supply chain |
4.3 Integrated Implementation Strategy
ISO/IEC 5230 (open source license compliance) and ISO/IEC 18974 (open source security assurance) each address a different aspect, but an organization can implement both standards in an integrated way to create a synergistic effect. This section presents concrete strategies and action plans for effectively integrating the two standards.
- Adopting a phased approach
- Implementing ISO/IEC 5230 first: Implement ISO/IEC 5230 first to build a basic license compliance system. This helps reduce the legal risk associated with open source use and establish a compliance culture within the organization.
- Adding ISO/IEC 18974: After implementing ISO/IEC 5230, introduce ISO/IEC 18974 to strengthen the security management system. This helps effectively manage vulnerabilities in open source components and strengthens the security of the software supply chain.
- Establishing an integrated roadmap: An integrated roadmap can also be established to consider both standards at once and implement them in parallel. In this case, both legal and security aspects can be considered from the initial stage to build a balanced open source management system.
- Leveraging common elements
- Integrating policies and processes: Elements commonly required by both standards, such as the open source usage policy, the SBOM (Software Bill of Materials) management process, and training programs, are integrated and managed together. This helps reduce duplicated work and improve management efficiency.
- Integrating tools: License scanning tools and vulnerability scanning tools are integrated, or tools that allow SBOM data to be shared are used to facilitate information sharing.
- Integrating organizational structure and roles
- Using an OSPO (Open Source Program Office): Open source-related activities are managed in an integrated way centered on the OSPO. The OSPO is composed of experts from various departments, including legal, security, and development, and supports comprehensive decision-making about open source use.
- Clarifying responsibilities and authority: The responsibilities and authority of each role (e.g., legal team, security team, development team) are clearly defined, and a collaborative framework is established.
- Continuous cooperation and information sharing
- Regular meetings: Regular meetings between the legal, security, and development teams share the latest open source information, threat trends, and issues.
- Information sharing platform: An information sharing platform (e.g., an internal wiki, a collaboration tool) is built where open source-related information can be shared and discussed.
- Education and training: Training programs on open source licensing and security are jointly developed and delivered to all employees.
Table 4.4: Integrated Implementation Strategy for ISO/IEC 5230 and ISO/IEC 18974
| Strategy | Description | Action Plan |
|---|---|---|
| Phased approach | Implement ISO/IEC 5230 first, then ISO/IEC 18974 | Step 1: Satisfy the ISO/IEC 5230 requirements |
| Step 2: Add the ISO/IEC 18974 requirements | ||
| Leveraging common elements | Sharing policies, processes, and tools | Integrating the SBOM generation process, integrating training programs |
| Integrating organizational structure | Managing centered on the OSPO | Composing the OSPO with legal, security, and development experts |
| Continuous cooperation and information sharing | Regular meetings, building an information sharing platform | Strengthening cross-team collaboration, improving information accessibility |
3.5 - 5. Implementation Considerations by Organizational Characteristics
To effectively implement the ISO/IEC 18974 standard, a tailored approach that considers the organization’s characteristics is necessary. This section describes in detail the approaches for large enterprises, small and medium-sized enterprises (SMEs), and startups, integration with existing security processes, and education and awareness programs.
5.1 Approaches by Large Enterprises, SMEs, and Startups
5.1.1 Large Enterprises
Large enterprises must manage complex organizational structures, diverse projects, and a wide range of technology stacks, so a systematic and comprehensive approach is essential. In addition, they must pay closer attention to compliance with legal and regulatory requirements, supply chain management, and protection of brand reputation.
Establishing a dedicated Open Source Program Office (OSPO): The OSPO functions as a central organization that establishes and manages the organization-wide open source strategy. The OSPO performs the following roles, which are important for ensuring consistent policies and processes.
- Establishing and managing open source policy: Establishes and manages policies for open source use and contribution across the organization. Policies must reflect legal requirements, security guidelines, and the organization’s business goals.
- Managing open source compliance: Verifies compliance with open source licenses and resolves related issues.
- Managing security vulnerabilities: Manages the process of identifying, assessing, and patching vulnerabilities in open source components.
- Participating in open source communities: Contributes to open source projects and builds relationships with the community.
Success cases: Large technology companies such as Google, Microsoft, and Facebook systematically manage their open source strategies through an OSPO. Through their OSPOs, these companies encourage open source use, contribute to communities, and manage legal and security risks at the same time.
Designating open source coordinators by department: Designates an open source coordinator for each department or project team to ensure smooth communication with the OSPO. The coordinator complies with the guidelines provided by the OSPO and reports on the status of open source use within the department.
Adopting advanced tools and processes: Adopts advanced Software Bill of Materials (SBOM) generation tools and vulnerability scanning solutions to manage large codebases and complex dependencies.
- Example: Implements automated open source management using commercial tools such as WhiteSource, Black Duck, and Snyk. These tools quickly scan large codebases, generate accurate SBOMs, and provide diverse vulnerability information.
Managing a complex supply chain: Builds a systematic process to track and manage open source use by various suppliers and partners.
- Specifies open source security requirements in supplier contracts and verifies compliance through regular audits. Contract terms may include an obligation to provide an SBOM, sharing of vulnerability information, and allocation of responsibility in the event of a security incident.
Table 5.1: Key Elements for ISO/IEC 18974 Implementation in Large Enterprises
| Element | Description | Example |
|---|---|---|
| Establishing an OSPO | Central organization for open source strategy and management | Google, Microsoft, Facebook |
| Designating departmental coordinators | Securing a communication channel between the OSPO and each department | Designating an open source Champion for each team |
| Using advanced tools | Automated SBOM generation and vulnerability scanning | WhiteSource, Black Duck, Snyk |
| Supply chain management | Specifying supplier security requirements | Including an SBOM provision obligation in contract terms |
5.1.2 Small and Medium-Sized Enterprises
SMEs have more limited resources than large enterprises, so an efficient implementation strategy is needed. The key is to choose cost-effective solutions, leverage the capabilities of existing teams, and, where necessary, seek help from outside experts.
- Designating an open source lead within an existing team: Instead of a dedicated OSPO, designates an open source security lead within the existing development or security team. The lead performs roles such as complying with open source policy, managing SBOMs, and checking vulnerabilities.
- Using cloud-based open source management tools: Considers cloud-based solutions to reduce initial investment costs and secure flexibility.
- Example: Uses the open source management features provided by cloud-based collaboration platforms such as GitHub and GitLab. These platforms provide source code management, collaboration, build automation, and basic security scanning features.
- Considering advice from outside experts: Seeks advice from outside consultants or experts as needed to pursue efficient implementation.
- Uses an open source security consulting firm to receive short-term technical support and training. Outside experts can provide specialized knowledge on SBOM generation, vulnerability scanning, and license compliance.
- Choosing cost-effective solutions: Optimizes costs by using open source tools or low-cost commercial solutions.
- Example: Uses free or inexpensive tools such as OWASP Dependency-Check and Snyk Open Source. These tools provide basic SBOM generation and vulnerability scanning features and can be fully utilized even within an SME’s budget.
Table 5.2: Key Elements for ISO/IEC 18974 Implementation in SMEs
| Element | Description | Example |
|---|---|---|
| Using an existing team | Using existing personnel instead of a dedicated organization | Designating a lead within the development or security team |
| Cloud-based tools | Reducing initial costs and securing flexibility | Open source management features of GitHub, GitLab |
| Advice from outside experts | Short-term technical support and training as needed | Building an SBOM with the help of a consulting firm |
| Cost-effective solutions | Using free or inexpensive tools | OWASP Dependency-Check, Snyk Open Source |
5.1.3 Startups
Startups need a flexible approach that can respond to rapid growth and change. The key is to integrate security into the development process, actively use automation tools, and increase efficiency through fast decision-making.
- Applying a simplified agile process: Adopts a simplified approach that focuses on core requirements instead of a complex process.
- Simplifies the open source use approval procedure and allows developers to choose open source components autonomously. However, important security or license-related matters must always be reviewed.
- Integrating open source security management into the development process: Integrates security checks into the existing development workflow rather than as a separate process (DevSecOps).
- Adds SBOM generation and vulnerability scanning steps to the CI/CD pipeline. This allows security vulnerabilities to be automatically checked during the development process and resolved before code deployment.
- Actively using automation tools: Makes maximum use of automation tools for efficient management with limited personnel.
- Example: Uses automation tools such as GitHub Actions and GitLab CI to automate SBOM generation and vulnerability scanning. These tools are relatively simple to configure and can be easily integrated into the development workflow.
- Fast decision-making and execution: Uses a flexible organizational structure to drive rapid decision-making and policy implementation.
- Open source-related decisions are made quickly by the development team lead or the Chief Technology Officer (CTO). Advice from the legal or security team can be sought during the decision-making process, but decision-making speed should not be slowed down.
Table 5.2: Key Elements for ISO/IEC 18974 Implementation in Startups
| Element | Description | Example |
|---|---|---|
| Agile process | Focus on core requirements, fast decision-making | Simplified use approval procedure |
| DevSecOps | Integrating security into the development workflow | Adding security checks to the CI/CD pipeline |
| Automation tools | Efficient management with limited personnel | GitHub Actions, GitLab CI |
| Fast decision-making | Using a flexible organizational structure | Responsibility of the development team lead or CTO |
Success cases:
- Netflix: Netflix developed an open source tool called “Security Monkey” to automate security in cloud environments. This encouraged developers to consider security more easily and contributed to reducing the burden on the security team.
- Spotify: Spotify succeeded in strengthening security while maintaining development speed by integrating security checks into its continuous deployment pipeline.
Key considerations:
- Risk-based approach: Rather than applying the same level of security management to all open source components, it is better to prioritize components with a higher level of risk.
- Continuous learning: Open source security threats are constantly changing, so it is necessary to continuously learn the latest trends and update security practices.
- Community participation: Participating in open source communities and collaborating with other organizations to help strengthen open source security is also a good approach.
5.2 Integration with Existing Security Processes
To successfully implement ISO/IEC 18974, smooth integration with existing security processes is essential. Integrating open source security management into the existing security system reduces redundant investment, increases efficiency, and achieves consistent security management.
Analyzing current security policy
- Reviewing existing policy: Reviews the organization’s existing security policies, such as information security policy, privacy policy, and risk management policy, to identify parts related to ISO/IEC 18974 requirements.
- Performing gap analysis: Analyzes the differences between existing policy and ISO/IEC 18974 requirements and identifies parts that need to be supplemented.
- Integrating policy: Adds open source security-related provisions to existing policy, or establishes a separate open source security policy and integrates it with existing policy.
Example:
- Adds a provision to the existing information security policy stating that “security review procedures must be followed when using open source software.”
- Adds a provision to the privacy policy stating that “encryption and access control measures must be strengthened when using open source components that process personal information.”
Using the DevSecOps framework
- Integrating the CI/CD pipeline: Integrates open source security management into the Continuous Integration/Continuous Delivery (CI/CD) pipeline to build a DevSecOps environment that considers security from the early stages of development.
- Automated security checks: Automates steps such as Software Bill of Materials (SBOM) generation, license checking, and vulnerability scanning in the CI/CD pipeline.
- Feedback loop: Provides rapid feedback of security check results to the development team so that fixes can be made.
Example:
- Uses CI/CD tools such as Jenkins, GitLab CI, and CircleCI to automate SBOM generation and vulnerability scanning steps.
- Integrates Static Application Security Testing (SAST) tools such as SonarQube and Veracode into the CI/CD pipeline to check code quality and security vulnerabilities.
Linking with the risk management process
- Identifying risk: Identifies risks arising from open source use (e.g., exploitation of vulnerabilities, license violations) and records them in the risk management register.
- Assessing risk: Assesses the severity, likelihood of occurrence, and business impact of identified risks.
- Responding to risk: Prepares and executes appropriate response measures (e.g., applying patches, mitigation measures, discontinuing use) according to the assessed risk.
- Monitoring risk: Continuously monitors the effectiveness of the risk management plan and revises the plan as needed.
Example:
- Adds a risk item to the risk management register stating “use of open source components with severe vulnerabilities such as Log4Shell.”
- Assesses the likelihood of occurrence of the corresponding risk as “medium” and severity as “high,” and establishes a response plan of “applying a patch within 24 hours of vulnerability discovery.”
Updating the incident response plan
- Adding open source-related scenarios: Adds open source-related scenarios (e.g., exploitation of vulnerabilities, license violations) to the existing incident response plan.
- Defining response procedures and responsible parties: Clearly defines the response procedure and responsible party for each scenario.
- Training and simulation: Conducts regular training and simulations to improve response capability in the event of an open source-related security incident.
- Reviewing insurance enrollment: Considers enrolling in cyberattack insurance to prepare for open source-related legal liability (e.g., copyright infringement lawsuits).
Example:
- Adds a scenario to the incident response plan stating “a zero-day vulnerability is discovered in an open source component,” and clearly defines the response procedure and responsible party.
- Includes a scenario exploiting an open source vulnerability during penetration testing exercises to check response capability.
Table 5.3: Methods for Integration with Existing Security Processes
| Integration Area | Description | Execution Example |
|---|---|---|
| Policy | Adding open source-related provisions or establishing a separate policy | Adding a provision to “comply with security review procedures when using open source software” |
| DevSecOps | Integrating security checks into the CI/CD pipeline | Installing the OWASP Dependency-Check plugin in Jenkins |
| Risk management | Recording open source-related risks in the risk management register | Adding a risk item for “severe vulnerabilities such as Log4Shell” |
| Incident response | Adding open source-related scenarios | Adding a scenario for “when an open source zero-day vulnerability is discovered” |
5.3 Education and Awareness Programs
Understanding and participation across the entire organization is essential for effective ISO/IEC 18974 implementation. Education and awareness programs should support organization members in recognizing the importance of open source security and fulfilling their own roles and responsibilities.
- Developing tailored education programs by audience
- Developers: Provides education on secure coding practices, major open source licenses, and vulnerability response methods.
- Example: Provides security training courses such as OWASP Top 10 and SANS Top 25, and trains developers on how to find security vulnerabilities during code review.
- Security team: Provides education on open source security audits, incident response procedures, and the latest security threat trends.
- Example: Strengthens practical capability through penetration testing exercises and breach incident analysis workshops.
- Legal team: Provides education on types of open source licenses, legal liabilities and obligations, and related laws.
- Example: Provides legal lectures on major open source licenses such as the GNU General Public License (GPL), Apache License, and MIT License.
- Executive management: Provides education on the need for open source security investment, Return on Investment (ROI), and risk management.
- Example: Supports participation in open source security-related workshops or seminars and provides investment effectiveness analysis reports.
- Developers: Provides education on secure coding practices, major open source licenses, and vulnerability response methods.
- Using various education methods
- Building an online learning platform: Provides a learning environment not restricted by time or place.
- Example: Uses online education platforms such as Coursera and Udemy, or builds an in-house Learning Management System (LMS).
- Running workshops and hands-on sessions: Provides practice-centered learning opportunities through real cases.
- Example: Conducts web application security vulnerability diagnosis workshops using tools such as OWASP ZAP and Burp Suite.
- Seminars inviting outside experts: Provides opportunities to share the latest trends and best practices and to acquire specialized knowledge.
- Building an online learning platform: Provides a learning environment not restricted by time or place.
- Continuous awareness-raising activities
- Running an internal newsletter or blog: Regularly shares the latest open source security news, vulnerability information, and success cases.
- Conducting in-house security campaigns: Conducts campaigns that emphasize the importance of open source security and encourage member participation.
- Running a “Security Champions” program: Trains personnel in each team to lead the security culture and encourages security-related activities.
- Building an evaluation and feedback system
- Measuring education effectiveness: Sets Key Performance Indicators (KPIs) to measure the effectiveness of education programs and evaluates them regularly. (e.g., education completion rate, evaluation of security knowledge improvement)
- Collecting feedback: Collects and analyzes feedback on education programs and uses it to improve programs.
- Reflecting improvements: Continuously improves the content, methods, and frequency of education programs based on evaluation results and feedback.
Table 5.4: Elements of Education and Awareness Programs
| Element | Description | Example |
|---|---|---|
| Education by audience | Tailored education for developers, security team, legal team, executive management | Secure coding education for developers |
| Various education methods | Using online lectures, workshops, seminars, etc. | Penetration testing exercises, legal advice |
| Continuous awareness-raising | Newsletter, in-house campaigns, Security Champions | Publishing a monthly security newsletter |
| Evaluation and feedback | Measuring education effectiveness, reflecting feedback | Education satisfaction survey, KPI achievement rate evaluation |
3.6 - 6. ISO/IEC 18974 Self-Certification Process
The ISO/IEC 18974 self-certification process is how an organization confirms for itself that it is effectively implementing a security assurance program for open source software. This process consists of the following stages: preparation and gap analysis, implementation and process improvement, self-assessment and certification declaration, and maintenance and renewal.
6.1 Preparation and Gap Analysis
The preparation and gap analysis stage is the process of understanding the requirements of the ISO/IEC 18974 standard and assessing the organization’s current level of open source security management to identify areas that need improvement. This stage consists of the following detailed tasks.
6.1.1 Detailed Review of the ISO/IEC 18974 Standard Document
- Compile a list of core requirements
- Thoroughly review the ISO/IEC 18974 standard document.
- Extract and list the core requirements for each section.
- Prioritize the requirements.
- Understand terminology and concepts
- Organize the technical terms and concepts used in the standard.
- If necessary, prepare a glossary and share it within the organization.
- Obtain the self-certification checklist
- Download the latest version of the self-certification checklist from the OpenChain Project website.
- Familiarize yourself with the structure and content of the checklist.
Table 6.1: Example ISO/IEC 18974 Core Requirements
| Area | Requirement | Priority |
|---|---|---|
| Policy | Establish an open source security policy | High |
| SBOM | Build an SBOM generation and management process | High |
| Vulnerability management | Establish vulnerability scanning and response procedures | Medium |
| Training | Conduct open source security training for staff | Medium |
This table shows the key requirements of ISO/IEC 18974 and their priority. Organizations can use this as a basis for developing an implementation plan.
6.1.2 Analysis of the Current Open Source Security Management Process
- List existing policies, procedures, and tools
- Identify the open-source-related policies, procedures, and tools currently in use.
- Clarify the purpose, scope, and owner of each item.
- Identify strengths and weaknesses
- Analyze the effective parts of the current process and the parts that need improvement.
- Conduct a SWOT analysis to identify internal strengths and weaknesses, and external opportunities and threats.
- Create process flow diagrams
- Create flow diagrams for key open source management processes (for example, open source use approval, vulnerability response).
- Specify the owner and required time for each step.
Table 6.2: Example SWOT Analysis of the Current Open Source Security Management Process
| Category | Details |
|---|---|
| Strengths (S) | - High open source utilization by the development team |
- Expertise of the existing security team | | Weaknesses (W) | - Lack of systematic SBOM management
- Insufficient open source security training program | | Opportunities (O) | - Potential for collaboration with the open source community
- Advancement of cloud-based security tools | | Threats (T) | - Increasing open source vulnerabilities
- Increasingly complex license requirements |
This SWOT analysis table comprehensively shows the organization’s current open source security management status. It helps identify the areas that need improvement.
6.1.3 Performing the Gap Analysis
- Identify the gap between the current state and the requirements
- Compare the ISO/IEC 18974 requirements against the current process item by item.
- Evaluate compliance with each requirement as “fully compliant,” “partially compliant,” or “non-compliant.”
- Prioritize areas requiring improvement
- Based on the identified gaps, determine the priority of the areas that need improvement.
- Set priorities by considering business impact, implementation difficulty, resource requirements, and other factors.
- Set specific improvement targets
- Set specific, measurable targets for each area of improvement.
- Create a timeline for achieving the targets.
Table 6.3: Example Gap Analysis and Improvement Plan
| Requirement | Current State | Gap | Improvement Target | Priority | Target Completion |
|---|---|---|---|---|---|
| SBOM management | Partially compliant | No automated SBOM generation | Adopt an automated SBOM generation tool | High | In 3 months |
| Vulnerability management | Non-compliant | No systematic vulnerability scanning | Establish a weekly vulnerability scan process | High | In 2 months |
| Security training | Partially compliant | No regular training program | Conduct quarterly open source security training | Medium | In 6 months |
This table shows the gap analysis results and the corresponding improvement plan. Organizations can use this as a basis for developing a concrete action plan.
6.1.4 Using the OpenChain Project Checklist
The self-certification checklist provided by the OpenChain Project is a very useful tool for assessing compliance with ISO/IEC 18974. The checklist can be used as follows:
- Download and review the checklist
- Download the latest version of the checklist from the OpenChain Project website.
- Review each item on the checklist and, if necessary, adjust the terminology to fit the organization’s context.
- Perform the self-assessment
- Answer each item on the checklist with “yes,” “no,” or “not applicable.”
- Be sure to record the reason for any “no” or “not applicable” response.
- Collect supporting evidence
- For each “yes” response, collect evidence that supports it.
- Evidence can take various forms, such as documents, screenshots, and logs.
- Develop an improvement plan
- Develop an improvement plan for items with a “no” response.
- Assign an owner and a target completion date to each improvement plan.
Table 6.4: Example OpenChain Project Checklist
| Item | Question | Response | Evidence | Improvement Plan |
|---|---|---|---|---|
| 1.1 | Is the open source policy documented? | Yes | policy_document.pdf | - |
| 1.2 | Are all software staff aware of the policy? | No | - | Conduct company-wide training (within 3 months) |
| 1.3 | Is there a process for generating and managing SBOMs? | Partial | SBOM_management_procedure.docx | Adopt an SBOM automation tool (within 6 months) |
This table shows some items from the OpenChain Project checklist and the corresponding self-assessment results. It allows organizations to understand their current compliance status and develop an improvement plan.
Through the preparation and gap analysis stage, an organization can lay the foundation for implementing ISO/IEC 18974. The information gathered and plans developed in this stage form the basis for the next stage, “Implementation and Process Improvement.”
6.2 Implementation and Process Improvement
In this stage, based on the gap analysis results, an organization establishes or revises its open source security policy, improves related processes and procedures, and adopts and configures the necessary tools. The goal is to build an effective open source security management system that meets the ISO/IEC 18974 requirements.
6.2.1 Establishing or Revising the Open Source Security Policy
- Reflect the ISO/IEC 18974 requirements:
- Based on the gap analysis results, confirm that all ISO/IEC 18974 requirements are reflected in the policy.
- In particular, core requirements such as Software Bill of Materials (SBOM) management, vulnerability management, and license compliance must all be included without exception.
- Develop detailed guidelines suited to the organization’s characteristics:
- Refine the policy by considering the organization’s size, industry, technology stack, and risk management policy.
- For example, a financial company should specify additional security measures in the policy to comply with privacy protection and financial regulations.
- Obtain top management approval:
- Obtain approval from the CEO (Chief Executive Officer) or the CISO (Chief Information Security Officer) to secure the policy’s enforceability.
- Manage the approved policy as an official document and share it with all relevant parties in the organization.
Table 6.5: Contents of the Open Source Security Policy
| Area | Details | Example |
|---|---|---|
| Scope | Target systems, projects, and components to which the policy applies | All internal development projects, external supply chain |
| Roles and responsibilities | Responsibilities for each role related to open source management | Developers: secure coding; security team: vulnerability scanning |
| SBOM management | SBOM generation, update, and storage procedures | Periodic SBOM generation and version control |
| Vulnerability management | Vulnerability scanning, assessment, and response procedures | CVSS score-based prioritization and patch application |
| License compliance | License review and notice-obligation compliance procedures | Mandatory license review before open source use |
| Exception handling | Procedures for handling policy exceptions | Exception approval procedure for emergencies |
6.2.2 Improving Processes and Procedures
- Build an SBOM generation and management process:
- SBOM generation: Build a process that automatically generates an SBOM during the software build.
- SBOM storage and management: Securely store the generated SBOM and manage it in conjunction with a version control system.
- SBOM distribution: Establish a system for rapidly distributing the SBOM when needed (for example, upon customer request or when a security incident occurs).
- Use tools: Automate the process using SBOM generation tools such as SPDX Tools, FOSSLight, and SW360.
- Establish a vulnerability monitoring and response system:
- Vulnerability scanning: Build a process that periodically scans open source components for vulnerabilities.
- Use tools: Use vulnerability scanning tools such as OWASP Dependency-Check, Snyk, and Black Duck.
- Scan interval: Set the scan interval by considering the project’s importance and rate of change.
- Vulnerability assessment and prioritization: Assess the severity, impact, and exploitability of discovered vulnerabilities, and determine response priority.
- Vulnerability response: Take appropriate response measures, such as patching, mitigation, or component replacement, based on the assessment results.
- Set response deadlines: Set response deadlines according to vulnerability severity, and follow the exception handling procedure if a vulnerability is not resolved within the deadline.
- Vulnerability scanning: Build a process that periodically scans open source components for vulnerabilities.
- Build an incident reporting system:
- Reporting procedure: Clearly define the reporting procedure for when an open-source-related security incident occurs (for example, vulnerability exploitation or license violation).
- Reporting recipients: Designate the parties who must be notified (for example, the security team, legal team, or management).
- Reporting format: Prepare a reporting format that includes the information needed for a report (for example, when the incident occurred, the scope of impact, and the components involved).
Table 6.6: Process and Procedure Improvements
| Process | Improvement | Tool/Method |
|---|---|---|
| SBOM generation | Automated SBOM generation | CI/CD integration with SPDX Tools, FOSSLight, SW360, etc. |
| Vulnerability scanning | Periodic scanning and assessment | OWASP Dependency-Check, Snyk, CVSS |
| Incident reporting | Clear reporting procedure and designated owner | Prepare reporting format, designate reporting recipients |
6.2.3 Adopting and Configuring the Necessary Tools
- Select open source discovery and vulnerability scanning tools:
- Select appropriate tools by considering the organization’s development environment, technology stack, and budget.
- Compare free open source tools with commercial tools, and select a tool with the necessary features.
- Free tools: OWASP Dependency-Check, Bandit, Trivy, etc.
- Commercial tools: Snyk, Black Duck, WhiteSource, etc.
- Integrate with the existing development environment:
- Integrate the selected tools with the existing development environment, such as the IDE (Integrated Development Environment) and the CI/CD (Continuous Integration/Continuous Delivery) pipeline.
- The integration helps developers easily use the tools and automate security checks.
- Use automation features:
- Make full use of the tools’ automation features to automate tasks such as SBOM generation, vulnerability scanning, and license checking.
- Automation saves human resources and reduces the likelihood of human error.
Table 6.7: Criteria for Selecting Open Source Security Tools
| Criterion | Description | Considerations |
|---|---|---|
| Functionality | Whether the necessary features are provided | SBOM generation, vulnerability scanning, license checking |
| Accuracy | Minimizing false positives and false negatives | Integration with an up-to-date vulnerability database |
| Ease of use | Easy installation and usage | User interface, documentation |
| Compatibility | Integration with the existing development environment | Integration with IDE and CI/CD tools |
| Cost | Reasonable price within budget | Comparing free open source tools and commercial tool pricing |
6.2.4 Documentation Work
- Prepare detailed documentation of policies, processes, and procedures:
- Prepare detailed documentation of the established or revised policy, the improved processes, and the related procedures.
- Documents should be written in clear, easy-to-understand language and be readily accessible to everyone concerned within the organization.
- Clarify roles and responsibilities:
- Clearly define and document the owner and person in charge of each process step.
- A RACI (Responsible, Accountable, Consulted, Informed) matrix can be used to clearly define roles and responsibilities.
- Manage document versions:
- Build a document version control system to manage the change history and maintain the latest version.
- Version control tools such as Git and Subversion, or collaboration tools such as SharePoint and Confluence, can be used.
Table 6.8: Documentation Work Items
| Document | Content | Example |
|---|---|---|
| Open source security policy | Rules, responsibilities, and constraints for open source use | - Open source use approval procedure - License compliance guidelines |
| SBOM management procedure | How to generate, store, and distribute SBOMs | - How to use the SBOM generation tool - SBOM storage location and access permissions |
| Vulnerability management procedure | How to scan, assess, and respond to vulnerabilities | - Response deadlines by vulnerability severity - How to apply patches |
| Incident response plan | Response procedure for open-source-related security incidents | - Incident reporting format - Emergency contact list |
Through this stage, an organization can establish the systematic foundation needed to implement ISO/IEC 18974 and complete its preparations for continuous improvement. Next is the self-assessment and certification declaration stage.
6.3 Self-Assessment and Certification Declaration
In this stage, based on the preparation and improvements made earlier, an organization assesses for itself whether it meets the ISO/IEC 18974 requirements and declares self-certification on the OpenChain Project website. The self-assessment must be conducted objectively and systematically, and the certification declaration must be approved by the organization’s top executive.
6.3.1 Using the OpenChain Project Self-Certification Checklist
- Download the latest version of the checklist:
- Download the latest version of the checklist for ISO/IEC 18974 self-certification from the OpenChain Project website (https://www.openchainproject.org/security-assurance).
- The checklist may be provided in spreadsheet (.xlsx) or document (.pdf) format.
- Understand and interpret the checklist items:
- Carefully read each item on the checklist and interpret it in light of the organization’s context.
- Checklist items generally reflect a specific requirement of the ISO/IEC 18974 standard and are used to assess how the organization meets that requirement.
- Prepare supporting evidence:
- For each checklist item, prepare evidence that demonstrates the organization meets the corresponding requirement.
- Evidence can take various forms, such as policy documents, procedure manuals, audit reports, training materials, and system logs.
6.3.2 Performing a Systematic Self-Assessment
- Check compliance with each requirement:
- Review the prepared evidence and determine, for each item on the checklist, whether the organization complies with the corresponding requirement.
- Answer each item with “yes,” “no,” or “not applicable.”
- Maintain an objective perspective:
- Exclude subjective judgment from the self-assessment process and evaluate based on objective evidence.
- Consider seeking help from an independent audit team or an external expert to increase the reliability of the assessment results.
- Record the assessment results:
- Record in detail the assessment result and the basis for each checklist item.
- In particular, for items answered “no” or “not applicable,” clearly record the reason and the improvement plan.
Table 6.9: Example OpenChain Project Self-Certification Checklist
| No. | Requirement | Compliance | Evidence | Description | Improvement Plan |
|---|---|---|---|---|---|
| 1.1 | Is the open source policy documented? | Yes | opensource_policy.pdf | The organization’s open source policy is documented and shared with relevant stakeholders. | - |
| 1.2 | Is an SBOM generation process in place? | Yes | sbom_generation_procedure.pdf | A process is in place to automatically generate an SBOM during the software build. | - |
| 1.3 | Is a vulnerability management process in operation? | No | - | Vulnerability scanning is currently performed manually, and no automated process is in place. | Adopt an automated vulnerability scanning tool (within 6 months) |
6.3.3 Identifying Unmet Items and Developing an Improvement Plan
- Analyze the root causes of gaps:
- Analyze the root cause of each item answered “no” or “not applicable” in the self-assessment.
- When analyzing root causes, consider various factors such as technical issues, budget constraints, staffing shortages, and inadequate processes.
- Derive short-term and long-term improvement measures:
- Derive short-term and long-term improvement measures to address the identified causes.
- Start short-term improvement measures with those that can be implemented relatively easily, and aim long-term improvement measures at strengthening the organization’s overall capabilities.
- Designate a schedule and owner for each improvement:
- Clearly designate the implementation schedule and owner for each improvement measure.
- The owner is responsible for tracking the progress of the improvement plan, securing the necessary resources, and completing the plan.
Table 6.10: Example Improvement Plan for Unmet Items
| Item | Reason for Non-Compliance | Improvement Measure | Owner | Target Completion |
|---|---|---|---|---|
| 1.3 | No automated vulnerability scanning tool | Adopt an automated vulnerability scanning tool and integrate it into the CI/CD pipeline | Security team | June 30, 2025 |
| 2.1 | No open source security training program | Develop and implement an open source security training program for all staff | HR team | March 31, 2025 |
6.3.4 Declaring Certification on the OpenChain Project Website
- Access the self-certification page:
- Go to the ISO/IEC 18974 self-certification page on the OpenChain Project website (https://www.openchainproject.org/security-assurance).
- Enter the required information:
- Enter the organization’s basic information, such as its name, address, and contact information.
- Enter certification-related information, such as the self-assessment results and improvement plan.
- Enter the certification owner’s contact information, such as name, title, and contact details.
- Agree to and submit the declaration:
- Agree to the OpenChain Project’s self-certification declaration.
- Verify the entered information, obtain approval from the organization’s top executive (for example, the CISO or head of legal), and submit it.
- Obtain the certification badge:
- Once the certification declaration is complete, obtain the ISO/IEC 18974 certification badge provided by the OpenChain Project.
- The organization can use the certification badge on its website, marketing materials, and other channels to promote its open source security capabilities.
By completing this stage, an organization can formally declare its compliance with the ISO/IEC 18974 requirements and publicly announce that it has built its own open source security management system. Next is the certification maintenance and renewal stage.
6.4 Maintenance and Renewal
ISO/IEC 18974 self-certification is not a one-time event but an ongoing process. Through this stage, an organization can maintain its certification, continuously improve its open source security management system, and effectively respond to the changing threat landscape.
6.4.1 Conducting Regular Internal Audits
- Develop an audit plan:
- Develop a plan to conduct internal audits annually or semiannually.
- Clearly define the audit scope, audit cycle, the departments and systems subject to audit, and the audit owner.
- Conduct the audit:
- Conduct the audit using various methods, such as checklists, interviews, document review, and system log analysis.
- During the audit, assess compliance with the ISO/IEC 18974 requirements, the effectiveness of policies and procedures, and opportunities for improvement.
- Report the audit results:
- Document the audit results and clearly present the issues found, improvements, and recommendations.
- The audit report must be shared with relevant stakeholders (for example, the CISO, legal team, and development team).
- Track improvement activities:
- Develop and implement a corrective action plan based on the audit results.
- Regularly track the progress of the corrective action plan and confirm its completion.
Table 6.11: Example Internal Audit Checklist Items
| Check Item | Description | Check Content |
|---|---|---|
| Policy compliance | Confirm compliance with the open source security policy | Compliance rate, cases of policy violation |
| SBOM management | Check the SBOM generation, update, and management process | SBOM generation cycle, SBOM accuracy, SBOM management system |
| Vulnerability management | Check the vulnerability scanning, assessment, and response process | Scan cycle, patch application rate, number of unresolved vulnerabilities |
| License compliance | Confirm compliance with license review and notice obligations | Cases of license violation, license review process |
6.4.2 Tracking New Requirements and Updates
- Gather information:
- Collect the latest information related to ISO/IEC 18974 through the OpenChain Project website, newsletters, community forums, and other sources.
- Participate in open-source-security-related conferences, seminars, and workshops to learn about the latest technology trends and best practices.
- Monitor changes to security-related laws and regulations (for example, GDPR, CCPA, DORA, and the EU Cyber Resilience Act).
- Assess the impact:
- Assess the impact of new requirements or updates on the organization’s open source security management system.
- Confirm whether existing policies, procedures, and tools need to be changed.
- Reflect changes in the process:
- Reflect the necessary changes in policies and procedures based on the assessment results.
- Train members of the organization on the changes and adopt new tools.
6.4.3 Formal Reassessment Every 18 Months (Recommended)
- Conduct a full reassessment:
- Reassess compliance with the ISO/IEC 18974 requirements using the latest checklist provided by the OpenChain Project.
- Identify the areas that have improved since the previous assessment and the areas that need further improvement.
- Develop an improvement plan:
- Develop and implement an improvement plan based on the reassessment results.
- This process is equivalent to repeating the gap analysis and implementation stages described earlier.
- Update documentation:
- Reflect the results of the reassessment and improvement activities to keep policies, procedures, and related documents up to date.
6.4.4 Continuous Improvement Activities
- Collect feedback:
- Collect feedback on the open source security management system from internal and external stakeholders.
- Various methods can be used, such as surveys, interviews, and workshops.
- Analyze data:
- Along with the collected feedback, analyze various data, such as SBOM data, vulnerability analysis results, and audit results, to identify opportunities for improvement.
- Implement improvements:
- Develop and implement a specific action plan for each identified improvement opportunity.
- Various activities can be carried out, such as adopting new technologies, improving processes, and developing training programs.
- Measure performance:
- Set KPIs (Key Performance Indicators) to measure the effectiveness of improvement activities, and measure them regularly.
- Analyze the measurement results to evaluate the effectiveness of the improvement activities, and revise the plan if necessary.
- Share knowledge:
- Share success and failure cases from improvement activities within the organization to enhance learning.
- Use internal wikis, blogs, newsletters, and other channels to share knowledge and encourage communication.
3.7 - 7. Case Studies and Success Strategies
This section analyzes cases of obtaining ISO/IEC 18974 certification and presents key strategies for successful implementation. Through case studies across various company sizes, it will help readers understand real-world application methods and establish the optimal strategy for their organization.
7.1 Certification Cases by Various Company Sizes
7.1.1 Global Software Company: openEuler
openEuler is a major open source operating system project in China that obtained ISO/IEC 18974 certification in June 2024. This case shows how ISO/IEC 18974 is implemented in a large-scale open source project.
- Background and goals of certification: openEuler aimed to build a secure, compliant, and sustainable operating system community.
- Key challenges during implementation: The main challenge was implementing consistent security practices across a large-scale open source project.
- Business impact and benefits after certification: openEuler’s development process, software supply chain, risk assessment, management, and developer security capabilities were recognized as meeting the highest level of standard.
- Analysis of success factors: Community-wide cooperation and commitment, and making security a core value, were the main success factors.
Key lesson: In large-scale open source projects, community participation and cooperation are the key success factors for ISO/IEC 18974 implementation.
7.1.2 Large Enterprise: KT
KT obtained ISO/IEC 18974 certification in October 2024. This case shows how a large enterprise integrates ISO/IEC 18974 into its existing security system.
- Background and goals of certification: KT pursued certification to strengthen its open source software security management system and increase trust within the supply chain.
- Key challenges during implementation: It was necessary to build a systematic management system to ensure open source compliance.
- Business impact and benefits after certification:
- Recognized for systematic and consistent open source software security management capability.
- Strengthened its position as a company compliant with open source security and compliance.
- Increased trust among participants within the supply chain.
- Analysis of success factors:
- Building a systematic license and security check system through an open source management portal
- Rapid resolution of legal and security issues through the formation of an in-house “OSRB” (OpenSource Review Board)
- Establishing a culture of proper open source use through continuous employee education
Key lesson: Large enterprises can achieve efficient open source management by integrating ISO/IEC 18974 with their existing security system and leveraging an in-house expert group.
7.1.3 Financial Company: KakaoBank
In November 2023, KakaoBank became the first domestic financial company to obtain ISO/IEC 18974, the international standard for open source security assurance. This case shows how ISO/IEC 18974 is implemented at a financial company that requires a high level of security.
- Background and goals of certification: The need to build a systematic management system emerged as the company actively used open source to provide world-class financial services quickly and efficiently.
- Key challenges during implementation: The company had to meet more than 30 security certification requirements, including establishing open source policy and processes, building a compliance system, securing expertise in the responsible organization and personnel, and conducting in-house employee education.
- Business impact and benefits after certification: The company’s open source use and security management capability were internationally recognized, and it was recognized as a company with systematic and consistent open source security management capability. It gave customers confidence that the company could provide safer financial services.
- Analysis of success factors: The company formed an open source expert council (OSRB) to jointly discuss open source-related issues and built a system to manage licenses and security vulnerabilities in advance.
Key lesson: Financial companies must build a systematic open source management system and secure expertise through an expert council to meet high-level security requirements.
7.1.4 SME: (Hypothetical case) IT Solution Provider “TechSolution”
TechSolution is a small and medium-sized IT solution provider developing cloud-based services. TechSolution pursued ISO/IEC 18974 certification to safely protect customer data and secure a competitive advantage.
- Background and goals of certification: TechSolution set a goal of obtaining ISO/IEC 18974 certification to strengthen the security of its cloud-based services, increase customer trust, and create new business opportunities.
- Key challenges during implementation: The main challenge was meeting ISO/IEC 18974 requirements with a limited budget and personnel.
- Business impact and benefits after certification:
- Improved the security level of cloud-based services and was able to safely protect customer data.
- Improved customer trust, strengthening relationships with existing customers and succeeding in attracting new customers.
- Improved company image and secured a competitive advantage by promoting the ISO/IEC 18974 certification.
- Analysis of success factors:
- Strengthened cooperation between the existing development team and security team, and clarified responsibilities and roles by designating an open source security lead.
- Reduced initial investment costs and increased management efficiency by using cloud-based SBOM generation and vulnerability scanning tools.
- Systematically implemented ISO/IEC 18974 requirements with the help of an outside consulting firm and gained know-how for obtaining certification.
Key lesson: SMEs can efficiently use limited resources and successfully obtain ISO/IEC 18974 certification with the help of outside experts.
7.1.5 Startup: (Hypothetical case) AI-based Service Development Startup “AIBrain”
AIBrain is an early-stage startup developing AI-based services. AIBrain emphasizes innovative technology and rapid development speed as its strengths, but also has concerns about security issues.
- Background and goals of certification: AIBrain expected ISO/IEC 18974 certification to strengthen security throughout the development process and have a positive impact on attracting investment and forming partnerships.
- Key challenges during implementation: As an early-stage startup, it lacked security-specialized personnel, and it was difficult to meet ISO/IEC 18974 requirements without slowing down development speed.
- Business impact and benefits after certification:
- A security-conscious development culture took root, improving the security of the product.
- Demonstrated security capability to investors and partners, succeeding in attracting investment and forming partnerships.
- Improved company image and secured a competitive advantage by promoting the ISO/IEC 18974 certification.
- Analysis of success factors:
- Integrated security checks into the development process and actively used automated security tools to maintain development speed while strengthening security.
- Reduced security infrastructure build costs by using a cloud-based development environment.
- Effectively implemented ISO/IEC 18974 requirements using materials and guidelines provided by the OpenChain Project.
Key lesson: Startups can implement ISO/IEC 18974 cost-effectively by integrating security into the development process and using a cloud-based environment.
Table 7.1: Summary of ISO/IEC 18974 Certification Cases by Company Size
| Company Size | Company | Key Characteristics | Key Success Factors |
|---|---|---|---|
| Global software company | openEuler | Large-scale open source project | Community cooperation, security-centered culture |
| Large enterprise | KT | Integration with existing security system | Use of in-house experts, systematic management system |
| Financial company | KakaoBank | High security requirements | Use of expert council, systematic management system |
| SME (hypothetical) | TechSolution | Limited resources | Cloud-based tools, use of outside experts |
| Startup (hypothetical) | AIBrain | Rapid development speed | Security integration into the development process, cloud use |
This table summarizes ISO/IEC 18974 certification cases by various company sizes. Organizations can refer to cases that match their own size and characteristics to establish an implementation strategy.
7.2 Key Strategies for Successful Implementation
The key strategies for successfully leading ISO/IEC 18974 implementation are as follows. These strategies have been validated through the case studies examined above and can be applied to an organization’s situation to maximize their effect.
7.2.1 Securing Active Support from Executive Management
- Presenting the ROI (Return on Investment) of security investment:
- Quantitatively presents the positive impact of open source security management on business continuity, customer trust, and regulatory compliance.
- Example: Uses specific figures such as “5% reduction in customer churn after obtaining ISO/IEC 18974 certification” or “30% reduction in the number of open source-related security incidents.”
- Regular status reporting and feedback:
- Reports the status of open source security to executive management monthly or quarterly and receives feedback.
- The report includes the status of the Software Bill of Materials (SBOM), the trend of vulnerability occurrence, the status of license compliance, and the results of improvement activities.
- Building an open source security culture:
- Executive management leads by emphasizing the importance of open source security and raising organization-wide awareness.
- Encourages participation in open source security-related education programs and rewards best practices.
Execution steps:
- Explains the importance of open source security to executive management and emphasizes the need to adopt ISO/IEC 18974.
- Obtains approval to establish an OSPO (Open Source Program Office) or designate an open source security lead.
- Secures a budget for open source security and supports securing the necessary tools and personnel.
7.2.2 Adopting a Phased Approach
- Gradual implementation based on priority:
- Starts with high-risk areas (e.g., externally exposed services, core business logic) and gradually expands the scope of application.
- Manages low-risk areas efficiently using automation tools.
- Maintaining momentum through quick wins:
- Sets goals that can be achieved in the short term and shares success cases to encourage participation within the organization.
- Example: “Build an SBOM generation and management system within 3 months,” “Complete vulnerability scanning for key projects within 6 months,” etc.
- Risk management and control:
- Identifies new threats through regular risk assessments and prepares appropriate response measures.
- Systematically manages open source-related risks using a risk management register.
Execution steps:
- Selects open source components related to core business logic as priority management targets.
- Introduces SBOM generation and vulnerability scanning tools to quickly generate initial results.
- Builds a regular security check and audit process to drive continuous improvement.
7.2.3 Actively Using Automation Tools
- Integrating the CI/CD pipeline:
- Integrates SBOM generation, license checking, and vulnerability scanning into the Continuous Integration/Continuous Delivery (CI/CD) pipeline to perform automated security checks throughout the development process.
- This allows developers to automatically perform security checks whenever they commit code and quickly resolve issues.
- Building a real-time monitoring and alert system:
- Builds a system that provides immediate notification when a new vulnerability is found, to support a rapid response.
- Configures notifications to be received through various channels such as Slack, email, and SMS.
- Minimizing repetitive tasks:
- Automates repetitive tasks such as license checking, SBOM generation, and vulnerability scanning to allow human resources to focus on more valuable work.
- Repetitive tasks can be minimized through script writing, API use, and automation tool configuration.
Table 7.2: Key Strategies for Successful ISO/IEC 18974 Implementation
| Strategy | Description | Execution Steps |
|---|---|---|
| Securing executive support | Emphasizing the need for security investment, raising organization-wide awareness | Presenting ROI, regular status reporting |
| Phased approach | Priority-based gradual implementation | Starting with high-risk areas, generating quick wins |
| Using automation tools | Integrating the CI/CD pipeline, real-time monitoring | Minimizing repetitive tasks, building a rapid response system |
Active support from executive management, a phased approach, and the use of automation tools are essential for successful implementation.
3.8 - 8. Conclusion and Future Outlook
8.1 The Strategic Importance of Adopting ISO/IEC 18974
ISO/IEC 18974 is an international standard for open source software security assurance, and its importance is becoming increasingly prominent in the modern software development environment. This section reaffirms the strategic importance of adopting ISO/IEC 18974 and examines the specific benefits that can be gained from it.
8.1.1 Role as a Global Standard for Open Source Security Management
ISO/IEC 18974 provides a framework for systematically managing the security of open source software. This promotes a consistent security management approach on a global scale and provides the following benefits:
- Securing international credibility: Through ISO/IEC 18974 certification, an organization’s open source security management capability can be internationally recognized.
- Promoting global collaboration: A standardized framework facilitates international collaboration and information sharing.
- Ease of regulatory compliance: Helps meet the regulatory requirements of various countries and industries.
8.1.2 Strengthening Software Supply Chain Security
Software supply chain security has become important due to the widespread use of open source components. ISO/IEC 18974 contributes to strengthening security across this supply chain:
- Managing the Software Bill of Materials (SBOM): The SBOM allows all open source components in use to be managed transparently.
- Improving the vulnerability management process: Enables the establishment of a systematic vulnerability scanning and patch management process.
- Supplier management: Provides criteria for evaluating and improving the level of open source security management of suppliers.
8.1.3 An Essential Element in the Age of Digital Transformation
As digital transformation accelerates, open source use is increasing. ISO/IEC 18974 provides the foundation for safely pursuing this digital innovation:
- Balancing innovation and security: Enables rapid innovation using open source while securing security at the same time.
- Responding to cloud-native environments: Enables management of open source security in modern architectures such as containers and microservices.
- Supporting DevSecOps: Promotes a DevSecOps culture that integrates development, security, and operations.
Table 8.1: Key Benefits of Adopting ISO/IEC 18974
| Area | Benefit | Specific Example |
|---|---|---|
| Business | Improved customer trust | 20% increase in new customer acquisition through security certification |
| Technology | Reduced vulnerability response time | Average patch application time reduced from 48 hours to 24 hours |
| Legal | Reduced regulatory compliance costs | 30% reduction in compliance-related legal costs |
| Operations | Improved development productivity | 40% reduction in development delays caused by security-related issues |
This table organizes the key benefits gained from adopting ISO/IEC 18974 by area and presents specific examples.
Adopting ISO/IEC 18974 will become a key element in raising an organization’s strategic competitiveness, beyond simply strengthening security. The next section will examine the future outlook and preparation measures based on the importance of this standard.
8.2 Summary of the Key Benefits of Adopting ISO/IEC 18974
This section summarizes, with specific cases, the key benefits an organization can gain through ISO/IEC 18974 implementation.
8.2.1 Building a Systematic Open Source Security Management System
- Establishing consistent security policy and processes: Establishes an open source security policy applied across the entire organization and builds standardized processes to ensure compliance.
- Example: Establishes a policy requiring all development teams to follow the same open source use approval procedure and use the same security tools.
- Systematic identification, tracking, and control of open source components: Uses the Software Bill of Materials (SBOM) to identify and track all open source components used within the organization, and manages security vulnerability and license information.
- Example: Builds an SBOM management system to identify and manage the version, license, and vulnerability information of open source components in real time.
- Securing transparency through Software Bill of Materials (SBOM) management: Secures transparency regarding software components and manages risk within the supply chain by generating and sharing an SBOM.
- Example: Provides an SBOM to customers or partners to increase trust in software components and to respond quickly to security-related inquiries.
8.2.2 Improving Customer Trust and Strengthening Business Competitiveness
- Securing customer trust through security certification: Externally demonstrates the organization’s open source security management capability through ISO/IEC 18974 certification and gains customer trust.
- Example: Promotes the fact of obtaining ISO/IEC 18974 certification to attract new customers and strengthen relationships with existing customers.
- Expanding business opportunities through improved trust within the supply chain: Builds trust with partners within the supply chain through ISO/IEC 18974 compliance and creates new business opportunities.
- Example: Secures a competitive advantage when a government or public institution grants bonus points to companies that have obtained ISO/IEC 18974 certification during project bidding.
- Protecting company reputation through security incident prevention: Protects the company’s reputation by managing open source security vulnerabilities in advance and reducing the likelihood of a security incident.
- Example: Minimizes the possibility of damage to company image and legal liability in the event of a data breach caused by a severe security vulnerability.
8.2.3 Reducing Security Risk and a Proactive Approach
- Preventing security incidents through early detection of and response to vulnerabilities: Uses automated vulnerability scanning tools to quickly identify known vulnerabilities in open source components and apply patches or mitigation measures.
- Example: When a new vulnerability is disclosed, identifies affected systems within 24 hours and applies a patch.
- Rapid response to new threats through continuous monitoring: Collects and analyzes the latest security threat information to build a response system for new threats.
- Example: Subscribes to a threat intelligence platform and immediately sends a notification to the relevant team when new vulnerability information is disclosed.
- Efficient management of security costs: Reduces the likelihood of a security incident through proactive security activities and reduces recovery costs when an incident occurs.
- Example: Reduces costs spent on system recovery, legal response, and customer compensation when a security incident occurs.
8.2.4 Reducing Legal Liability and Regulatory Compliance
- Reducing legal risk through open source license compliance: Complies with the license terms of open source components and minimizes the possibility of legal disputes such as copyright and patent infringement.
- Example: When using a GNU General Public License (GPL)-licensed component, complies with the source code disclosure obligation and clearly displays the relevant notices.
- Supporting compliance with data protection regulations such as the General Data Protection Regulation (GDPR) and the California Consumer Privacy Act (CCPA): Through ISO/IEC 18974, complies with privacy protection regulations and reduces legal liability in the event of a data breach.
- Example: Strengthens data encryption and access control measures when using open source components that process personal information.
- Meeting industry-specific regulatory requirements: Supports compliance with regulations applicable to specific industries such as finance and healthcare (e.g., the Payment Card Industry Data Security Standard (PCI DSS), the Health Insurance Portability and Accountability Act (HIPAA)).
- Example: For financial companies, reflects additional security requirements in policy to comply with financial security regulations.
Table 8.2: Summary of Key Benefits of Adopting ISO/IEC 18974
| Benefit | Description | Expected Effect |
|---|---|---|
| Systematic security management | Consistent policy, SBOM management, vulnerability response | Securing visibility into open source components, reducing risk |
| Improved customer trust | Obtaining certification, improved supply chain trust | Improved brand image, secured competitive advantage |
| Reduced risk | Proactive approach, use of threat information | Reduced security incident rate, cost savings |
| Reduced legal liability | License compliance, regulatory response | Prevention of legal disputes, reduced compliance costs |
This table summarizes the key benefits that can be gained through the adoption of ISO/IEC 18974. Organizations can use these benefits to evaluate the feasibility of adopting ISO/IEC 18974 and establish an implementation plan.
8.3 Future Outlook for ISO/IEC 18974 and Organizational Preparation
As the importance of open source security continues to increase, the role and importance of the ISO/IEC 18974 standard is also expected to expand further. Organizations must prepare for these changes by strengthening their open source security management system and securing future competitiveness.
8.3.1 Expanding Importance of the Standard Due to Increased Open Source Use
The use of open source software is rapidly increasing in advanced technology fields such as cloud-native technology, artificial intelligence, and machine learning. In line with this trend, the scope of application of the ISO/IEC 18974 standard is also expected to expand.
- Expanding scope of application:
- Compliance with ISO/IEC 18974 may be required not only in existing web applications, mobile apps, and server systems, but also in various areas such as Internet of Things (IoT) devices, embedded systems, and AI/ML models.
- Industry standardization:
- There is a high possibility that industry-specific open source security standards based on ISO/IEC 18974 will be developed in specific industry fields such as finance, healthcare, and manufacturing.
- Organizations must identify and prepare for these industry-specific standards in advance.
8.3.2 Evolution of the Standard Due to the Application of New Technologies such as AI/ML
Artificial intelligence and machine learning technologies are expected to have a significant impact on open source security management. The ISO/IEC 18974 standard will also evolve in step with these changes.
- Automated vulnerability analysis and response:
- A feature that automatically analyzes vulnerabilities in open source components and suggests response measures using AI/ML technology may be included in the standard.
- Example: An AI-based vulnerability scanner automatically assesses the severity of a vulnerability and determines the priority for applying patches.
- Threat prediction and prevention:
- A feature that predicts new security threats and prevents them in advance using AI/ML technology may be added to the standard.
- Example: An AI-based threat intelligence system collects new vulnerability information in real time and notifies the organization.
8.3.3 Changes in the Global Regulatory Environment and the Strengthened Role of the Standard
Governments and international organizations around the world are strengthening regulations to strengthen software supply chain security. ISO/IEC 18974 will play an important role in responding to these changes in the regulatory environment.
- A tool for regulatory compliance:
- ISO/IEC 18974 certification can be used to demonstrate compliance with new regulations such as the Digital Operational Resilience Act (DORA) and the EU Cyber Resilience Act.
- International cooperation:
- As regulations related to cross-border data movement are strengthened, the importance of ISO/IEC 18974 as an international standard will further increase.
- Organizations can secure competitiveness in the global market through ISO/IEC 18974 compliance.
8.3.4 The Need for Response Strategies Due to the Advancement and Sophistication of Security Threats
Cyberattacks are becoming increasingly advanced and sophisticated, and attacks targeting open source components are also increasing. Organizations must establish a strong security strategy based on ISO/IEC 18974 to respond to these threats.
- Real-time threat intelligence:
- Builds an early warning system for attacks by collecting and analyzing the latest threat information in real time.
- Automated response mechanisms:
- Minimizes damage by building a system that automatically executes response measures when an incident occurs.
- Strengthening breach incident response training:
- Strengthens the response capability of organization members through regular breach incident response training.
Table 8.3: Future Outlook for ISO/IEC 18974 and Organizational Preparation
| Outlook | Organizational Preparation |
|---|---|
| Increased open source use | Expanding the scope of ISO/IEC 18974 application, securing personnel and budget |
| Application of AI/ML technology | Adopting automated security tools, training AI/ML experts |
| Changes in the regulatory environment | Learning relevant laws and regulations, building a compliance system |
| Sophistication of threats | Using threat intelligence, building an automated response system |
8.4 Recommendations for Organizations
This section presents specific recommendations that organizations should consider in order to effectively implement ISO/IEC 18974 and continuously strengthen open source security.
- Reviewing proactive adoption of ISO/IEC 18974
- Analyzing organizational size and characteristics: Carefully reviews whether to adopt ISO/IEC 18974, considering the organization’s size, industry, technology stack, and business goals.
- Phased approach: Rather than implementing all requirements at once, it can be more effective to set priorities and implement them in stages. In the early stage, focus on establishing core security policy, building the Software Bill of Materials (SBOM), and building a vulnerability scanning process.
- Securing resources: Secures the budget, personnel, and tools needed for ISO/IEC 18974 implementation. Consider seeking help from outside experts if necessary.
- Continuous improvement and monitoring the latest trends
- Regular internal audits: Operates an internal audit program to regularly check compliance with ISO/IEC 18974 and identify parts that need improvement.
- Using external evaluation: Has the open source security management system evaluated by outside security experts or certification bodies and seeks advice on the direction of improvement.
- Acquiring the latest information: Continuously identifies the latest trends related to open source security and prepares response measures for new threats.
- Uses the OpenChain Project website, security-related newsletters, and conferences.
- Expanding participation in and contribution to the open source ecosystem
- Community participation: Participates in open source projects and contributes to the open source community through code contribution, bug reporting, and documentation.
- Information sharing: Shares open source security-related experience, knowledge, and tools inside and outside the organization.
- Cooperation: Cooperates with other organizations, research institutions, and government agencies to pursue joint research and development for strengthening open source security.
- Training experts and building a cooperation network
- Training in-house experts: Develops education programs to train open source security experts and encourages employee participation.
- Supporting certification acquisition: Supports employees in acquiring security-related certifications such as SANS and ISC2 to improve their expertise.
- Using an external network: Builds a cooperation network with open source security experts, consultants, and vendors.
Table 8.4: Specific Recommendations for ISO/IEC 18974 Implementation
| Recommendation | Details | Execution Example |
|---|---|---|
| Proactive adoption review | Analyzing organizational size and characteristics, phased approach | - Phase 1: Establishing core policy, building an SBOM - Phase 2: Adopting automation tools, running education programs |
| Continuous improvement | Internal audit, external evaluation, identifying the latest trends | - Conducting quarterly internal audits - Conducting an annual external evaluation |
| Ecosystem participation | Participating in open source projects, information sharing | - Contributing code to GitHub projects - Posting security-related articles on the in-house blog |
| Training experts | Developing education programs, supporting certification acquisition | - Operating an in-house security expert training program - Supporting CISSP certification acquisition |
4 - Enterprise Open Source Compliance Guide Using OpenChain
The National IT Industry Promotion Agency (NIPA) sponsored this work, and Open UP conducted the research to produce a guide explaining what enterprises need to comply with the OpenChain specification, the international standard for open source compliance. : Enterprise Open Source Governance OpenChain 2.0 Guide
Here, we are writing the manuscript for a revised edition of this guide.
Chapter 1. What Is OpenChain?
Today, software continues to grow in scale and complexity. Developing a single piece of software can involve not only software developed in-house but also open source, third-party software3rd party software, vendor SDKs, and other software spanning the software supply chain.
If even one organization among the many in this complex software supply chain fails to comply with open source license obligations or fails to provide correct open source usage information, the company distributing the final software has no choice but to fail to meet its open source license obligations. This can result in being sued and having product sales halted.

In December 2009, there was a lawsuit related to the open source project Busybox. Busybox is open source software licensed under GPL-2.0 that is widely used in embedded systems, and 14 companies, including two Korean companies, were named as defendants in the lawsuit. What is notable about this case is that it included companies that had only distributed the product without developing it themselves, and they were still sued.
In such a complex software supply chain environment, it is very difficult for any single company to achieve perfect open source compliance on its own, no matter how excellent its processes are. Ultimately, for a company to properly carry out open source compliance, every member of the software supply chain must comply with license obligations and provide correct open source information. This kind of trust must be built across the entire supply chain.
The Linux Foundation’s OpenChain project was founded on the belief that concisely and consistently defining the key requirements companies must meet for open source compliance, and having everyone comply with them, can build trust in open source licensing across the entire software supply chain.

At an open source conference in Europe in 2016, Dave MarrDave Marr, an open source lawyer at Qualcomm, emphasized exactly this point. To raise a company’s level of open source compliance, the open source compliance level of every member within the software supply chain must be raised. He also suggested that, to achieve this, advanced companies that already have a sufficient understanding of open source and have already established policies and processes should make their assets and know-how public so that anyone could reference them. Conference attendees resonated with the idea that “open source compliance is not an area where companies can differentiate their competitive advantage. Companies want an appropriate level of risk management while investing minimal resources. That is why the more companies share their assets with one another, the more everyone can achieve compliance together with fewer resources.” That is how the OpenChain project (then called a Work Group) began, with many global companies such as Qualcomm, Siemens, Wind River, ARM, and Adobe participating.
The OpenChain project provides three main things to help companies achieve open source compliance more easily.
Let’s look at how companies can make use of each of these, one by one.
1. OpenChain Specification
The OpenChain Specification is a 10-page document that defines the key requirements for open source compliance. Version 1.0 of the OpenChain Specification was released in 2016. The OpenChain Specification is designed to be suitable for all companies regardless of their size or industry.
In April 2019, version 2.0 of the specification was released, defining six key requirements that companies must fulfill to achieve open source compliance, along with the list of evidence needed to demonstrate them.
- Establishing a Program
- Defining and Supporting Relevant Tasks
- Reviewing and Approving Open Source Content
- Creating and Delivering Compliance Artifacts
- Understanding Open Source Community Engagement
- Complying with Specification Requirements
For a company just starting out with open source compliance, a good strategy is to raise its level by meeting these OpenChain Specification requirements one by one.

In December 2020, the OpenChain Specification was officially registered as the international standard4 for open source compliance.

The OpenChain Specification, which had been the de facto standard for the past four years, was converted into the official international standard ISO/IEC 5230:2020, the first international standard to define open source compliance and process management. As a result, interest among global IT companies in complying with ISO/IEC 5230 is growing, and it is expected that more companies will require their suppliers in the software supply chain to comply with ISO/IEC 5230.
How to comply with each requirement in the OpenChain Specification is covered in detail in “Chapter 2. How to Comply with the OpenChain Specification”.
2. OpenChain Conformance Certification
If a company complies with all the requirements in the OpenChain Specification, it can be certified as having an open source program conforming to OpenChain. An open source program refers to a set of management systems, such as policies, processes, and personnel, that a company uses to carry out open source compliance activities. This section explains the certification methods and conformance declaration.
The OpenChain project proposes three certification methods.
- Self-Certification
- Independent Assessment
- Third-Party Certification
Let’s look at each method.
Self-Certification
Self-certification is the method most recommended by the OpenChain project, and it has the advantage of incurring no cost. OpenChain provides a self-certification website2 so that companies can check for themselves whether they comply with the OpenChain Specification. A company’s open source manager can sign up on the OpenChain self-certification website and start the online self-certification process. Self-certification proceeds by answering Yes/No questions, as shown below.

If a company has built a solid open source compliance system and can answer Yes to every item on the OpenChain self-certification questionnaire, it can submit these results on the websiteConforming Submission. After that, following a simple Q&A verification process from the Linux Foundation, the company can make an OpenChain conformance declaration.

Once a company makes an OpenChain conformance declaration, it is recognized as having an open source program that conforms to OpenChain, and at the same time, it can register its logo on the OpenChain project’s website.

Companies with an OpenChain conforming program are granted the right to use the OpenChain logo.

A company recognized in this way as having an OpenChain conforming program can demonstrate that it is faithfully carrying out open source compliance within the software supply chain. The OpenChain project recommends the self-certification method. For reference, most companies that have made an OpenChain conformance declaration have also adopted the self-certification method.
Through self-certification, a company can determine what is lacking and what additional activities are needed. To address these gaps, it can refer to the methods for complying with the OpenChain Specification explained in Chapter 2. Companies that lack the capacity to make these improvements on their own can consider the independent assessment method.
Independent Assessment
In an independent assessment, an independent organization external to the company inspects and evaluates the company’s open source compliance status from a fair, impartial perspective. It differs from self-certification and third-party certification in that it does not issue any certificate. A distinguishing feature of independent assessment is that it does not stop at producing an assessment report but also provides consulting to address the gaps that are identified.
Through the iterative process of receiving a fair assessment and consulting from an independent organization to raise its compliance level, and then undergoing independent assessment again, a company can refine its policies and build out its processes.

Eventually, the company reaches a level where it can obtain OpenChain certification. At that point, it can begin the process of pursuing self-certification or third-party certification. In this way, OpenChain’s independent assessment provides evaluation and consulting to raise a company’s level of open source compliance, supporting the company in obtaining an OpenChain conforming program and certification.
Companies that provide independent assessment include AlektoMetis5 and Source Code Control6, among others.
In Korea, NIPA’s Open UP7 offers a similar program free of charge to domestic companies through the Open Source Software Utilization Support Program8.

Third-Party Certification
If a company wants to demonstrate a more reliable and transparent level of open source compliance to buyers in the software supply chain, it can obtain a certificate from a third-party certification body and use it for promotion. In addition, some buyers who demand more robust reliability in open source compliance are expected to eventually require third-party certification from their suppliersSupplier.
As of April 2021, OpenChain’s authorized third-party certification bodies are ORCRO9, PWC10, and TÜV SÜD11.

These bodies provide assessments to verify an ISO/IEC 5230 conforming program and issue certificates to companies that pass.

As of April 2021, there does not yet appear to be any buyer or organization that mandatorily requires third-party certification. However, some experts in the European automotive industry predict that it will not be long before ISO/IEC 5230, like ASPICEAutomotive SPICE12 (an international standard process model for automotive software development), becomes mandatory for automotive software suppliers.
3. Documentation Resources
The OpenChain project provides a variety of documentation resources, such as policy document templates and training materials, that companies need to build a compliance program. These resources are designed to support compliance with the OpenChain Specification and general open source compliance activities, and they are provided under the CC-0 license so that anyone can use them freely.

Much of the content in this guide was also written based on materials published by OpenChain. If a company’s open source manager needs policies, processes, or training materials, we recommend checking OpenChain Resources first. These materials are also being translated into Korean and published. The OpenChain Korea Work Group13 is leading this translation work. Anyone interested can participate in the Korean translation14.
Chapter 2 explains in detail how to comply with each requirement of the OpenChain Specification.
Chapter 2. How to Conform to the OpenChain Specification
The OpenChain Specification defines the core requirements for open source compliance. A company that fully conforms to the OpenChain Specification and declares that it has an OpenChain Conformant Program can demonstrate trust within the supply chain through which it distributes its software solutions.
This chapter describes in detail the six major requirements a company must satisfy to conform to OpenChain Specification version 2.1, along with how to meet each one. Note that version 2.1 of the OpenChain Specification is the version registered as ISO/IEC 523015.
1. Program foundation
A company that develops and distributes software using open source must create policies and processes for managing open source, and allocate the personnel and resources needed for them appropriately. As mentioned in the previous chapter, an open source program refers to the set of management systems — policies, processes, personnel, and so on — that a company uses to carry out open source compliance activities, and the first requirement of the OpenChain Specification is to establish this open source program.
1-1. Policy
The first requirement is that a documented open source policy must exist. Section 3.1.1 of OpenChain Specification version 2.1 defines the requirement for the policy and its verification material as follows.
3.1.1 Policy
3.1.1 Policy
A written open source policy shall exist that governs open source license compliance of the supplied software. The policy shall be internally communicated.
Verification Material(s)
- 3.1.1.1 A documented open source policy
- 3.1.1.2 A documented procedure that makes program participants aware of the existence of the open source policy (e.g., via training, internal wiki, or other practical communication method)
A written open source policy shall exist that governs open source license compliance of the supplied software. The policy shall be internally communicated.
Verification Material(s):
- 3.1.1.1 A documented open source policy.
- 3.1.1.2 A documented procedure that makes program participants aware of the existence of the open source policy (e.g., via training, internal wiki, or other practical communication method).
Let’s look at how a company should meet this requirement, organized by the questions asked in OpenChain self-certification2.
| 1.a | Do you have a documented policy that governs open source license compliance of the Supplied Software distribution? |
|---|---|
| Do you have a documented policy that governs open source license compliance of the Supplied Software distribution? |
What must a company prepare in order to answer YES to this question? First, it must establish and document an open source policy. The open source policy includes the following:
- A policy for creating and distributing software products and services using open source
- A policy for contributing to external open source communities
- A policy for releasing the company’s own software as open source
For reference, this guide provides a sample open source policy document that satisfies the requirements of the OpenChain Specification in “Appendix 1. Sample Open Source Policy.” A company can modify this sample policy to fit its own business strategy and environment.
| 1.b | Do you have a documented procedure that communicates the existence of the open source policy to all Software Staff? (e.g., via training, internal wiki, or other practical communication method) |
|---|---|
| Do you have a documented procedure that communicates the existence of the open source policy to all Software Staff? (e.g., via training, internal wiki, or other practical communication method) |
A company must provide practical means, such as training and an internal wiki, so that all program participants are aware that an open source policy exists within the organization and can carry out the necessary activities. Here, program participants means all employees involved in developing, distributing, and contributing the company’s software, including software developers, release engineers, and quality engineers.
Many companies publish their open source policy document on an internal wiki site so that any employee can check what is needed. In addition, they make training on the open source policy mandatory during new-hire orientation, and provide periodic training to program participants every year or every two years, so that all program participants remain aware that the open source policy exists. In other words, a company must include these methods in the open source policy document, written as in the example below.
1. Training and Assessment
All participants in software distribution must take the mandatory open source
training provided on [Learning Portal] every year.
This ensures familiarity with the open source policy, related training policy, and
how to look it up. Training records are retained in [Learning Portal].
1-2. Competence
This section defines the requirement for the competence that program participants must have. Section 3.1.2 of OpenChain Specification 2.1 defines the requirement for competence and its verification material as follows.
3.1.2 Competence
The organization shall:
- Identify the roles and the corresponding responsibilities of those roles that affect the performance and effectiveness of the program.
- Determine the necessary competence of program participants fulfilling each role.
- Ensure that program participants are competent on the basis of appropriate education, training, and/or experience.
- Where applicable, take actions to acquire the necessary competence.
- Retain appropriate documented information as evidence of competence.
Verification Material(s):
- 3.1.2.1 A documented list of roles with corresponding responsibilities for the different participants in the program.
- 3.1.2.2 A document that identifies the competencies for each role.
- 3.1.2.3 Documented evidence of assessed competence for each program participant.
3.1.2 Competence
The organization shall
- Identify the roles and the corresponding responsibilities of those roles that affects the performance and effectiveness of the program;
- Determine the necessary competence of program participants fulfilling each role
- Ensure that program participants are competent on the basis of appropriate education, training, and/or experience;
- Where applicable, take actions to acquire the necessary competence; and
- Retain appropriate documented information as evidence of competence.
Verification Material(s):
- 3.1.2.1 A documented list of roles with corresponding responsibilities for the different participants in the program.
- 3.1.2.2 A document that identifies the competencies for each role.
- 3.1.2.3 Documented evidence of assessed competence for each program participant.
Let’s look at how a company should meet this requirement, organized by the questions asked in OpenChain self-certification2.
| 1.c | Have you identified the roles and the corresponding responsibilities that affect the performance and effectiveness of the Program? |
|---|---|
| Have you identified the roles and the corresponding responsibilities that affect the performance and effectiveness of the Program? |
A company must define what roles are needed for an open source program to be effective and produce results, and what responsibilities each role must carry out. The general roles typically needed for an open source program are as follows:
- Open source program manager
- Legal
- Infrastructure
- Security
- Development culture
- Quality
- Software development department
- OSPO16
- OSRB17
It is not necessary to establish all of the above roles from the outset. A company just getting started can begin with a single person serving as the open source program manager.
A document that specifies the general responsibilities for each role is provided in “Appendix 1. Sample Open Source Policy,” under “4. Roles, Responsibilities, and Competence.”
| 1.d | Have you identified and documented the competencies required for each role? |
|---|---|
| Have you identified and documented the competencies required for each role? |
Once each role and its responsibilities have been defined, a company must define the competencies required of the person filling that role. This is likewise covered in “Appendix 1. Sample Open Source Policy,” under “4. Roles, Responsibilities, and Competence,” so please refer to it.
| 1.e | Have you documented evidence of assessed competence for each Program participant? |
|---|---|
| Have you documented evidence of assessed competence for each Program participant? |
A company must designate a person responsible for each role and confirm that the designated person is qualified to perform that role on the basis of education, training, and experience. Where necessary, it must also provide training so that program participants can acquire sufficient competence. The company must then assess whether each participant has the required competence and retain the results.
- The company provides training so that each participant can acquire the necessary competence.
- It conducts an assessment based on the training content.
- The assessment results are retained by the company’s training system or HR department.
If there are hundreds or more program participants, making it difficult to provide training directly, using the company’s online training and assessment system is also a good approach.
Content such as the following can be included in the company’s open source policy to reflect this.
4. Roles, Responsibilities, and Competence
To ensure the effectiveness of this policy, the roles and responsibilities, and the
competence required of the person in charge of each role, are defined as follows.
The organization/person in charge of each role and the required competence level
are defined in "Appendix 1. Personnel in Charge."
5. Training and Assessment
All members responsible for each role defined in Section 4 must take the open
source training provided on [Learning Portal].
Training records and assessment results are retained on [Learning Portal] for at
least three years.
1-3. Awareness
Next, the OpenChain Specification requires that program participants be aware of the company’s open source policy and its implications, as follows.
3.1.3 Awareness
The organization shall ensure that the program participants are aware of:
- The open source policy
- Relevant open source objectives
- Their contribution to the effectiveness of the program
- The implications of not following the Program’s requirements
Verification Material(s):
- 3.1.3.1 Documented evidence of assessed awareness for the program participants, which should include the program’s objectives, one’s contribution within the program, and the implications of program non-conformance
3.1.3 Awareness The organization shall ensure that the program participants are aware of:
- The open source policy;
- Relevant open source objectives;
- Their contribution to the effectiveness of the program; and
- The implications of not following the Program’s requirements.
Verification material(s):
- 3.1.3.1 Documented evidence of assessed awareness for the program participants - which should include the program’s objectives, one’s contribution within the program, and implications of program non-conformance.
In this regard, the question asked in OpenChain self-certification2 is as follows.
| 1.f | Do you have evidence documenting the awareness of your personnel of the following topics? i - The open source policy and where to find it; ii - The relevant open source objectives; iii - The contributions expected to ensure the effectiveness of the Program; iv - The implications of failing to follow the Program requirements. |
|---|---|
| Do you have evidence documenting the awareness of your personnel of the following topics? i - The open source policy and where to find it; ii - The relevant open source objectives; iii - The contributions expected to ensure the effectiveness of the Program; iv - The implications of failing to follow the Program requirements. |
A company must make program participants aware of the company’s open source policy, the open source-related objectives, how participants can contribute to making the open source program effective, and the implications of failing to meet the program’s requirements. To this end, the company provides training and conducts an assessment to confirm that program participants have gained the correct awareness. The assessment results are documented and retained.
Content such as the example below can be included in the company’s open source policy for this purpose.
1. Purpose
(1) Purpose of the policy
This policy provides the following principles so that the entire organization
involved in software development, services, and distribution at the company
can make proper use of open source.
1) Principles for carrying out compliance with respect to open source licenses
2) Principles for contributing to external open source projects
3) Principles for releasing internal projects as open source
These principles give all members of the company a way to understand the value
of open source, use open source correctly, and contribute to open source
communities.
(2) Implications of non-compliance
Failure to comply with this policy may result in the following situations.
* Receiving demands for open source license compliance from outside parties.
* Being forced to release the company's source code against its wishes.
* Facing legal action from open source copyright holders.
* Being fined for copyright infringement or breach of contract, or being
ordered to stop selling products.
* Loss of the company's reputation.
* Being held liable for damages due to breach of contract with a supplier.
For these reasons, the company regards violations of the open source policy as
serious, and members or organizations that violate it may be subject to
disciplinary action.
(3) How members can contribute
All members can contribute to the effectiveness of the policy and to raising
the company's level of compliance by understanding the rationale and content
of this policy and faithfully carrying out the required activities.
A company must also establish a training and assessment policy so that program participants become aware of the open source policy. An example of this is provided in “Appendix 1. Sample Open Source Policy,” under “5. Training and Assessment.”
1-4. Program Scope
A company must decide which organizations or products within the company the open source program applies to, and a procedure is needed for making that decision. Section 3.1.4 of OpenChain Specification 2.1 defines the requirement for the program’s scope and its verification material as follows.
3.1.4 Program scope
Different programs may be governed by different levels of scope. For example, a program could govern a single product line, an entire department, or an entire organization. Accordingly, each program must precisely state its scope.
Verification Material(s):
- 3.1.4.1 A written statement that clearly defines the scope and limits of the program
3.1.4 Program scope
Different programs may be governed by different levels of scope. For example, a program could govern a single product line, an entire department or an entire organization. The scope designation needs to be declared for each program.
Verification material(s):
- 3.1.4.1 A written statement that clearly defines the scope and limits of the program.
In this regard, the question asked in OpenChain self-certification2 is as follows.
| No | Self-certification question |
|---|---|
| 1.h | Do you have a written statement clearly defining the scope and limits of the Program? |
| 1.h | Do you have a written statement clearly defining the scope and limits of the Program? |
A single open source program does not necessarily have to apply to the entire company. The scope can be set differently depending on the characteristics of each organization and product within the company. Different open source programs can apply by organization or by product. Likewise, an organization that does not distribute software at all can be excluded from the scope of the open source program. A company can define the scope and limits of the open source program clearly, taking into account the characteristics of its organizations and products, and state this in the open source policy.
| No | Self-certification question |
|---|---|
| 1.g | Do you have a process for determining the scope of your Program? |
| 1.g | Do you have a process for determining the scope of your Program? |
In addition, situations may arise in which the scope of the program must be determined or revised as the company’s organizations, products, and services change to fit the business environment. A company must prepare a process for responding to this, as in the example below.
- When starting a new project, the open source program manager determines whether that project falls within the scope of the program.
- If it is determined to fall within scope, a proposal to bring the project into the scope of the program is submitted to the OSRB17.
- If the OSRB accepts the proposal, the scope of the program is revised accordingly.
- In addition, if the open source program manager determines that a review of the program’s scope is needed, they can initiate a review of the program’s scope through the same process.
To this end, content such as the following is included in the open source policy.
2. Scope
This policy applies to the following three areas.
1) It applies to all products the company provides or distributes externally.
However, using open source solely for internal purposes is not within the
scope of this policy.
2) It applies when a member contributes to an external open source project.
3) It applies when internal code is released as open source.
The scope can be changed to fit the company's business environment, and the
procedure for doing so is as follows.
1) When the open source program manager determines that a change to the policy's
scope is needed due to changes in the company's business environment, such as
a new business or organizational restructuring, a proposal for the change is
submitted to the OSRB.
2) The OSRB approves an appropriate level of scope change.
3) The OSRB revises the open source policy to change the scope of the policy.
This guide provides an example of specifying the program scope in “Appendix 1. Sample Open Source Policy,” under “2. Scope.”
1-5. License Obligations
Using open source requires complying with the obligations imposed by each license. Section 3.1.5 of OpenChain Specification 2.1 requires a review process for determining the obligations imposed by each open source license, as follows.
3.1.5 License obligations
A process shall exist for reviewing the identified licenses to determine the obligations, restrictions, and rights granted by each license.
Verification Material(s)
- 3.1.5.1 A documented procedure for reviewing and recording the obligations, restrictions, and rights granted by each identified license
3.1.5 License obligations
A process shall exist for reviewing the identified licenses to determine the obligations, restrictions and rights granted by each license.
Verification material(s):
- 3.1.5.1 A documented procedure to review and document the obligations, restrictions and rights granted by each identified license.
In this regard, the question asked in OpenChain self-certification2 is as follows.
| 1.i | Do you have a process for reviewing open source license obligations, restrictions and rights? |
|---|---|
| Do you have a process for reviewing open source license obligations, restrictions and rights? |
To determine whether an open source component can be used, a company must first identify what license the open source it intends to use is under, and confirm the obligations that license requires. It must review and record whether open source was used, what the license is, and what obligations each license imposes. An example procedure for this is as follows.
- The open source program manager makes a preliminary assessment of the license according to the criteria defined in the open source policy.
- If there is any question, the open source program manager requests advice from an external legal expert.
- All internal and external decision results and the supporting rationale are retained.
A company’s open source program manager should prepare a summary of open source license obligations so that the obligations, restrictions, and rights granted by the major open source licenses can be easily understood, and include it in the open source policy so that anyone can view it. The License Guide18 provided by the Korea Copyright Commission can be used as a reference. The Obligations by License19 document in SK telecom’s open source guide is also a good example.
The “documented procedure to review and document the obligations, restrictions and rights granted by each identified license” required here corresponds to “Appendix 2. Sample Open Source Compliance Process,” 1. Open Source Identification Stage.
2. Relevant Tasks Defined and Supported
For an open source program to operate effectively, sufficient resources and staffing must be allocated. This section defines the requirements for this.
2-1. Access
Section 3.2.1 of OpenChain Specification 2.1 first defines the requirements and verification materials for maintaining a process that effectively responds to external inquiries.
3.2.1 Access
Maintain a process to effectively respond to external open source inquiries. Publicly identify a means by which a third party can make an open source compliance inquiry.
Verification material(s):
- 3.2.1.1 Publicly visible method that allows any third party to make an open source license compliance inquiry (e.g., via a published contact email address, or the Linux Foundation’s Open Compliance Directory).
- 3.2.1.2 An internal documented procedure for responding to third party open source license compliance inquiries.
The questions required by OpenChain self-certification2 on this topic, along with response strategies, are as follows.
| 2.a | Have you assigned individual(s) responsible for receiving external open source compliance inquiries (“Open Source Liaison”)? |
|---|---|
Customers and open source copyright holders sometimes raise open-source-related inquiries, requests, and claims with a company regarding products or services developed using open source. The main types of external inquiries and requests are as follows.
- Inquiries about whether open source is used in a specific product or service
- Requests for source code under GPL or LGPL licenses referenced in a Written Offer
- Requests to explain and disclose source code for open source found in a product but not listed in the open source notice
- Requests for missing files or build instructions for source code disclosed under obligations such as GPL or LGPL
- Requests for copyright attribution
A company must designate a person responsible for handling these external inquiries. This role is typically filled by the open source program manager.
| 2.b | Is the Open Source Liaison function publicly identified (e.g. via an email address and/or the Linux Foundation’s Open Compliance Directory)? |
|---|---|
There are cases where an external open source developer wants to contact a company’s representative to discuss an open source compliance issue but cannot find a way to reach them, and ends up filing a legal claim directly. To prevent this, a company must always publicly disclose a contact method through which a third party can make open-source-related inquiries and requests.
There are two ways a company can provide an external contact method for open-source-related inquiries: (1) publishing the email address of the company’s open source program manager, or (2) using the Linux Foundation’s Open Compliance Directory20. Another option is to include the representative email address of the company’s open source program office in the open source notice distributed with the product or service.
The Linux Foundation created the Open Compliance Directory as a space where companies can publish contact information for their open source representatives.

A company’s open source representative registers the company’s contact information using “Add an Organization.” External developers can submit open-source-compliance-related inquiries and requests through “Request a Contact.” This lets open source developers easily find the contact point information for a given company, and resolve open source compliance issues by discussing them with the company’s open source representative before resorting to a legal claim. Registering company information and a contact method in the Open Compliance Directory is one way to reduce litigation risk.
Let’s look at the next self-certification question.
| 2.c | Do you have a documented procedure that assigns responsibility for receiving and responding to open source compliance inquiries? |
|---|---|
To avoid being taken to court over an external claim, a company must respond to external inquiries and requests as quickly and accurately as possible. To this end, the company must have a process in place to respond to external open source inquiries quickly and effectively.
The following example wording can be incorporated into the open source policy to reflect the above.
1. External Inquiry Response
(1) Responsibility for External Inquiry Response
Responding to external open source compliance inquiries and requests is the
responsibility of the open source program manager.
The open source program manager may assign all or part of the handling of an
inquiry to the appropriate personnel within [Company]. Legal counsel is
consulted when necessary.
Anyone who receives an external open source compliance inquiry must notify the
open source program manager so that a prompt response can be made.
(2) Publishing Contact Information
The open source program manager publicly provides contact information so that
external parties can make open-source-related inquiries and requests.
* Provide a contact email address in the open source notice.
* Register contact information in the Linux Foundation's Open Compliance Directory.
(3) External Inquiry Response Procedure
Responding to external open source compliance inquiries quickly and accurately
significantly reduces the risk of escalation to litigation. To this end, the
company follows the external inquiry response procedure defined in the open
source compliance process when responding to external open source compliance
inquiries.
This guide also provides an example of the general procedure for responding to open source compliance inquiries in “2. External Inquiry Response Process” of “Appendix 2. Sample Open Source Compliance Process”.
2-2. Effectively Resourced
Section 3.2.2 of OpenChain Specification 2.1 defines the requirements and verification materials for resourcing the effective operation of an open source program, as follows.
3.2.2 Effectively resourced
Identify and Resource Program Task(s):
- Assign accountability to ensure the successful execution of program tasks.
- Program tasks are sufficiently resourced:
- Time to perform the tasks have been allocated; and
- Adequate funding has been allocated.
- A process exists for reviewing and updating the policy and supporting tasks;
- Legal expertise pertaining to open source license compliance is accessible to those who may need such guidance; and
- A process exists for the resolution of open source license compliance issues.
Verification material(s):
- 3.2.2.1 Document with name of persons, group or function in program role(s) identified.
- 3.2.2.2 The identified program roles have been properly staffed and adequate funding provided.
- 3.2.2.3 Identification of legal expertise available to address open source license compliance matters which could be internal or external.
- 3.2.2.4 A documented procedure that assigns internal responsibilities for open source compliance.
- 3.2.2.5 A documented procedure for handling the review and remediation of non-compliant cases.
Let’s look at each question required by OpenChain self-certification2 on this topic, along with how to satisfy it.
| 2.d | Have you documented the persons, group or function supporting the Program role(s) identified? |
|---|---|
A company must list the roles of each program participant and their corresponding responsibilities, and designate the person or organization responsible for each role. This must be documented and included in the open source policy document so that anyone can view it. See the example below.
4. Roles, Responsibilities, and Competencies
To ensure the effectiveness of this policy, the roles, responsibilities, and
competencies required of each role's owner are defined as follows.
The organization/person responsible for each role and the required competency
level are defined in [Appendix 1. Status of Personnel]. The open source
program manager periodically updates this list to reflect the company's
business situation.
Let’s look at the next self-certification question.
| 2.e | Have the identified Program roles been properly staffed and has adequate funding provided? |
|---|---|
A company must provide sufficient resources so that the open source program can function smoothly. Personnel filling each role in the program must be properly staffed, and adequate budget and working time must be guaranteed. If this is not the case, a procedure to remedy it must be in place. The following example wording can be added to the open source policy document.
4. Roles, Responsibilities, and Competencies
The head of the organization responsible for each role designates a person
within the organization and allocates the appropriate time and budget for
that person to fulfill the role. If a role's owner does not receive adequate
support while performing the role, they must raise the issue with the open
source program manager. The open source program manager discusses the
resolution with the relevant organization head. If the issue is not properly
resolved, the open source program manager may request that the OSRB resolve
it. The OSRB shares the issue with the head of the higher-level organization
and requests a resolution.
| 2.f | Is legal expertise pertaining to internal and external open source compliance identified? |
|---|---|
When a program participant needs a legal review to resolve an issue, the company must provide a way to request legal advice. This is provided primarily through the company’s in-house legal team, and for particularly contentious issues, an external law firm with open source legal expertise may be engaged. An example of the open source policy for this is as follows.
4. Roles, Responsibilities, and Competencies
(2) Open Source Program Manager
* The open source program manager provides a way for members to obtain
legal advice related to open source.
* The open source program manager decides whether to engage an external
law firm. The open source program manager evaluates and reviews the
effectiveness and appropriateness of external legal counsel annually.
For reference, the OpenChain Project provides, through its partner program, a list of global law firms that offer open-source-related legal advice.

Law firms registered as OpenChain partners meet the requirements set by the OpenChain Project, and Bae, Kim & Lee LLC is the only firm registered from South Korea.
| 2.g | Do you have a documented procedure assigning internal responsibilities for Open Source compliance? |
|---|---|
A procedure must exist for assigning internal responsibility for open source compliance. This is the role of the open source program manager, who must identify issues and appropriately assign them to the owner of each role. To this end, a company can describe this in the open source policy document as follows.
4. Roles, Responsibilities, and Competencies
(2) Open Source Program Manager
The open source program manager bears overall responsibility for the
company's open source program. To ensure open source compliance for
products and services that use open source, the manager is responsible for
the following.
* Defining the roles required for open source compliance, and designating
the organization and person responsible for each role. Consulting with
the OSRB as needed.
| 2.h | Do you have a documented procedure for handling review and remediation of non-compliant cases? |
|---|---|
When a compliance non-conformance issue is raised, a company must document a procedure for reviewing and responding to it promptly. The following example can be referenced and included in the open source policy.
1. Open Source Use
(5) Compliance Issue Remediation Procedure
When a compliance issue is raised, the open source program manager responds
promptly by carrying out the following procedure.
1. Acknowledge receipt of the inquiry and specify an appropriate resolution
time.
2. Confirm whether the issue actually points to a real problem. (If not,
notify the person who raised the issue that it is not a problem.)
3. If it is a real problem, prioritize it and decide on an appropriate
response.
4. Carry out the response and, if necessary, update the open source
compliance process accordingly.
5. Preserve the above records using Jira Tracker.
3. Open Source Content Review and Approval
3.1 BOM (Bill of Materials)
Section 3.3.1 of OpenChain Specification Version 2.1 defines the requirements and verification materials for the BOM (Bill of Materials) as follows.
3.3.1 Bill of Materials
A process shall exist for creating and managing a bill of materials that includes each open source component (and its identified licenses) from which the supplied software is comprised.
Verification Material(s):
- 3.1.1.1 A documented procedure for identifying, tracking, reviewing, approving, and archiving information about the collection of open source components from which the supplied software is comprised.
- 3.3.1.2 Open source component records for the supplied software that demonstrates the documented procedure was properly followed.
The questions required by OpenChain self-certification2 on this topic, along with response strategies, are as follows.
| 3.a | Do you have a documented procedure for identifying, tracking and archiving information about the collection of open source components from which a Supplied Software release is comprised? |
|---|---|
The most basic open source compliance activity is understanding the status of open source included in supplied software. A process must be established for identifying the open source and its licenses contained in supplied software, and for creating and managing a BOM (Bill of Materials) that holds this information. This is because knowing which open source is included in each version of supplied software is necessary to comply with the obligations each open source license requires when the software is distributed.
All open source must be reviewed and approved before being integrated into supplied software. A prior review must confirm not only the open source’s function and quality but also whether it meets sourcing and licensing requirements. This requires a request-for-review → review → approval process. Appendix 2. Sample Open Source Compliance Process describes the entire process a company follows for open source compliance. The BOM is created and managed through the steps from 1. Identification of Open Source through 6. Registration.
In addition, every step and outcome of this open source compliance process must be documented. Using an issue tracking system such as Jira or Bugzilla, rather than email, documents this process more efficiently.
| 3.b | Do you have open source component records for each Supplied Software release which demonstrates the documented procedure was properly followed? |
|---|---|
The list of open source included in supplied software must be documented and archived. SW36021, an open source project sponsored by the Eclipse Foundation, provides a feature for tracking the list of open source included per supplied software. See Appendix 3. Open Source Tools for how to use SW360.
This guide provides an example of a BOM usage policy in 6. Open Source Use under “Appendix 1. Sample Open Source Policy”.
3.2 License Compliance
Section 3.3.2 of OpenChain Specification Version 2.1 defines the requirements and verification materials for license compliance as follows.
3.3.2 License Compliance
The program shall be capable of managing common open source license use cases encountered by program participants for supplied software, which may include the following use cases (note that the list is neither exhaustive, nor might all of the use cases apply):
- Distributed in binary form;
- Distributed in source form;
- Integrated with other open source such that it triggers additional licensing obligations;
- Contains modified open source;
- Contains open source or other software under an incompatible license interacting with other components within the Supplied Software; and/or
- Contains open source with attribution requirements.
Verification Material(s):
- 3.3.2.1 A documented procedure for handling the common open source license use cases for the open source components of the supplied software.
The questions required by OpenChain self-certification2 on this topic, along with response strategies, are as follows.
| 3.c | Have you implemented a procedure that handles at least the following common open source license use cases for the open source components of each supplied Supplied Software release? i - distributed in binary form; ii - distributed in source form; iii - integrated with other open source such that it may trigger copyleft obligations; iv - contains modified open source; v - contains open source or other software under an incompatible license interacting with other components within the Supplied Software; vi - contains open source with attribution requirements. |
|---|---|
To properly comply with open source licenses, one must accurately understand the requirements of each license. However, since it is difficult for individual software developers to grasp all of this on their own, it is advisable for the open source lead to compile the requirements and precautions for common use cases of frequently used open source licenses and share them internally. For a general guide to open source licenses and a summary of license obligations, see the Open Source Software License Guide22 provided by NIPA. SK telecom’s open source license guide23, which analyzes license obligations by software use case, is also a good example.
The identification, inspection, issue-resolution, review, and approval stages of the open source compliance process in Appendix 2. Sample Open Source Compliance Process make it possible to handle common open source license use cases for the open source components of supplied software.
Source code scanning tools can be used at the identification and inspection stage. These range from free, open-source-based tools to commercial tools, and each has its own strengths, but none provides complete functionality that resolves every problem on its own. A company must therefore choose a tool suited to its product’s characteristics and requirements. Many companies use these automated source code scanning tools alongside manual review. The Linux Foundation’s FOSSology24 project is an openly released source code scanning tool that companies can use easily and free of charge. See Appendix 3. Open Source Tools for how to use it.
4. Compliance artifact creation and delivery
4.1 Compliance Artifacts
Section 3.4.1 of OpenChain Specification version 2.1 defines the following requirements and verification materials for compliance artifacts.
3.4.1 Compliance artifacts
A process shall exist for creating the set of compliance artifacts for the supplied software.
Verification Materials(s):
- 3.4.1.1 A documented procedure that describes the process under which the compliance artifacts are prepared and distributed with the supplied software as required by the identified licenses.
- 3.4.1.2 A documented procedure for archiving copies of the compliance artifacts of the supplied software - where the archive is planned to exist for a reasonable period of time (determined by domain, legal jurisdiction and/or customer contracts) since the last offer of the supplied software; or as required by the identified licenses (whichever is longer). Records exist that demonstrate the procedure has been properly followed.
3.4.1 Compliance artifacts
A process shall exist for creating the set of compliance artifacts for the supplied software.
Verification Materials(s):
- 3.4.1.1 A documented procedure that describes the process under which the compliance artifacts are prepared and distributed with the supplied software as required by the identified licenses.
- 3.4.1.2 A documented procedure for archiving copies of the compliance artifacts of the supplied software - where the archive is planned to exist for a reasonable period of time (determined by domain, legal jurisdiction and/or customer contracts) since the last offer of the supplied software; or as required by the identified licenses (whichever is longer). Records exist that demonstrate the procedure has been properly followed.
Regarding this, the questions required by OpenChain Self Certification2 and the corresponding responses are as follows.
| 4.a | Do you have a documented procedure that describes a process that ensures the Compliance Artifacts are distributed with Supplied Software as required by the Identified Licenses? |
|---|---|
| Do you have a documented procedure that describes a process that ensures the Compliance Artifacts are distributed with Supplied Software as required by the Identified Licenses? |
The previous chapter noted that the most fundamental open source compliance activity is identifying the open source components included in the supplied software. This is done precisely to correctly satisfy open source license requirements, which are at the core of open source compliance. In other words, a process must be established for creating the set of compliance artifacts for the open source components included in the supplied software.
Compliance artifacts are broadly divided into two categories.
- Open source notice: a document that provides the full text of open source licenses and copyright information
- Source code package to be disclosed: a package that collects the source code to be disclosed in order to fulfill the obligations of open source licenses—such as the GPL and LGPL—that require source code disclosure
This guide provides an example of a policy for creating compliance artifacts in 6. Open Source Usage of Appendix 1. Sample Open Source Policy.
Compliance artifacts must be provided together when the supplied software is distributed. Compliance artifacts are created and distributed through the notice, pre-distribution review, and distribution stages of Appendix 2. Sample Open Source Compliance Process.
| 4.b | Do you archive copies of the Compliance Artifacts of the Supplied Software? |
|---|---|
| Do you archive copies of the Compliance Artifacts of the Supplied Software? |
| 4.c | Are the copies of the Compliance Artifacts archived for at least as long as the Supplied Software is offered or as required by the Identified Licenses (whichever is longer)? |
|---|---|
| Are the copies of the Compliance Artifacts archived for at least as long as the Supplied Software is offered or as required by the Identified Licenses (whichever is longer)? |
When distributing supplied software, if it is difficult to include the source code package to be disclosed, this requirement can instead be satisfied by providing a written offer to supply the source code for at least three years. A written offer is typically provided through the product’s user manual, and an example is as follows.
The software included in this product contains copyrighted software that is licensed under the GPL. A copy of that license is included in this document on page X. You may obtain the complete Corresponding Source code from us for a period of three years after our last shipment of this product, which will be no earlier than 2011-08- 01, by sending a money order or check for $5 to:
GPL Compliance Division
Our Company
Any Town, US 99999Please write“source for product Y” in the memo line of your payment.
You may also find a copy of the source at http://www.example.com/sources/Y/.
This offer is valid to anyone in receipt of this information.
Therefore, compliance artifacts must be retained for at least three years, and a process for doing so must be established. Some companies build their own websites (e.g., http://opensource.lge.com/) so that external customers can download the open source notice and the source code package to be disclosed for the supplied software at any time.
5. Understanding open source community engagements
5.1 Contributions
Section 3.5.1 of OpenChain Specification version 2.1 defines the following requirements and verification materials for compliance artifacts.
3.5.1 Contributions
If an organization considers contributions to open source projects, then
- a written policy shall exist that governs contributions to open source projects;
- the policy shall be internally communicated; and
- a process shall exist that implements the policy
Verification Materials(s):
If an organization permits contributions to open source projects, then the following shall exist:
- 3.5.1.1 A documented open source contribution policy;
- 3.5.1.2 A documented procedure that governs open source contributions; and
- 3.5.1.3 A documented procedure that makes all program participants aware of the existence of the open source contribution policy (e.g., via training, internal wiki, or other practical communication method).
3.5.1 Contributions
If an organization considers contributions to open source projects, then
- a written policy shall exist that governs contributions to open source projects;
- the policy shall be internally communicated; and
- a process shall exist that implements the policy
Verification Materials(s):
If an organization permits contributions to open source projects, then the following shall exist:
- 3.5.1.1 A documented open source contribution policy;
- 3.5.1.2 A documented procedure that governs open source contributions; and
- 3.5.1.3 A documented procedure that makes all program participants aware of the existence of the open source contribution policy (e.g., via training, internal wiki, or other practical communication method).
Regarding this, the questions required by OpenChain Self Certification2 and the corresponding responses are as follows.
| 5.a | Do you have a policy that governs contributions to open source projects on behalf of the organization? |
|---|---|
| Do you have a policy that governs contributions to open source projects on behalf of the organization? |
Global software companies value not only using open source to build products and services, but also the strategic value that can be created by contributing to open source projects. However, approaching this without a sufficient understanding of the open source project ecosystem and how communities operate, and without a strategy, can unexpectedly damage the company’s reputation and create legal risk. Therefore, it is important for companies to establish a strategy and policy for participating in and contributing to open source projects.
For a policy on open source contributions, see 7. Open Source Contributions of Appendix 1. Sample Open Source Policy.
| 5.b | Do you have a documented procedure that governs Open Source contributions? |
|---|---|
| Do you have a documented procedure that governs Open Source contributions? |
If a company has a policy that permits contributions to external open source projects, it must also have a documented procedure that governs how in-house developers can contribute to external projects. The Open Source Contribution Process25 published by SK telecom is a good example.
| 5.c | Do you have a documented procedure that makes all Software Staff aware of the existence of the Open Source contribution policy? |
|---|---|
| Do you have a documented procedure that makes all Software Staff aware of the existence of the Open Source contribution policy? |
Even if an open source contribution policy has been created, it becomes useless if internal members are unaware of its existence. A procedure is needed to make all in-house developers aware of the existence of the open source contribution policy. Communicate the open source contribution policy in parallel with the open source policy communication activity described in 3.1.1.2.
6. Adherence to the specification requirements
6.1 Conformance
Section 3.6.1 of OpenChain Specification version 2.1 defines the following requirements and verification materials for conformance.
3.6.1 Conformance
In order for a program to be deemed OpenChain conformant, the organization shall affirm that the program satisfies the requirements presented in this document.
Verification Materials(s):
- 3.6.1.1 A document affirming the program specified in §3.1.4 satisfies all the requirements of this document.
3.6.1 Conformance
In order for a program to be deemed OpenChain conformant, the organization shall affirm that the program satisfies the requirements presented in this document.
Verification Materials(s):
- 3.6.1.1 A document affirming the program specified in §3.1.4 satisfies all the requirements of this document.
Regarding this, the questions required by OpenChain Self Certification2 and the corresponding responses are as follows.
| 6.a | Do you have documentation confirming that your Program meets all the requirements of this specification? |
|---|---|
| Do you have documentation confirming that your Program meets all the requirements of this specification? |
A company that satisfies all the requirements of OpenChain Specification 2.1 can notify the Linux Foundation, undergo the verification process, obtain ISO/IEC 5230 conformance certification, and declare it. If even one requirement is not met, the company cannot be considered conformant with ISO/IEC 5230.
If all the requirements of the OpenChain Specification are satisfied, this can be stated in the policy document as conformant with OpenChain, as in 10. OpenChain of Appendix 1. Sample Open Source Policy.
6.2 Duration
Section 3.6.2 of OpenChain Specification version 2.1 defines the following requirements and verification materials for duration.
3.6.2 Duration
A program that is OpenChain conformant with this version of the specification shall last 18 months from the date conformance validation was obtained. The conformance validation registration procedure can be found on the OpenChain project’s website.
Verification Materials(s):
- 3.6.2.1 A document affirming the program meets all the requirements of this document, within the past 18 months of obtaining conformance validation.
3.6.2 Duration
A program that is OpenChain conformant with this version of the specification shall last 18 months from the date conformance validation was obtained. The conformance validation registration procedure can be found on the OpenChain project’s website.
Verification Materials(s):
- 3.6.2.1 A document affirming the program meets all the requirements of this document, within the past 18 months of obtaining conformance validation.
Regarding this, the questions required by OpenChain Self Certification2 and the corresponding responses are as follows.
| 6.b | Do you have documentation confirming that your Program conformance was reviewed within the last 18 months? |
|---|---|
| Do you have documentation confirming that your Program conformance was reviewed within the last 18 months? |
It is important for a company to continue maintaining compliance activities even after declaring conformance with OpenChain. Article 3.6.2.1 of OpenChain Specification version 2.1 requires that, even after declaring OpenChain conformance, the company continue to comply with all the requirements of OpenChain Specification version 2.1 without change for at least 18 months.
A company must maintain a state of continuous conformance for at least 18 months after declaring OpenChain conformance, and if it does so, it can state in a document that it has continued to meet OpenChain for 18 months or more, as in 10. OpenChain of Appendix 1. Sample Open Source Policy.
It is also a good idea to use a website, as SK telecom does, to communicate this externally.

Appendix 1. Sample Open Source Policy
1. Purpose
(1) Purpose of the Policy(3.1.3.1)
This policy provides the following principles so that all organizations within [Company Name] Inc. (hereinafter the “Company”) involved in software development, services, and distribution can properly use open source software (hereinafter “open source”).
- Principles for performing compliance activities that take open source licenses into account
- Principles for contributing to external open source projects
- Principles for releasing internal projects as open source
These principles give every member of the Company a way to understand the value of open source, use open source correctly, and contribute to the open source community.
All members of the Company can find the open source policy at the following link on the internal wiki: [internal_link](3.1.1.1)
(2) Impact of Non-Compliance
Failing to comply with this policy can result in the following situations.
- The Company may receive external demands for open source license compliance.
- The Company may be forced to release source code it developed against its wishes.
- The Company may be sued by open source copyright holders.
- The Company may be fined for copyright infringement and breach of contract, or ordered to stop selling its products.
- The Company’s reputation may suffer.
- The Company may breach contracts with suppliers and face damage claims.
For these reasons, the Company treats violations of this open source policy seriously, and members or organizations that violate it may be subject to disciplinary action.
(3) How Members Can Contribute
All members of the Company can contribute to the effectiveness of this policy and to raising the Company’s compliance level by understanding the rationale and content of this policy and faithfully carrying out the required activities.
2. Scope(3.1.4.1)
This policy applies to the following three areas.
- Applies to [all products the Company provides or distributes externally]. However, using open source solely for internal purposes is not within the scope of this policy.
- Applies when members contribute to external open source projects.
- Applies when internal code is released as open source.
The scope may change to fit the Company’s business environment, following this procedure:
- When the Open Source Program Manager determines that a change in the policy’s scope is needed due to changes in the Company’s business environment, such as a new business or organizational restructuring, they submit a proposal for the change to the OSRB.
- The OSRB approves an appropriate level of change to the scope.
- The OSRB revises the open source policy to change its scope.
3. Terms
- BOM (Bill of Materials)
- Software distribution participant: Refers to all employees involved in the Company’s development, distribution, and contribution of software, including software developers, deployment engineers, and quality engineers.
- …
4. Roles, Responsibilities, and Competencies(3.1.2.1)
To ensure the effectiveness of this policy, the following roles, responsibilities, and the competencies required of each role’s owner are defined.
The organization/owner responsible for each role and the required competency level are defined in [Appendix 1. Role Assignments].(3.1.2.2)
- The Open Source Program Manager periodically updates this list to reflect the Company’s business situation.(3.2.2.1)
- The head of the organization responsible for each role designates an owner within the organization and allocates the time and budget needed for the owner to faithfully perform the role.(3.2.2.2)
- If an owner does not receive adequate support while performing their role, they must raise the issue with the Open Source Program Manager.
- The Open Source Program Manager discusses resolution of the issue with the relevant organization head. If it is not resolved adequately, the Open Source Program Manager may request the OSRB to resolve it.
- The OSRB shares the issue with the head of the higher-level organization and requests resolution.
(1) OSRB
The OSRBOpen Source Review Board is a body composed of the Open Source Program Manager and the heads of related organizations — such as the Legal, Patent, Development, and Infrastructure teams — formed to ensure the Company’s open source compliance.
- Creates policies and processes for open source compliance and defines the roles and responsibilities within the Company for carrying them out.
- When an open source compliance issue arises within the Company, discusses resolution options and prepares a response.
- When necessary, reports issues to executives and receives feedback on risk mitigation measures.
(2) Open Source Program Manager
The Open Source Program Manager has overall responsibility for the Company’s open source program. To ensure open source compliance for products and services that use open source, this role is responsible for the following.(3.2.2.4)
- Defines the roles needed for open source compliance and designates the organization and owner responsible for each role, consulting the OSRB as needed.
- Organizes and evaluates open source compliance training.
- Serves as chair of the OSRB and directs its activities.
- Responds to external inquiries and requests related to open source use and compliance.
- Reviews and approves requests to use open source.
- Maintains open source BOM records.
- Provides members with a way to obtain legal advice related to open source.(3.2.2.3)
- Maintains a repository for open source notices and released source code.
(3) OSPO
The OSPOOpen Source Program Office supports and fosters the growth of open source activities both inside and outside the Company.
- Establishes, improves, and disseminates the open source policy.
- Provides guidance for contributing code to external open source projects.
- Provides guidance for releasing internal projects as open source.
- Develops and operates the open source portal.
- Develops and selects open source tools.
- Sponsors open source project events.
- Manages relationships with the open source community.
(4) Legal
Legal provides advice on legal risks that may arise in the course of using open source, and on ways to mitigate them, including interpreting open source licenses and obligations.
- Provides advice on license and intellectual property issues, including conflicts arising from incompatible open source licenses.
- When contributing to external open source projects, reviews the necessary legal matters, including the open source license and any CLAContributor License Agreement.
(5) IT Infrastructure
IT Infrastructure operates and automates open source analysis tools and builds systems to ensure that license analysis is performed smoothly for all software to be distributed.
- Operates open source license analysis tools.
- Integrates with the DevOps environment to automate license analysis.
- Builds the systems and processes needed to perform license analysis on all software to be distributed.
- Obtains and maintains an open source BOM for all software to be distributed.
(6) Security
Security operates open source vulnerability analysis tools and builds systems to ensure that vulnerability analysis is performed smoothly for all software to be distributed.
- Operates open source vulnerability analysis tools.
- Integrates with the DevSecOps environment to automate open source vulnerability analysis.
- Builds the systems and processes needed to perform open source vulnerability analysis on all software to be distributed.
(7) Developer Culture
Developer Culture supports internal developers in actively using open source and participating in internal and external communities so they can adopt advanced development practices.
- Encourages participation in the open source community.
- Fosters a culture in which active participation in external open source projects is recognized as an internal achievement.
- Builds a development culture that makes the Company attractive to open source developers.
(8) Quality
The organization responsible for quality, such as QA, verifies that open source license obligations were properly fulfilled when software is distributed.
- Verifies that open source compliance activities were performed at the appropriate stage of the development process.
- Verifies that deliverables were generated as required by the open source licenses.
- Verifies that the open source notice and any source code to be released are provided together when software is distributed.
- If an issue is found, notifies the software development/distribution organization and directs it to fix the issue immediately.
5. Training and Evaluation
Every software distribution participant must complete the mandatory open source training provided on the [Learning Portal] each year. This ensures they are familiar with the open source policy, related training policies, and how to look them up. Training records are kept in the [Learning Portal].(3.1.1.2)
All members holding a role defined in Section 4 must complete the advanced open source training course provided on the [Learning Portal]. Training records and evaluation results are kept in the [Learning Portal] for at least three years.(3.1.2.3)
6. Using Open Source
Developing and distributing products and services using open source requires complying with the obligations each open source license imposes. The activities for doing so are called open source compliance.
To carry out open source compliance correctly, software development/distribution organizations must comply with the following.(3.3.1.1)
- Every step of the open source compliance process is recorded and kept in Jira Tracker.
(1) Identifying Open Source and Reviewing License Obligations
When adopting open source in product or service development, first identify what license applies to it, then review and confirm the obligations the license requires.
The Company’s [Open Source License Guide] includes a list of major open source licenses and explains, for each license, the obligations it imposes by the following distribution forms.(3.3.2.1)
- Binary form
- Source form
- Strong/weak copyleft
- SaaS-based delivery
- Whether the code was modified
- Whether attribution-required open source is included, and so on.
Software development/distribution organizations may refer to this guide when reviewing open source license obligations. If a license not covered in this guide needs to be reviewed, contact the Open Source Program Manager.
(2) License-Aware Design
Understand how open source components are combined and design the software architecture so that the Company’s own code is not affected by open source license obligations.
The Company’s [Open Source License Guide] explains the scope of source code disclosure required by each open source license and design approaches for preventing disclosure of the Company’s own code.
(3) Generating Open Source Compliance Deliverables
The most basic open source compliance activity is identifying the open source contained in software to be distributed. This is essential to properly meeting open source license requirements, which is the core of open source compliance. In other words, a set of compliance deliverables must be generated for the open source contained in software to be distributed.(3.4.1.1)
Open source compliance deliverables fall into two broad categories.
- Open source notice: a document providing the full text of open source licenses and copyright information.
- Source code package to be released: a package of source code compiled for release to fulfill the obligations of open source licenses that require source code disclosure, such as the GPL and LGPL.
To compile, distribute, and store these compliance deliverables, comply with the following.(3.4.1.2)
- Compile the open source notice or the source code package to be released as required by the conditions of each license. For example, if a license requires the full license text to be included, providing only a link is not sufficient.
- Store the compiled deliverables in a dedicated repository.
- When the source code to be released is provided under a written offer, publish a download link so the repository of compiled deliverables can be accessed externally.
The Company’s open source compliance process can be used to issue the open source notice and compile the source code package to be released.
(4) Generating an Open Source BOM (Bill of Materials)
An inventory of the open source contained in software to be distributed (BOM: Bill of Materials) must be generated and managed.(3.3.1.2)
The Company’s open source compliance process can be used, together with open source tools, to generate and retain the open source BOM.
(5) Compliance Issue Resolution Procedure
When a compliance issue is raised, the Open Source Program Manager follows the procedure below to respond promptly.(3.2.2.5)
- Acknowledge receipt of the inquiry and specify a reasonable resolution time.
- Determine whether the issue actually points to a real problem. (If not, inform the person who raised it that it is not an issue.)
- If it is a real problem, set a priority and decide on an appropriate response.
- Carry out the response and, if necessary, revise the open source compliance process accordingly.
- Record and retain the above using Jira Tracker.
7. Contributing to Open Source
The Company encourages participation and contribution to external open source projects to create business value through open source. In this process, however, care must be taken to avoid unintentionally exposing the Company’s intellectual property or infringing the rights of third parties. To that end, members of the Company must comply with the following when contributing to external open source projects.(3.5.1.1)
(1) Review Request and Approval
From a copyright standpoint, contributing to open source means granting an open source project the right to modify, use, and distribute your work. In some cases, you may even need to assign your copyright to the open source project. Generally, however, the copyright in a work created during employment belongs to the employer. That is, works created by Company members belong to the Company. If a member contributes such a work to open source on their own judgment, it can create an unnecessary copyright infringement issue.
Therefore, if you wish to contribute to an open source project, follow the review request and approval procedure defined in the open source contribution process before making your first contribution.
However, for the following simple cases, the risk of copyright infringement is low, so members may contribute at their own discretion without going through the review procedure.
- Small code snippets of 10 lines or fewer
- Questions and answers on Stack Overflow
- Maintenance activity on GitHub, such as creating issues, reviewing/approving pull requests, and the like
(2) Contribute Only Code You Have the Right to Contribute
You must contribute only code you have the right to contribute — that is, code you wrote yourself. Do not contribute a third party’s code without authorization.
(3) Caution Against Intellectual Property Exposure
Do not contribute code or documents that risk exposing the Company’s intellectual property, such as sensitive information or patents.
- If the code you intend to contribute includes a Company patent, confirm whether that patent may be contributed to the project under the open source license. If anything is unclear, contact the OSPO.
(4) Caution When Signing a CLA
Some open source projects require every contributor to sign a CLAContributor License Agreement. This is an agreement seeking contributors’ consent to reduce copyright disputes that can arise when a project manages works from many contributors. Projects led by large companies typically require a signed CLA.
CLAs vary by project but generally include agreement to the following.
- I (or my employer) have the right to contribute my contribution to the project. (That is, I am the author of the contribution.)
- I (or my employer) grant the project the right to modify, distribute, and manage my contribution.
- I (or my employer) will not revoke the granted rights.
- I (or my employer) grant the project the right to change the license in the future as needed.
In rare cases, some CLAs also require agreement to the following condition.
- I (or my employer) assign my copyright in the contribution to the project or the organization managing the project at the time of contribution.
To protect its intellectual property, the Company does not permit contributions to open source projects that require assignment of copyright. To make this determination, if the open source project a member wishes to contribute to requires a signed CLA, the member must request a review from the OSPO before signing.
(5) Copyright Notice
The intellectual property in works a member creates during their employment belongs to the Company by default. Therefore, when contributing code to an external open source project, members must include the Company’s copyright notice.
When contributing one or more files, mark the copyright and license at the top of each file as follows.
Copyright (c) {$year} {$Company}
SPDX-License-Identifier: {$SPDX_license_name}
Here, $SPDX_license_name is set according to the license policy of the open source project in question.
However, if you are only modifying existing code for purposes such as a bug fix, there is no need to add a copyright notice for that modification.
(6) Use Your Company Email
When contributing to open source projects, use your Company email rather than a personal email address. This (1) gives members a sense of responsibility for communicating with the community on the Company’s behalf, and (2) helps improve the Company’s recognition as an organization that actively contributes to the open source community.
8. Releasing Open Source
The Company values collaboration with the open source community and encourages releasing internal software as open source projects. However, there are several rules that must be followed to protect the Company’s intellectual property and prevent unintentional copyright infringement.
(1) Approval
From a copyright standpoint, releasing something as open source means granting everyone the right to modify, use, and distribute the work through an open source license. Generally, the copyright in a work created during employment belongs to the employer. That is, works created by Company members belong to the Company. If a member releases such a work as open source on their own judgment, it can create an unnecessary copyright infringement issue.
Therefore, if you wish to release software as open source, follow the review request and approval procedure set out in the Company’s open source release policy.
If anything about the release process seems undesirable, do not hesitate to contact the OSPO.
(2) Release Only Code You Have the Right to Release
One of the worst situations that can arise with an open source project is legally problematic code being included in it. Code the Company has no right to distribute, or code that infringes another company’s IP such as a patent, can create legal problems. Therefore, when preparing code for release, verify the origin of every piece of code and remove anything that could be problematic.
(3) Caution Against Intellectual Property Exposure
Do not release code or documents that risk exposing the Company’s intellectual property, such as sensitive information or patents.
If the code you intend to release includes a Company patent, confirm whether that patent may be released under the open source license. If anything is unclear, contact the OSPO.
(4) Release Useful Code
To become a successful project, the code must also be useful to others. If a similar project already exists, participate in the existing project rather than creating a new one.
The open source project you plan to release should be expected to (1) provide differentiated value to the open source community, (2) solve a problem the community has not yet solved, and (3) attract positive attention by showcasing our technical capabilities.
- Do not release code as open source if it could not be used in an actual product or service.
- Do not release code that addresses a problem the open source community has already solved. In such cases, contribute to the existing open source project instead.
(5) Secure Resources
Secure the resources needed for the project, including developers.
- In the early stages, a similar level of developer effort is needed as for a typical internal project.
- Developers are needed who can review external contributions promptly.
- The Legal and Marketing teams also have roles to play.
- Secure a budget for the infrastructure needed to maintain and manage the project. This includes tools for project hosting, such as GitHub.
If an environment with sufficient resource support cannot be established, do not release the project as open source.
(6) Use Your Company Email
When releasing open source, use your Company email rather than a personal email address. This (1) gives members a sense of responsibility for communicating with the community on the Company’s behalf, and (2) helps improve the Company’s recognition as an organization that actively releases projects to the open source community.
9. Responding to External Inquiries
(1) Responsibility for Responding to External Inquiries
The Open Source Program Manager is responsible for responding to external inquiries and requests regarding open source compliance.(3.2.1.2)
- The Open Source Program Manager may assign all or part of the handling of an inquiry to an appropriate person within the Company. When necessary, they consult Legal to handle it.
- Anyone who receives an external inquiry about open source compliance must notify the Open Source Program Manager so a prompt response can be made.
(2) Publishing Contact Information
The Open Source Program Manager publicly provides contact information so external parties can make open source-related inquiries and requests.(3.2.1.1)
- Provide a reachable email address in the open source notice.
- Register contact information with the Linux Foundation’s Open Compliance Directory.
(3) External Inquiry Response Procedure
Responding to external open source compliance inquiries promptly and accurately can greatly reduce the risk of escalation to litigation. To that end, the Company follows the external inquiry response procedure defined in its open source compliance process when responding to external open source compliance inquiries.(3.2.1.2)
10. OpenChain
The Company supports the spirit of the Linux Foundation’s OpenChain project and actively participates in it to improve the level of open source compliance across the software supply chain.
- By applying this open source policy, the Company ensures conformance with ISO/IEC 5230:2020 as of October 1, 2021.(3.6.1.1)
- The Company ensures that it meets all requirements of OpenChain Specification version 2.1, ISO/IEC 5230:2020, for at least 18 months after obtaining conformance certification.(3.6.2.1)
- The Company reviews conformance at intervals of at least 18 months and revises and updates the policy as needed.
Appendix 1. Role Assignments
| No | Role | Responsibility | Required Competency | Responsible Organization | Owner |
|---|---|---|---|---|---|
| 1 | Open Source Program Manager | Has overall responsibility for the Company’s open source program. | 1. Understanding of the software development process 2. Understanding of intellectual property related to open source licenses, including copyright and patents 3. Expert knowledge of open source compliance 4. Open source development experience 5. Communication skills | CTO | [Name] |
| 2 | Legal | Interprets open source licenses and obligations. Provides advice on mitigating legal risks that may arise in using open source, including fulfilling those obligations. | 1. Basic knowledge of the open source ecosystem 2. Expert knowledge of software copyright 3. Expert knowledge of open source licenses | Legal Team | [Name] |
| 3 | Infrastructure | Operates and automates open source analysis tools and builds systems to ensure license analysis is performed smoothly for all software to be distributed. | 1. Basic knowledge of the open source compliance process 2. Understanding of open source license analysis tools 3. Expert knowledge of IT infrastructure | IT Infrastructure Team | [Name] |
| 4 | Security | Operates open source vulnerability analysis tools and builds systems to ensure vulnerability analysis is performed smoothly for all software to be distributed. | 1. Basic knowledge of the open source compliance process 2. Understanding of open source license analysis tools 3. Expert knowledge of security | Security Team | [Name] |
| 5 | Developer Culture | Supports internal developers in actively using open source and participating in internal and external communities to adopt advanced development practices. | 1. Understanding of the software development process 2. Basic knowledge of open source compliance 3. Understanding of the open source policy | DR | [Name] |
| 6 | Development Team | Software development/distribution organizations comply with the open source policy and process for the proper use of open source. | 1. Understanding of the software development process 2. Basic knowledge of open source compliance 3. Understanding of the open source policy 4. Basic knowledge of open source licenses | Development Team | All members |
Appendix 2. Sample Open Source Compliance Process
Company OOO (hereinafter referred to as the “Company”) actively uses open source software (hereinafter “open source”) while developing products and services that include software. The Company must carry out activities to comply with the obligations imposed by open source licenses when distributing software, and this is called open source compliance.
1. Process for Software Product Development/Distribution
The open source compliance process defines the procedures that must be followed at each development stage for the Company to comply with open source license obligations while developing and distributing software products and services. All members involved in software product development/distribution follow the following 10-step open source compliance process.

1. Identification of Open Source
The development department follows the items below during the software design stage.
- While designing software, identify predictable open source usage and check the licenses.
- Check the obligations for each open source license. The obligations for each license can be found in the Company’s Open Source License Guide.
- Design the software considering the source code disclosure scope of each open source license.
The open source program manager writes and publishes a guide on the obligations, restrictions, and rights of major open source licenses so that development departments across the Company can refer to it.
The development department marks copyright and license notices in the source code according to Company rules. The Company’s rules for copyright and license notices in source code can be found on the following page. : (insert_link)
When the development department considers adopting new open source, it first identifies the license. It checks the license obligations, restrictions, and rights according to the Company’s Open Source License Guide. If the license is not covered in the Company’s Open Source License Guide, it inquires with the open source program manager about whether adoption is possible and any precautions. The inquiry is made by creating a Jira Ticket.
The open source program manager analyzes the open source license obligations and provides guidance to the software development organization.
- If there is any question, request advice from the legal department to provide clear guidance.
- Reflect newly analyzed license information in the company-wide license guide.
2. Auditing Source Code
The development department provides the source code as instructed by the infrastructure team and requests an open source check.
The infrastructure team performs the open source check using an open source analysis tool and generates the open source BOM.
The open source program manager reviews whether the open source license obligations can be complied with and whether there are open source license conflicts, and if there are issues, requests the development department to resolve them. Issues are created as Jira Tickets and assigned to the development department.
3. Resolving Issues
The development department resolves all problems found during the source code audit stage. It takes actions such as removing the open source in question or replacing it with open source under a different license.
Once the development department resolves all issues found, it resolves the Jira Ticket issue and requests a re-review.
4. Reviews
The open source program manager reviews whether all issues have been properly addressed. If necessary, it performs the source code audit again using the open source analysis tool.
5. Approval
The open source program manager gives final approval or rejection as to whether the open source compliance procedure was properly carried out. In case of rejection, it explains the reason and proposes a way to fix it to the development department.
6. Registration
The open source program manager finalizes the BOM for tracking the open source usage list by software version.
The infrastructure team registers the finalized BOM in the system. The BOM includes the list of open source included in the distributed software and the following information.
- Product (or service) name and version of the distributed software
- Open source list
- Open source name / version
- Open source license
7. Notices
The open source program manager creates open source notices to comply with the notice obligation. The open source notices include the following.
- Open source contact for open source-related inquiries
- Notice content for each open source
- Copyright
- Open source license name
- Open source license copy
- (if applicable) Written Offer for obtaining a copy of the source code
The open source program manager creates the open source notices and delivers them to the development department. If source code disclosure is required, it guides the development department on how to collect the source code to be disclosed.
The development department includes the open source notices with the product at the time of distribution. For products with a screen, it ensures the user can check the notices through a menu. (e.g., App > Menu > Settings > Copyright Information > Open Source Licenses)
If the development department has used open source under a license that requires source code disclosure, such as GPL or LGPL, it checks the scope of source code disclosure required and collects the source code to be disclosed.
- The source code collected to comply with obligations under licenses such as GPL and LGPL must match the source code that makes up the binary included in the product. That is, building the collected source code must produce the same binary as the one included in the product.
8. Pre-Distribution Verifications
The development department submits the following deliverables to demonstrate that the open source compliance activities were properly performed.
- The final open source notices included in the product
- Materials confirming that the open source notices are included in the product (e.g., a screenshot showing the open source notices)
- (if applicable) Source code to be disclosed (submitted compressed into a single file)
The open source program manager reviews the materials submitted by the development department to check for any issues.
9. Distribution
The open source program manager submits the compliance deliverables submitted by the development department to the infrastructure team.
The infrastructure team registers the compliance deliverables on the Company’s open source distribution site.
10. Final Verifications
The open source program manager performs a comprehensive check, such as confirming that the compliance deliverables were registered without issue on the Company’s open source portal and that they can be downloaded from outside without issue.
2. External Inquiry Response Process
Responding to external open source compliance inquiries quickly and accurately can greatly reduce the risk of the matter escalating to litigation. To this end, the Company follows the process below for responding to external open source compliance inquiries.

1. Acknowledge
The open source program manager notifies the requester immediately upon receiving an inquiry that it has been received. At this time, it also informs the requester of the expected resolution date. Since it is important to accurately understand the requester’s intent, if the inquiry is unclear, it requests additional clarification.
The main types of inquiries and requests that require a response are as follows.
- Inquiries about whether open source is used in a specific product or service
- Requests for source code under GPL or LGPL licenses mentioned in a Written Offer
- Requests for an explanation and source code disclosure for open source found in the product but not listed in the open source notices
- Requests for missing files and build instructions for source code disclosed under obligations such as GPL or LGPL
- Requests for copyright notices
The open source program manager creates a Jira Issue for the received request and records the entire response process in detail.
2. Inform
The open source program manager informs the requester that the Company is faithfully carrying out open source compliance and that the requester’s inquiry is being investigated. It is good practice to notify the requester whenever there is an update on the progress of the internal investigation.
3. Investigate
The open source program manager conducts an internal investigation into the request. It checks whether the compliance process was properly carried out for the product version in question through the BOM and documented review history. If necessary, it requests advice from the legal department.
If the matter requires confirmation from a specific development department, the open source program manager requests the development department to investigate. The development department that receives the investigation request immediately checks whether there is a problem with the compliance deliverables and reports the results to the open source program manager.
4. Report
The open source compliance officer completes the internal investigation within the expected resolution date and informs the requester of the results.
- If the requester’s inquiry was a mistaken claim due to a misunderstanding, the Company informs the requester of this without further action and closes the matter.
- If the problem is confirmed, the Company informs the requester of the correct method and timing for fulfilling the obligations of the relevant open source license.
5. Rectify
If an actual compliance problem is found during the internal investigation, the relevant development department carries out all procedures necessary to resolve the compliance problem.
6. Report
Once the problem is resolved, the Company immediately notifies the requester and provides the best available means to confirm that the problem has been resolved.
7. Improve
If there was a compliance problem, the case is reviewed at an OSRB meeting to identify how the problem occurred, and the process is improved so that the problem does not recur.
Appendix 3. Open Source Tools
Open source compliance activities require not only policies, processes, and training materials but also various tools and systems for source code scanning, dependency analysis, open source BOM management, and more. For this reason, many companies invest significant resources in adopting and operating such tools and systems. Companies that are just starting out with open source compliance in particular face difficulties not only in terms of process but also cost.
To address this difficulty, the Open Source Tooling Group26 was launched in June 2019, led by open source compliance tooling experts from companies participating in the OpenChain project, including Siemens, Bosch, Toshiba, Fujitsu, and Hitachi.
The Open Source Tooling Group was formed so that open source experts from various companies can work together to solve issues and share the results, reducing open source compliance costs and producing high-quality compliance deliverables.
Specifically, it aims to build an integrated (turn-key) open source tool chain using existing open source projects such as FOSSology, SW360, ORT, Software Heritage, ClearlyDefined, and SPDX, and to make it freely available for any company to use.
This section introduces FOSSology and SW360 and briefly explains how to use them.
1. FOSSology
Source code scanning tools can be used to detect the open source and license information included in software for open source compliance purposes.

The Linux Foundation’s FOSSology project developed such a scanning tool and released it as open source so that anyone can use it freely.
Key Features
FOSSology is a web-based program that lets users log in to the website and upload individual files or software packages. FOSSology detects license text and copyright information in the uploaded files. It is a good tool for developers to check what license and copyright applies to the open source they want to use. FOSSology scans every file in the open source package uploaded by the developer, automatically detects license-related text and copyright information in each file, and generates a report. For more details on FOSSology’s key features, see the following page. : https://www.fossology.org/features/
Installation
To use FOSSology within a company, a FOSSology server must be set up in-house. This requires installing FOSSology on a Linux-based server system. FOSSology can be installed in the following three ways.
- Using Docker
- Using Vagrant and VirtualBox
- Installing by building from source
This section describes the simplest method, using Docker.
FOSSology publishes a containerized Docker image through Docker Hub. : https://hub.docker.com/r/fossology/fossology
The pre-built Docker image can be run with the following command.
$ docker run -p 8081:80 fossology/fossology
The Docker image can be accessed with the following URL and account information. : http://[IP_OF_DOCKER_HOST]:8081/repo
- Username : fossy
- Passwd : fossy
For more details on installation, see the following page. : https://github.com/fossology/fossology/blob/master/README.md
Test Server
If setting up a system to install FOSSology is difficult, the test server provided by the FOSSology Project can be used. The FOSSology project provides an environment for testing. (The test server may be discontinued without notice.)
Users can access the FOSSology test server with the following account to try out FOSSology’s features.

Basic Workflow
The basic usage procedure for FOSSology is as follows.
- To check the license and copyright information of the open source to be used, compress the open source’s source code into a single file and upload it to FOSSology.
- To do this, select Menu > Upload > From File.
- Select the file to upload and click the Upload button.
- Once the upload is complete, the Job Agent automatically performs the analysis.
- The analysis status can be checked at Menu > Jobs > My Recent Jobs.
- Once the analysis is complete, the results can be checked at Menu > Browse.
- Selecting an individual file shows the license-related text detected by FOSSology.
- At Menu > Browser > select a file or directory > Copyright/Email/Url/Author, you can see the Copyright/Email/Url/Author information detected by FOSSology.
After checking whether the results analyzed by FOSSology are valid, users can exclude any incorrectly detected items from the analysis results. FOSSology calls this the Clearing process; for more details, see the following page. : https://www.fossology.org/get-started/basic-workflow/
Using the method above, you can easily check the license and copyright information of the open source you want to use.
2. SW360
Companies that develop and distribute products including open source must collect and track information such as the version and license of the open source used in each product and release version. This allows the company to carry out proper open source compliance activities.
In particular, when a security vulnerability is reported for a specific open source version in the NVD27National Vulnerability Database, if the company cannot trace which products use that version, the company will not know which products need the security patch applied, and its products will inevitably remain exposed to the security vulnerability.
As such, tracking open source information is essential. Companies build their own systems for this or purchase commercial services. SW360 is an open source project sponsored by the Eclipse Foundation that provides a web application and repository for collecting and tracking software BOM information.

Key Features
SW360 provides a web-based UI, and its key features are as follows.
- Tracking components used in products
- Security vulnerability assessment
- License obligation management
- Generating legal documents such as notices
Installation
SW360 is composed as follows.
- Frontend : Liferay-(Tomcat-)based portal application
- Backend : Tomcat-based thrift service
- Database : CouchDB
For details on the project structure and the software required for installation, see the Required software section of the README. : https://github.com/eclipse/sw360/blob/master/README.md
SW360 offers the following three installation methods. Users can choose one of these to install.
- Vagrant-based installation: Vagrant is a tool for managing virtualization instances, and sw360vagrant provides an environment for deploying SW360 all at once. : https://github.com/sw360/sw360vagrant
- The SW360 components can be installed individually. : https://github.com/eclipse/sw360
- It can be deployed via Docker. : https://github.com/sw360/sw360chores
This section introduces the Vagrant-based installation and deployment method on a CentOS 7.6 system. For more details, see the README. : https://github.com/sw360/sw360vagrant/blob/master/README.md
1) Prerequisites
To install SW360 on a vagrant box, openjdk, VirtualBox, and Vagrant must be installed. First, install openjdk 1.8.0.
$ yum install java-1.8.0-openjdk
$ java -version
openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-b12)”
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)
Install VirtualBox.
$ sudo wget https://download.virtualbox.org/virtualbox/rpm/el/virtualbox.repo -P /etc/yum.repos.d
$ sudo yum install VirtualBox-5.2
If a “kernel module is not loaded” error occurs when installing VirtualBox on CentOS 7, install kernel-devel to resolve it and then reinstall VirtualBox.
$ sudo yum install https://centos7.iuscommunity.org/ius-release.rpm
$ sudo yum install dkms
$ sudo yum install kernel-devel
# reboot
$ sudo /sbin/vboxconfig
$ systemctl status vboxdrv
● vboxdrv.service - VirtualBox Linux kernel module
Loaded: loaded (/usr/lib/virtualbox/vboxdrv.sh; enabled; vendor preset: disabled)
Active: active (exited) since Wed 2020-02-19 09:06:02 KST; 20min ago
Install Vagrant and the vagrant-aws plugin.
$ sudo yum install https://releases.hashicorp.com/vagrant/2.2.6/vagrant_2.2.6_x86_64.rpm
# Install the vagrant-aws plugin
$ vagrant plugin install vagrant-aws
Then, clone the sw360vagrant code.
$ git clone https://github.com/sw360/sw360vagrant.git
2) Downloading Dependencies
To reduce the time it takes to build the Vagrant box, download the dependency packages in advance.
$ cd sw360vagrant
$ ./download-packages.sh
This downloads the following packages into the ./shared/package folder.
- Liferay 7.2.1 CE GA2 with Tomcat (9.0.17)
- Postgresql-42.2.9 ODBC client for Java as *.jar file
- 11 *.jar files required by SW360
- Thrift 0.11
- A box image from Ubuntu 16.04 LTS (xenial-server-cloudimg-amd64-vagrant.box)
3) Building the Base Box
Now build the base box with the following command.
$ cd generate-box
$ ./generate_box.sh
This step can take tens of minutes.
4) Running the Box
Run the box with the following command.
# If you have built a vagrant box from this directory earlier, you will have to destroy it first via
$ vagrant destroy
$ cd ../sw360-single
$ vagrant up
Running the box configures Liferay, PostgreSQL, and CouchDB. If it runs without issue, the Liferay screen can be accessed at https://localhost:8443/.
5) Deploying the SW360 Layout
The last step is to deploy the SW360 layout in Liferay. This step is not yet automated and must be performed manually by an administrator. Access https://localhost:8443/ and log in with the following account.
- id : setup@sw360.org
- pw : sw360fossy
Then follow the instructions on the following site to deploy the layout. https://github.com/eclipse/sw360/wiki/Deploy-Liferay7
Once the deployment is complete, you will see a screen like the following.
Basic Workflow
1) Registering Licenses
When SW360 is first installed, commonly used open source licenses must be registered first. A license includes the following information.
- Full Name
- Short Name
- License Type
- GPL-2.0 Compatibility (e.g., yes, no)
- License Text
Selecting Menu > Licenses > Add License opens the Create License screen shown below.
Registering licenses one by one this way can be quite tedious. Fortunately, SW360 provides a function to import the SPDX License List all at once. Click Menu > Admin < Import SPDX Information.
The SPDX License List will then be automatically registered. At Menu > Licenses, you can confirm that 338 licenses have been registered.
2) Registering Components and Releases
In SW360, a Component is a unit of software. This can cover various forms of software, including the following.
- Open source software
- Libraries
- 3rd party software
A Component includes the following information.
- Component Name
- Main Licenses
- Categories (e.g., Library, Cloud, Mobile, …)
- Component Type (e.g., OSS, Internal, InnerSource, Service, Freeware)
- Default Vendor
- Homepage URL
A Release is a unit that refers to one version of a Component. Accordingly, one Component can have multiple Releases. A Release is created and managed under a Component.
A Release includes the following information.
- Component Name
- Version
- License
- Download URL
- CPE ID (e.g., cpe:2.3:a:apache:maven:3.0.4)
For example, to register zlib-1.2.8, first register zlib as a Component, and then register zlib 1.2.8 as a Release. Selecting Menu > Components > Add Component opens the Create Component screen, where information about zlib can be registered.
Once the Component is created, information about the zlib-1.2.8 version can be registered at Components > Releases > Add Release.
Having registered versions 1.2.8 and 1.2.11 as separate Releases under the zlib Component, the Release Overview screen shows the following two Releases.
SW360 provides a function to import a large number of Component records at once. At Menu > Admin > Import / Export, you can enter Component information into the CSV template and import it.
Note that, as of February 2020, this function may not yet work reliably.
3) Creating a Project
A Project refers to a single product. Depending on the business type, it could be a product, a service, or software. The Components/Releases used in the product are registered and managed under a Project.
When creating a Project, the following information is registered.
- Project Name
- Version
- Project type (e.g., Product, Customer Project, Service, Internal Project, InnerSource)
A Project can be created via Menu > Projects > Add Project.
Once the Project is created, the included Releases or sub-Projects are registered. Selecting the Project at Menu > Projects lets you register Linked Projects and Linked Releases under “Linked Releases and Projects.”
The following screen shows the state after OpenSSL 1.0.1 and zlib 1.2.8 have been registered as Linked Releases in the SuperCalc Project.
4) Security Vulnerability Management
SW360 can automatically check whether there is a security vulnerability for a registered Release. To do this, SW360 provides a function to schedule periodic collection of CVE information. At Menu > Admin > Schedule, you can set the CVE SEARCH information to be collected every 24 hours.
Once this schedule is set, SW360 collects CVE information from the CVE Search site (https://cve.circl.lu/) at the scheduled time. The collected CVE information can be checked at Menu > Vulnerabilities.
Once the vulnerability information has been collected, you can check whether the created Project has any security vulnerabilities. The SuperCalc Project created above shows 85 reported security vulnerabilities.
By registering and managing software developed and distributed by a company in SW360 this way, it becomes possible to manage the risk not only of open source compliance but also of security vulnerabilities.
SW360 also provides most of its functions as a REST API in addition to the Web Interface above, enabling integration with other tools such as FOSSology. : https://github.com/eclipse/sw360/wiki/Dev-REST-API
In other words, integrating source code scanning tool analysis results into SW360 as part of DevOps, thereby automating Component and Release registration, would greatly increase efficiency.
OpenChain Specification - https://www.openchainproject.org/contribute-to-the-standard ↩︎
OpenChain Self-Certification website - https://certification.openchainproject.org/ ↩︎ ↩︎ ↩︎ ↩︎ ↩︎ ↩︎ ↩︎ ↩︎ ↩︎ ↩︎ ↩︎ ↩︎ ↩︎ ↩︎ ↩︎
OpenChain Resources - https://www.openchainproject.org/resources ↩︎
ISO/IEC 5230 : https://www.iso.org/standard/81039.html ↩︎
AlektoMetis - https://alektometis.com/, ↩︎
Source Code Control - https://sourcecodecontrol.co/ ↩︎
Open UP - https://www.oss.kr/open_up_intro ↩︎
Open Source Software Utilization Support Program - https://www.oss.kr/news/show/49e410fb-604d-4d35-ba25-8286b5f2c50d ↩︎
ORCRO- https://orcro.co.uk/ ↩︎
TÜV SÜD - https://www.tuvsud.com ↩︎
ASPICE: International standard process model for automotive software development - http://www.automotivespice.com ↩︎
OpenChain Korea Work Group - https://openchain-project.github.io/OpenChain-KWG/ ↩︎
Korean translation work - https://openchain-project.github.io/OpenChain-KWG/resource/ ↩︎
ISO/IEC 5230 - https://www.iso.org/standard/81039.html ↩︎
OSPO - Open Source Program Office ↩︎
Korea Copyright Commission License Guide - https://www.olis.or.kr/license/licenseGuide.do ↩︎
Obligations by License in SK telecom’s open source guide - https://sktelecom.github.io/guide/use/obligation/ ↩︎
Open Compliance Directory - https://compliance.linuxfoundation.org/references/open-compliance-directory/ ↩︎
NIPA Open Source Software License Guide - https://www.oss.kr/oss_license ↩︎
SK telecom Open Source License Guide - https://sktelecom.github.io/guide/use/obligation/gpl-2.0/ ↩︎
FOSSology - http://fossology.org/ ↩︎
SK telecom Open Source Contribution Process - https://sktelecom.github.io/guide/contribute/process/ ↩︎
Open Source Tooling Group - https://github.com/Open-Source-Compliance/Sharing-creates-value ↩︎
NVD : NATIONAL VULNERABILITY DATABASE - https://nvd.nist.gov/vuln ↩︎
5 - Open Source Audits in Merger and Acquisition (M&A) Transactions
This document is a translation of Open Source Audits in Merger and Acquisition Transactions: The Basics You Must Know (by Ibrahim Haddad, Ph.D., 2018), published by the Linux Foundation. The original author has not reviewed this translation. The original can be viewed at the original PDF.
In an era where software sits at the center of every deal, open source due diligence has become standard practice in mergers and acquisitions (M&A). This book covers how open source audits are conducted in M&A transactions, and what the acquirer and the target company each need to prepare.
5.1 - Chapter 1. Introduction
This document is a translation of Open Source Audits in Merger and Acquisition Transactions (by Ibrahim Haddad, 2018), published by the Linux Foundation. The original author has not reviewed this translation. The original can be viewed at the original PDF.
We live in a software-defined era. Nearly everything we do is in some way planned, shaped, analyzed, and managed by software. Under that vast software umbrella, open source software stands foremost. Companies across every industry are rushing to use, participate in, and contribute to open source in order to capture the various benefits open source projects offer. Those benefits range widely, from tapping external engineering resources that shorten time to market, to faster innovation.
This trend applies equally to corporate transactions, since nearly every technology acquisition involves software in some form. The software due diligence process, in which the acquirer comprehensively reviews the target company’s software and compliance practices, has now become standard procedure in every merger and acquisition (M&A). Open source software is commonly encountered in this process, and it presents verification challenges different from those of proprietary software.
This material looks at an overview of the open source audit process conducted in merger and acquisition (M&A) transactions.
5.2 - Chapter 2. Common Open Source Usage Scenarios
Before diving into the open source due diligence process, it helps to understand the various paths through which open source software enters the target company’s development process. This applies whether the company put open source software into its codebase knowingly or unknowingly. As with a traffic ticket, not knowing about an obligation is no excuse. It is therefore wise to understand the various ways in which software from multiple sources is used. The most common usage scenarios for open source software are incorporation, linking, and modification.
Modifying an open source component, or injecting open source code into a proprietary or third-party component, can affect how an audit service provider detects and reports that code. When working with an open source audit provider, it often helps to understand how their detection methods capture open source code.
2.1 Incorporation
A developer may use a complete open source component, or copy a portion of a component (sometimes called a snippet) into their software product. This situation can be permissible, and depending on the license of the incorporated open source code and the license of the software component it is copied into, there may be no license risk at all. In other cases, however, incorporation causes problems when the license of the copied open source code is incompatible with the license of the proprietary codebase (Figure 1).
Open source licenses carry various obligations that can affect a company’s legal liability and the proprietary nature of its own code. All incorporation therefore needs to be tracked, disclosed, and approved internally, following the same process used to track and approve third-party licensed software.

Figure 1. Incorporation: putting open source code (green) inside a different body of code (blue) (source: Linux Foundation, 2018)
Source code audits are designed to find open source that has been incorporated into a codebase without being disclosed, to prevent unpleasant surprises after an acquisition. Undisclosed incorporation becomes more likely when the target company has not received sufficient open source compliance training, or has relied on outsourced staff or interns who leave no long-term records.
Incorporation scenarios often go unnoticed when a person looks through the source code directly, but a source code scanning tool with the ability to find and match snippets can readily surface them.
2.2 Linking
Linking is a common scenario that arises, for example, when using an open source library. In this scenario, a developer links an open source software component with their own software component (Figure 2). Various terms refer to this scenario: static/dynamic linking, combining, packaging, and creating interdependencies. Libraries are usually included at the top of a file, and linked code tends to reside in a separately named directory or file, which makes linking relatively easy to detect when scanning source code visually.

Figure 2. Linking: connecting open source code (green) to a different body of code (blue) while keeping them separate (source: Linux Foundation, 2018)
Linking differs from incorporation in that the source code is kept separate rather than being copied into a single combined form. The linking interaction occurs when the code is compiled into a single executable binary (static linking), or when the main program runs and calls the linked program (dynamic linking).
2.3 Modification
Modification is the scenario in which a developer changes an open source software component (Figure 3). The following actions fall into this category.
- Adding or injecting new code into an open source software component.
- Modifying, optimizing, or changing an open source software component.
- Deleting or removing code.

Figure 3. Modification: a developer adding, changing, or deleting code in open source code (green) (source: Linux Foundation, 2018)
2.4 A Note on Development Tools
It is important to know that some development tools can perform some of these actions without the user noticing. For example, a developer may use a tool that automates a specific part of the development process. Examples include graphics frameworks that provide user interface templates, game development platforms that provide physics engines, and software development kits (SDKs) that provide cloud service connectors. To deliver these services, a tool usually injects part of its own code into the developer’s output when the code is built. The license of code injected by a development tool in this way must always be verified, especially because the resulting output is often statically linked.
5.3 - Chapter 3. Open Source Audits
Every merger and acquisition (M&A) transaction differs, but the need to verify the impact of acquiring open source obligations remains constant across every deal. An open source audit is performed to understand how deeply the target uses and depends on open source software. It also provides insight into compliance issues, and further allows a look into the engineering practices of the target company.
3.1 Why Perform an Open Source Audit?
Open source licenses can impose constraints on how software is redistributed. These constraints may be incompatible with the acquirer’s business, so they need to be uncovered early. Examples of how open source software affects the acquired asset include the following.
Open source licenses typically impose obligations that must be fulfilled when distributing code. One example is the GNU General Public License (GNU GPL), which requires that derivative works or combined works also be provided under the same license. Other licenses require that specific notices be included in documentation, or place constraints on how a product may be promoted.
Failing to meet open source license obligations can lead to litigation, costly redesigns, product recalls, and reputational damage.
3.2 Should You Commission an Open Source Audit?
A frequently asked question is whether an open source audit is even necessary. The answer depends on the company, the purpose of the acquisition, and the size of the source code. For example, in a smaller acquisition, some companies choose only to review the open source bill of materials (BoM) provided by the target (assuming one is provided) and discuss open source practices with the target’s engineering leadership. Even when the purpose of the acquisition is talent acquisition, an audit can uncover undisclosed liabilities arising from past license obligations of an already-released product.
3.3 Inputs and Outputs
The audit process has one primary input and one primary output (Figure 4). The input to the process is the entire software stack subject to the ongoing merger and acquisition (M&A) transaction. This includes proprietary software, open source, and 3rd party software. The primary output at the end of the process is a detailed open source software bill of materials, which lists the following.
- All open source software used as components, their origin, and the identified license
- All open source snippets used in proprietary or 3rd party software, their source component, and the identified license

Figure 4. Inputs and outputs of the due diligence process. The full software stack, consisting of proprietary software, 3rd party software, and open source software, is taken as input, and after source code scanning and identification, an open source software bill of materials (BoM) is produced as output (source: Linux Foundation, 2018)
5.4 - Chapter 4. Estimating Audit Scope
The size, scope, and cost of an audit vary by transaction, and generally increase as the size and complexity of the source code grow. To provide an estimate (cost and duration) for an open source audit, the auditor needs to gain some understanding of the codebase’s size and characteristics, as well as the project’s urgency.
The first questions an auditor asks relate to code metrics: the size of the source codebase, the number of lines of source code, and the number of files to be audited. The auditor also asks whether the codebase consists solely of source code, or whether it also includes binary files, configuration files, documentation, and other file types. Knowing the file extensions subject to audit can also be helpful to the auditor.
Mature companies generally keep records of the open source components and versions used in their products and projects. This information greatly helps the auditor gauge the expected workload.
Because discussions of audit cost occur early in the process based on size and scope, the acquirer may not have access to all the information described above. At a minimum, the auditor needs to know the number of files to be scanned before proceeding, and any additional information helps refine the estimate further. Once the auditor has gathered enough information to understand the scope of work, urgency also needs to be determined, since it significantly affects the cost of the audit.
5.5 - Chapter 5. Audit Methods
When performing an open source audit, certain capabilities of a tool provide real value to the acquiring company. One of the most important is the ability to find open source code snippets mixed into the target company’s proprietary code, and vice versa. Another is the ability to automatically filter false positives from audit results, minimizing the amount of manual work required.
There are three audit methods.
- Traditional audit. The auditor has full access to all code and performs the audit remotely or on site.
- Blind audit. The auditor performs the work remotely without ever seeing the source code.
- Do-it-yourself (DIY) audit. The target company or acquiring company uses a tool to perform most of the actual audit work themselves, with the option for the audit firm to randomly verify the results.
5.1 The Traditional Audit Method
This method is called traditional because it is the original way of scanning source code for open source compliance. In a traditional audit, a compliance auditor from a third-party audit firm accesses the source remotely through a cloud system, or by visiting the site directly, and then performs a source code scan.

Figure 5. The traditional audit procedure in a merger and acquisition (M&A) transaction (source: Linux Foundation, 2018)
Figure 5 shows the audit procedure under the traditional audit method. Note that this procedure can vary slightly by service provider. A typical traditional audit procedure follows these steps.
- The auditor sends questions to the acquiring company to better understand the work.
- The acquiring company answers, helping the audit firm better grasp the scope and audit parameters.
- The auditor provides a quote based on the answers.
- The quote is agreed upon. Next, the parties sign a service agreement, a statement of work, a non-disclosure agreement, and so on. (The “Start” in Figures 5, 6, and 7 assumes the point at which all agreements have been signed, i.e., when the audit procedure actually begins.)
- The auditor is granted access to the target’s code, either through a secure cloud upload or by visiting the company for an on-site audit.
- The auditor scans the target’s source code, cleans up false positives, and evaluates the results.
- The auditor generates a report and delivers it to the client.
- The results are reviewed with the auditor and questions are answered, either by call or in person.
Most audit service providers adopt this method in common. You can get multiple bids for the same audit work and pick the one that best fits your requirements. Following this model requires the target company either to transfer the code to the auditor, or to allow the auditor to visit its office and complete the work on site.
5.2 Blind Audits
The blind audit method was pioneered by FOSSID AB, headquartered in Stockholm, to address the confidentiality requirements of M&A transactions. (Here, FOSSID AB refers to the company, and FOSSID refers to the tool itself.)
This company uses its own proprietary technology to perform audits and generate reports without ever seeing the source code. Figure 6 shows the blind audit procedure used by FOSSID AB, designed to keep source code confidential in M&A transactions. One key advantage of a blind audit is that the auditor can complete the review without accessing the source code. Furthermore, with enough care from the acquiring company, it can also provide a high level of confidentiality by keeping the auditor unaware of the target’s identity. As far as the author is aware, no other company offering open source compliance services provides this audit method.

Figure 6. The blind audit procedure using FOSSID. The target company collects and sends only the digital signature of the software using a fingerprint collection tool, and FOSSID AB audits it by matching that signature against an open source database, without ever accessing the source code (source: Linux Foundation, 2018)
5.3 DIY Audits
A do-it-yourself (DIY) audit gives the acquiring company or the target company time-limited access to a compliance cloud tool so they can run the scan themselves. This allows the audit to be performed internally with full access to the knowledge base and all reporting functions. This approach is particularly attractive to companies with in-house staff experienced enough to interpret scan results and propose remediation procedures. For a company that goes through M&A procedures several times a year, it can quickly become the more cost-effective approach. The audit tool service provider can further secure the integrity of the audit by performing an independent certification to verify the results.
Figure 7 shows this audit method using FOSSID AB’s tool. This approach has several advantages. Because it uses internal resources and does not depend on the availability of a third-party auditor, the audit can begin immediately when needed. This approach can shorten the schedule and reduce external cost factors. Because the audit is performed by someone with direct access to the code, all compliance issues can be handled immediately and fixes applied right away. Finally, the audit tool provider can verify the audit to ensure accuracy and completeness. As part of its DIY service, FOSSID AB randomly verifies X percent (X is determined as part of the quote agreement) of the files the target company decides to audit.

Figure 7. The do-it-yourself (DIY) audit procedure using FOSSID. The target company performs the scan and audit itself on a time-limited instance of a dedicated web app, FOSSID AB independently verifies a portion of the audited files, and all data is deleted once the period ends (source: Linux Foundation, 2018)
5.6 - Chapter 6. Notes on the Final Report
Many audit tools can be configured to highlight potential issues. Careful review of the results may reveal that a good number of them are not real problems, but you should be prepared for a substantial amount of noise mixed in. This noise stems from things such as residual code that remains in the code tree but is not actually used. Initial reports can therefore be lengthy, and you should be prepared to invest time in filtering the report to find the real issues.
Note that reports conforming to the Software Package Data Exchange (SPDX) format are typically provided only upon request. If you want to receive a report in that format from your audit service provider, you therefore need to request it separately.
5.7 - Chapter 7. Security and Version Control
It is generally accepted that software ages like milk, not wine. And security vulnerabilities are a concern in all code, whether open source or not. However, in open source projects, these vulnerabilities are publicly exposed alongside the process of fixing them. This exposure can occur either before or after a fix is applied, and older open source code may harbor vulnerabilities that are actively exploited in the wild. Security and version control are not part of the open source compliance due diligence process, but companies that provide source code scanning services sometimes also offer a service that maps identified open source components against known open source security vulnerabilities.
5.8 - Chapter 8. Pre- and Post-Acquisition Remediation
By this point, the acquirer should have a clear understanding of how the target company uses and manages open source software, and how successfully it has met its open source license obligations. The acquirer and the target need to negotiate remediation for open source compliance issues based on this information. If issues are found in the audit, there are a few options for resolving them as part of the ongoing transaction. The first option is simply to remove the problematic code. If the open source software only plays a supplementary role to proprietary code, it can be removed entirely. Another option is to design around the problematic component, or to rewrite the code using cleanroom techniques.
If that area of code is essential or has already been distributed, the only remaining option is to bring the code into compliance. The cost of each option can be used when valuing the target. Whichever option is chosen, it is important to identify the individuals who were involved in introducing the open source code and involve them in the remediation work. They may have additional documentation or knowledge useful for resolving the issue.
5.9 - Chapter 9. Preparing for an Audit as a Target Company
Passing an open source compliance audit is not difficult, provided you are prepared. But if you only start preparing after an acquiring company has shown interest, passing becomes difficult. These activities need to proceed alongside everyday business and development activities. The goal is to track every open source component the company uses and to honor the open source license obligations that arise from using those components. These same measures also help greatly when a company becomes the subject of a corporate transaction, because they reduce the risk of unexpected problems.
9.1 Know What Is in Your Code
Knowing what is in your code is the golden rule of compliance. You need to maintain a complete software inventory of every software component, including its origin and license information. This includes software components the organization built itself, open source components, and components originating from third parties. Most important is having a process to identify and track open source components. A complex compliance program is not always necessary, but five basic elements are required: policy, process, people, training, and tools.
9.1.1 Policy and Process
An open source compliance policy is a set of rules governing the management of open source software, covering both use and contribution. Process is the detailed specification of how the company implements these rules day to day. Compliance policies and processes govern various aspects of open source software, including use, contribution, auditing, and distribution.

Figure 8. An example of an end-to-end open source compliance process, going through the stages of identification, audit, resolution, review, approval, registration, documentation, verification, and disclosure (source: Linux Foundation, 2018)
Figure 8 shows an example compliance process. It represents the various stages each software component goes through as part of due diligence while building a product or software stack.
- Identify all incoming source code.
- Audit the source code.
- Resolve issues found in the audit.
- Complete the appropriate review.
- Obtain approval for the open source usage.
- Register the open source in the software inventory.
- Update product documentation to reflect the open source usage.
- Verify all steps prior to distribution.
- Distribute the source code and perform final verification related to distribution.
The output of this process is an open source Bill of Materials (BOM). This BOM can be published together with a written offer that fulfills the legal obligations for the components it contains, along with the relevant copyright, license, and attribution notices. For a detailed discussion of the open source compliance process, refer to the free e-book Open Source Compliance in the Enterprise, published by the Linux Foundation.
9.1.2 People
At a large company, the open source compliance team is a multidisciplinary group made up of several members whose mission is to ensure open source compliance. The core team, often called the Open Source Review Board (OSRB), consists of representatives from engineering and product teams, one or more legal counsel, and a compliance officer. The extended team consists of a variety of members across departments such as documentation, supply chain, corporate development, IT, and localization, who contribute to compliance efforts on an ongoing basis. At a small company or startup, however, it can be as simple as a single engineering manager supported by legal counsel. Every company is different.
9.1.3 Training
Training is an essential component of a compliance program, helping employees clearly understand the policies governing open source software usage. The goal of providing open source and compliance training is to raise awareness of open source policy and strategy, and to build a shared understanding of the issues and facts of open source licensing. It should also address the business and legal risks that arise from including open source software in a product or software portfolio.
Both formal and informal training methods can be used. Formal methods include instructor-led training courses that require employees to pass a knowledge test to complete the course. Informal methods include webinars, brown bag seminars, and presentations delivered as part of new employee orientation sessions.
9.1.4 Tools
Open source compliance teams frequently use tools to automate source code audits, find open source code, and identify its licenses. These tools include compliance project management tools, software inventory tools, and source code and license identification tools.
9.2 Comply with Your Obligations
Whether intentionally or not, if you have shipped a product that includes open source software, you must comply with the various licenses governing those software components. This is why knowing what is in your code matters: having a complete Bill of Materials makes compliance far easier.
Complying is not a simple task, and it varies by product depending on the licenses and code structure involved. Broadly speaking, complying means the following.
- Track every use of open source software.
- Produce a finalized open source Bill of Materials for all software included in the shipping product image.
- Fulfill the obligations of the open source licenses.
- Repeat this process every time a software update is distributed.
- Respond to compliance inquiries promptly and seriously.
9.3 Use the Latest Release for Security
One benefit of a comprehensive compliance program is that it becomes easier to find and replace products containing unsafe versions of open source components. Most source code scanning tools now offer the ability to flag disclosed security vulnerabilities in outdated software components. One important consideration when upgrading an open source component is to always confirm that the component retains the same license as the previous version, since open source projects have occasionally changed licenses at a major release.
Companies are encouraged to engage with open source project communities to avoid situations where they end up using a version with a security vulnerability. Actively participating in every open source project you use is neither reasonable nor feasible, so some level of prioritization is needed to identify the most important components. The level of engagement can range from subscribing to mailing lists and joining technical discussions, to contributing bug fixes and small features, to making major contributions. At minimum, it is beneficial for a company’s developers working on a particular open source project to subscribe to and monitor that project’s mailing list to receive reports on security vulnerabilities and available fixes.
9.4 Measure Your Compliance Efforts
The easiest and most effective first step any organization can take, regardless of size, is to participate in the OpenChain Project and achieve “OpenChain Conformant” status. This is done by answering a series of questions, either online or manually. The questions used for OpenChain conformance help confirm that an organization has established a process or policy for open source software compliance. OpenChain is an industry standard similar to ISO 9001. It leaves the precise implementation of process and policy to each individual organization and focuses on the “big picture.” OpenChain conformance demonstrates that an open source compliance process or policy exists, and that additional details can be shared when a supplier or customer requests them. OpenChain is designed to build trust between organizations across global supply chains.
The Linux Foundation’s Self-Assessment Checklist is a broad checklist that covers compliance best practices as well as the elements a compliance program needs in order to succeed. Companies can use this internal self-assessment checklist to evaluate their compliance against compliance best practices.
5.10 - Chapter 10. Preparing for an Audit as the Acquirer
As the acquirer, you need to take action and make decisions before commissioning an audit, and there are additional obligations after receiving the results.
10.1 Choose the Audit Model and Auditor That Fit Your Needs
As discussed earlier, three main audit methods are available, and you need to decide which one best fits your specific situation.
10.2 Understand What Matters to You
A source code audit report can provide a substantial amount of information depending on the complexity of the code scanned. It is important to identify which licenses and use cases are considered significant.
10.3 Ask the Right Questions
An open source audit report provides a great deal of information about the target company’s source code and its associated licenses. However, clarifying or confirming compliance-related concerns requires further investigation into a number of other data points. This section summarizes what matters and offers a set of questions as a starting point for framing the questions to raise with the target company.
- Has the target company used code under a license that could jeopardize the target’s or the acquirer’s intellectual property (IP)?
- Are there any code snippets of unknown origin or unknown license?
- Are the target company’s open source compliance practices sufficiently mature and comprehensive?
- Does the target company track known vulnerabilities in its own open source components?
- When distributing its products, does the target company provide all the materials needed to satisfy open source license obligations (written offers, all required notices, and source code where applicable)?
- Does the target company’s compliance process keep pace with its development speed, so that it can meet product release schedules?
- Does the target company have a process in place to respond to source code requests in a timely manner?
10.4 Identify Items to Resolve Before Deal Execution
In some cases, an open source audit may reveal instances of licenses or compliance practices that are unacceptable to the acquirer. In such cases, the acquirer can request that these instances be mitigated as a condition of closing. For example, the target company may use a code component provided under License A, while the acquirer has a strict policy prohibiting the use of any source code licensed under License A. In such situations, both sides need to discuss the matter and find a possible resolution.
10.5 Develop a Post-Acquisition Compliance Improvement Plan
Developing a compliance improvement plan is especially important when the acquirer is a large company acquiring a small startup that will continue to operate as a subsidiary. In such situations, the acquirer often helps the target company establish formal compliance policies and processes, provides training on its own practices, and offers ongoing guidance and support.
5.11 - Chapter 11. Recommended Compliance-Related Development Practices
Detailed recommendations on how to establish development practices that support open source license compliance activities are already available in a number of publications. This chapter briefly touches on the most important of these practices. Following them can eliminate a substantial share of commonly occurring compliance issues.
11.1 Recommended Practices
- Request approval for using open source software before committing code to a product repository.
- Request approval before linking proprietary code to an open source library or vice versa, unless the license of that library code has already been pre-approved under company policy.
- For every file you modify, update a changelog with a one-line description of the date of change, the author, and the change applied.
- Document the interface between the code you write and the open source software. This helps others understand the interaction and clarify compliance-related concerns.
- Save the web page describing the license of a source code package as a PDF, to record the state of the project at the time of download.
- Keep an unmodified copy of the package, along with its license information, in a backup location.
- When upgrading an open source software component, verify that the license has not changed. Licenses can change between versions.
- Verify that the license of a source code package matches what is described on the project’s website. If there is a discrepancy, contact the project to clarify it.
11.2 Mistakes to Avoid
- Do not remove or alter existing license or copyright information. All such information must be kept intact.
- Do not rename open source components.
- Do not copy and paste open source code into proprietary or 3rd party source code, or vice versa, without prior approval.
- Do not commit open source or 3rd party source code to an internal product source tree without prior approval.
- Do not merge or mix source code that came in under different licenses without proper approval.
- Do not discuss compliance practices with individuals outside the company.
5.12 - Chapter 12. Conclusion
Open source due diligence is generally just one item on a long list of tasks that need to be completed successfully in a merger and acquisition (M&A) transaction. Even so, given the central role of software and the potential intellectual property (IP) risks involved, it remains an important aspect of the overall due diligence process. Open source due diligence may seem like a lengthy process, but it is often completed quickly when both sides are prepared and work with a responsive compliance service provider.
So how can you prepare?
If you are the target company, you can maintain proper open source compliance practices by incorporating the following items into your development and business processes.
- Identify the origin and license of all internal and external software.
- Track open source software (components and code snippets) throughout the development process.
- Perform source code review on new or updated code that goes into a build.
- Fulfill license obligations when releasing products or updating software.
- Provide open source compliance training to employees.
If you are the acquirer, you need to know what to look for and have the capability to resolve issues quickly.
- Decide with the target company on the appropriate audit method to use and the 3rd party to whom the audit will be entrusted. Note that some providers lack blind testing capability, some do not support a do-it-yourself (DIY) approach, and others lack the ability to detect code snippets.
- If possible, obtain multiple quotes for the audit and learn more about the audit service providers. This step is not just about cost; it is about securing the accurate deliverables that will help resolve your concerns. Make sure you have the internal expertise to compare each quote on an equal footing, and confirm that the quote covers all of the following audit parameters.
- Audit method, inputs and outputs
- Key points of contact at the target company and the acquirer for promptly discussing issues that arise
- Schedule and process, especially if on-site visits are involved
- Confidentiality parameters
- Code vulnerability and version control analysis
- Cost, both standard procedure and expedited processing
Open source compliance is an ongoing process. Maintaining good open source compliance practices prepares you for any situation involving a change in the ownership or management of software, such as a potential acquisition, divestiture, or product or service launch. For this reason, companies are strongly encouraged to invest in building and improving their open source compliance programs.
6 - A Practical Guide to SBOM (Software Bill of Materials)
A Software Bill of Materials (SBOM) is a formal record of what components make up a piece of software and how those components connect within the supply chain. A US executive order compares it to the ingredient list on food packaging. Just as an ingredient list is the starting point for responding to allergies, an SBOM is the data layer on which vulnerability response, license management, and asset management all rest. An SBOM is not a security tool in itself, but without one, an organization cannot immediately answer the question, “Where in our product is this library used?”
This guide covers that data layer from beginning to end. Drawing on primary sources, it explains why SBOM has moved to the forefront of regulation and procurement, what standards and identifiers underpin it, in what order organizations adopt it and with what tools they automate it, how they manage vulnerabilities and licenses, and how they share it securely across the supply chain.
Intended Audience
- Security, development, procurement, and legal staff at organizations that develop or procure software
- Practitioners who must respond to the EU Cyber Resilience Act (CRA) or US federal procurement requirements
- Teams seeking to establish supply chain transparency and open source license compliance systems
Guide Structure
The guide is divided into eight sections. The earlier sections cover concepts, standards, and regulation, while the later sections cover the practicalities of adoption and operation. You can read only the sections you need.
| Section | Content | Link |
|---|---|---|
| 1. Overview | SBOM definition, supply chain threats and benefits, levels and classification | View |
| 2. Standards and Formats | SPDX, CycloneDX, minimum elements, identifiers and licenses | View |
| 3. Regulatory Trends | United States, EU CRA, India, and Korea | View |
| 4. Adoption Roadmap | Step-by-step activities from building the foundation to operational maturity | View |
| 5. Tools and Automation | Generation, management, and scanning tools, and automation maturity | View |
| 6. Vulnerability Management | SBOM-based tracking, VEX, CSAF, the Log4j case | View |
| 7. Sharing and Governance | Access control, disclosure scope, sharing channels, roles and responsibilities | View |
| 8. Recommendations and Checklist | Key recommendations and an adoption checklist | View |
Quick Starting Points
If you already understand SBOM and are looking for where to start, see 4. Adoption Roadmap and 8. Recommendations and Checklist first. If you are deciding which format and tools to use, 2. Standards and Formats and 5. Tools and Automation are good starting points. If your goal is regulatory compliance, check the jurisdiction-specific obligations in 3. Regulatory Trends.
Sources and Editorial Basis
This guide is not a translation of any single document; it is a reconstruction that synthesizes current primary sources. It draws on the National Telecommunications and Information Administration (NTIA)’s 2021 minimum elements and its update by the Cybersecurity and Infrastructure Security Agency (CISA) — the 2024 Framing Software Component Transparency, Third Edition, and the 2025 draft revision of the minimum elements — as well as the SPDX and CycloneDX standard specifications, the EU Cyber Resilience Act (Regulation (EU) 2024/2847), and the supply chain security guidelines of India’s CERT-In and Korea. The first edition began as a translation of CERT-In’s SBOM technical guidelines; the current edition updates that framework with the sources above and broadens it to a general practitioner’s perspective.
Every factual claim is cited to a primary source, and the materials cited were accessed on June 14, 2026.
Author : Haksung Jang
6.1 - SBOM Overview
What Is an SBOM
A Software Bill of Materials (SBOM) is a machine-readable list of all the components and libraries that make up a software product, along with the dependency relationships among them. It carries over the manufacturing concept of a Bill of Materials into software. Just as a finished vehicle has a specification sheet recording which parts came from which supplier, an SBOM records which open source and commercial components, at which versions, went into an application.
Most modern software is filled more with components brought in from outside than with code written in-house. Those external components can carry vulnerabilities, come with license obligations attached, and in turn depend on still other components. An SBOM makes this chain of dependencies visible, providing a common data layer that security, license management, and asset management can all reference.
Why It Matters: The Collapse of Supply Chain Trust
Two supply chain incidents raised the SBOM onto the policy agenda. In the SolarWinds incident that came to light in December 2020, attackers poisoned the legitimate update path of the Orion software itself. A backdoor spread along with that update to the many organizations that trusted and installed it. It was a structure in which a compromise at a single point upstream in the supply chain spread across the entire downstream.
A year later, in December 2021, a remote code execution vulnerability in the Java logging library Log4j (CVE-2021-44228, commonly known as Log4Shell) was disclosed. What this incident exposed was not a breach itself but an absence of visibility. Log4j was buried deep as an indirect dependency in countless products, so few organizations could give an immediate answer to the question, “where in our products does this library exist?” If every piece of software had already had a machine-readable component list in place, determining the scope of impact would have taken a single query. This experience gave direct momentum to the SBOM agenda.
After that, the SBOM moved beyond recommendation into regulation. The United States opened a path to requiring SBOMs for software delivered to the federal government through Executive Order 14028 in 2021, and the European Union made producing an SBOM a legal obligation through the Cyber Resilience Act (CRA). The detailed regulatory landscape is covered in 3. Regulatory Landscape.
Benefits of an SBOM
The value of an SBOM is not limited to security alone. The same data — a component list — serves multiple purposes at once.
- Vulnerability management and incident response: When a new vulnerability is disclosed, affected components can be looked up immediately to set response priorities.
- Supply chain risk management: The provenance and trustworthiness of external components are assessed and reflected in procurement and supplier management.
- License compliance: Tracking the license of each component prevents obligation violations and conflicts in advance.
- Regulatory compliance: Meets transparency requirements and provides the evidence needed for regulatory reporting and audits.
- Asset management and operational efficiency: Knowing exactly what is in use makes lifecycle management easier.
Who Creates and Uses It
The value of an SBOM does not come from a single organization producing it alone; it is realized when it flows along the supply chain. The third edition of CISA’s Framing Software Component Transparency organizes the actors around an SBOM into three perspectives: producers (Produce) who make software, choosers (Choose) who select which software to use, and operators (Operate) who run it. It is common for a single organization to hold all three roles at once, as with a company that develops its own products while also bringing in external libraries and operating infrastructure.
The core of this structure is the chain of supplier-consumer relationships. When an upstream producer creates an SBOM and passes it downstream, the downstream chooser uses it to assess risk before adoption, and the operator looks up the scope of impact immediately when a new vulnerability is disclosed. What Log4Shell showed was precisely a break in this chain. Because producers had not passed along a component list, operators could not know what libraries existed in their own assets.
Interests diverge subtly across actors. Consumers want a deeper, more complete SBOM, while producers, concerned about trade secrets and attack surface exposure, want to narrow the scope of disclosure. Where regulation sets the floor of obligation, and how it adjusts the scope of disclosure, are the mechanisms that resolve this tension. Sharing and disclosure scope are covered in 7. Sharing and Governance.
The next section looks at levels and types according to the depth of information an SBOM carries.
Sources
The factual basis for this section is compiled in this guide’s background research materials. Executive Order 14028 (86 FR 26633, May 12, 2021), CVE-2021-44228 (NVD), and the third edition of CISA’s Framing Software Component Transparency (September 3, 2024) were used as primary sources. For the full set of sources, see 3. Regulatory Landscape and the bottom of each section.
6.1.1 - SBOM Levels and Classification
Not all SBOMs are the same. They are divided into levels based on how deep a dependency chain they cover, and classified based on the point in the software lifecycle at which they were created. Distinguishing these two axes makes it possible to clearly decide “which SBOM to require and which SBOM to produce.”
Levels by Depth of Information
| Level | Description |
|---|---|
| Top-Level SBOM | A summary of the components directly integrated into or used by the product. Contains essential information such as component name and version. |
| Transitive SBOM | Includes not only direct dependencies but also the indirect (transitive) dependencies that those dependencies rely on in turn. |
| n-Level SBOM | Contains information hierarchically to an arbitrary depth (N levels), beyond the top-level overview. |
| Delivery SBOM | Describes all components and libraries included in a release or distribution package. |
| Complete SBOM | A complete inventory of all components, dependencies, and metadata present in a system. |
An organization does not need to commit to a single level. A common approach is to tailor the SBOM delivered to consumers to a level that omits sensitive information while still meeting security requirements, while internally maintaining a complete-level SBOM to track vulnerability updates. This reduces the risk of exposing trade secrets and intellectual property while securing both supply chain transparency and internal resilience.
The regulatory floor for obligations is also expressed in the language of levels. The EU Cyber Resilience Act requires an SBOM that “cover[s] at the very least the top-level dependencies of the product.” There is no obligation to expand the entire dependency tree, but that is clearly the direction of recommended practice.
Classification by Point of Generation
The US CISA document Types of Software Bill of Materials (SBOM) divides SBOM into six types aligned with the stages of the Software Development Life Cycle (SDLC). For the same product, the information captured and its accuracy differ depending on when the SBOM was generated.

Figure 1. SBOM classification by SDLC stage (source: CISA, Types of Software Bill of Materials (SBOM), 2023)
- Design SBOM: Records the components planned at the design stage, before the components actually exist.
- Source SBOM: Reflects the development environment and contains source files and dependencies.
- Build SBOM: Generated during the build process and includes information on source, dependencies, and pre-built components.
- Analyzed SBOM: Generated by inspecting the final artifact after the build.
- Deployed SBOM: A list of software installed and configured on a specific system, taking the deployment environment into account as well.
- Runtime SBOM: Monitors components while running, capturing dynamically loaded dependencies and external interactions as well.
The Build SBOM, generated at build time, is the most widely recommended in terms of accuracy and automation, because it records exactly what the build tool actually assembled. Generation timing and automation are covered in detail in 5. Tools and Automation.
Sources
CISA (2023). Types of Software Bill of Materials (SBOM). https://www.cisa.gov/resources-tools/resources/types-software-bill-materials-sbom (accessed: June 14, 2026). This is the primary basis for the classification of the six SBOM types (Design, Source, Build, Analyzed, Deployed, Runtime). For attributes and maturity stages, see CISA (2024). Framing Software Component Transparency, Third Edition. https://www.cisa.gov/resources-tools/resources/framing-software-component-transparency-2024. The EU Cyber Resilience Act’s top-level dependency requirement is based on Regulation (EU) 2024/2847, Annex I Part II(1).
6.2 - Standards and Formats
Since an SBOM requires machine readability, a standard format is necessary. Among the three formats specified by the US NTIA minimum elements, SPDX and CycloneDX split practical use between them. The third, the SWID tag, is used mainly in asset management; its role as an identifier is covered in Identifiers and Licenses.
SPDX
SPDX (System Package Data Exchange) is a project under the Linux Foundation. Version 2.2.1 became an international standard as ISO/IEC 5962:2021 in August 2021. It is worth noting that the current ISO standard refers strictly to version 2.2.1.
The Linux Foundation released SPDX 3.0 on April 16, 2024, introducing a structure of purpose-specific profiles. The approach layers Security, Build, Dataset, and AI profiles on top of a core model. The AI profile carries model training and characterization information, the Dataset profile carries data provenance and licensing, and the Security profile carries vulnerability identification, severity, exploitability, and mitigation plans. A patch release, 3.0.1, followed in December of the same year. Whether SPDX 3.x is being re-standardized with ISO had not been confirmed as of June 2026.
CycloneDX
CycloneDX is a full-stack BOM standard that originated at OWASP (Open Worldwide Application Security Project). Its distinguishing feature is native support for Vulnerability Exploitability eXchange (VEX) within the format itself. International standardization proceeded through Ecma International’s technical committee TC54. Version 1.6 was published as ECMA-424 1st edition in June 2024, adding a Cryptographic Bill of Materials (CBOM) and CycloneDX Attestations, and v1.7 was announced in October 2025 and standardized as ECMA-424 2nd edition in December 2025. v1.7 added post-quantum cryptography readiness, structured citations, and support for patent objects.
CycloneDX can express software (SBOM), hardware (HBOM), services (SaaSBOM), and machine learning models (ML-BOM) all within a single format.
Comparing the Two Formats
| SPDX | CycloneDX | |
|---|---|---|
| Steward | Linux Foundation | OWASP / Ecma TC54 |
| International standard | ISO/IEC 5962:2021 (based on v2.2.1) | ECMA-424 1st edition (v1.6, 2024-06), 2nd edition (v1.7, 2025-12) |
| Latest specification | 3.0 (2024-04), 3.0.1 (2024-12) | 1.7 (2025-10) |
| Extension mechanism | Purpose-specific profiles (Security, Build, Dataset, AI) | Component types and auxiliary objects, native VEX |
| Strengths | License expression and legal compliance history | Vulnerability/VEX integration, security-operations friendly |
Table 1. Comparison of the two major SBOM standard formats (source: ISO/IEC 5962:2021, Linux Foundation 2024, Ecma International ECMA-424. Retrieved 2026-06-14)
The two standards differ in design philosophy. SPDX extends its scope of application through profiles, while CycloneDX expresses it through component types and auxiliary objects. Both, however, target the same problem in that they carry component identification, licensing, and dependency relationships. Whichever you choose, conversion tools exist between the two formats, so you can choose based on the format your trading partners require and the format your own tool chain supports well. If license compliance is the focus, SPDX is the familiar starting point; if vulnerability operations is the focus, CycloneDX is.
Next, we look at the minimum elements that define what a format must contain, and identifiers and licenses for consistently pointing to components.
Sources
ISO/IEC (2021). ISO/IEC 5962:2021 — SPDX Specification V2.2.1. The Linux Foundation (2024). SPDX 3.0 Release. https://www.linuxfoundation.org/press/spdx-3-revolutionizes-software-management-in-systems-with-enhanced-functionality-and-streamlined-use-cases. Ecma International. ECMA-424 — CycloneDX Bill of Materials Specification. https://ecma-international.org/publications-and-standards/standards/ecma-424/. CycloneDX (2025). CycloneDX v1.7 Released. https://cyclonedx.org/news/cyclonedx-v1.7-released/. (All retrieved: 2026-06-14)
6.2.1 - Minimum Elements of an SBOM
Once a format is chosen, the next question is what that format must contain. The documents that define this floor are the US Minimum Elements series. Though they are recommendations, they function as the de facto standard for federal procurement, and SBOM requirements in the EU and other jurisdictions largely reference this same framework.
Lineage: From NTIA 2021 to CISA 2025
The National Telecommunications and Information Administration (NTIA) published The Minimum Elements For a Software Bill of Materials (SBOM) in July 2021, under the delegation of Executive Order 14028. The document organized the minimum elements into three categories: the data fields to track per component, automation support requiring a machine-readable format, and practices and processes covering generation frequency, depth, and the like.
Stewardship of the community’s work then moved to the Cybersecurity and Infrastructure Security Agency (CISA), and two lines of revision followed. One was the third edition (September 2024) of Framing Software Component Transparency, a reference document that defines attributes, which added License and Copyright Notice to the baseline attributes. The other was a revision of the minimum elements document itself: CISA released 2025 Minimum Elements for a Software Bill of Materials as a public comment draft in August 2025, with the comment period closing on October 3, 2025. As of June 2026, this revision remains in draft status, and the date of a final version has not been confirmed.
The Data Fields and Three Categories of NTIA 2021
The NTIA 2021 minimum elements set seven per-component data fields.
| Data field | Description |
|---|---|
| Supplier Name | The entity that supplied the component |
| Component Name | The name of the component or library |
| Version | The version identifier of the component |
| Other Unique Identifiers | Identifiers such as PURL, CPE |
| Dependency Relationship | The inclusion relationship with the parent component |
| Author of SBOM Data | The entity that generated this SBOM |
| Timestamp | The date and time of generation |
The three categories are as follows.
- Data fields: The seven items above — the basic information for tracking and identifying components.
- Automation support: Specified SPDX, CycloneDX, and SWID as standard formats for automated generation and machine readability.
- Practices and processes: Covers generation frequency, depth, handling of known unknowns, distribution and delivery, access control, and how errors are accommodated.
What the CISA 2025 Draft Adds
The CISA 2025 minimum elements draft expanded the data fields to reflect the maturing state of tooling. Four core elements were newly added.
| New field | Purpose |
|---|---|
| Component Hash | Ensures integrity and precise identification through a cryptographic hash |
| License | Primary data for tracking legal compliance |
| Tool Name | Records which tool generated it |
| Generation Context | Records at which stage of the lifecycle it was created |
Existing items were also revised. The roles of SBOM Author and Software Producer were distinguished, “Other Unique Identifiers” was updated to “Software Identifiers,” and the access control element, previously separate, was folded into the distribution and delivery item. The trajectory of License — entering as a baseline attribute in Framing 3rd edition and hardening into a data field in the 2025 draft — shows that the SBOM is establishing itself as primary data for open source license compliance, beyond a security inventory. Behind adding Tool Name, Generation Context, and Hash together lies the concern that an SBOM produced by an untrustworthy tool cannot itself be trusted. Tool integrity is covered in 5. Tools and Automation.
Practical Recommendations
The minimum elements are, as the name says, a floor. Organizations can, and should, add fields suited to their own purposes. Carrying CVE references and patch status for vulnerability identification, SPDX license identifiers and copyright notices for license management, and release and End-of-Life dates for lifecycle management, together in one SBOM, lets a single SBOM answer multiple operational questions. If you are introducing an SBOM for the first time, starting with the NTIA seven fields as a base but including the four new fields from the CISA 2025 draft — especially hash and license — from the outset saves the effort of rebuilding it later.
Sources
NTIA (2021). The Minimum Elements For a Software Bill of Materials (SBOM). https://www.ntia.gov/files/ntia/publications/sbom_minimum_elements_report.pdf. CISA (2024). Framing Software Component Transparency, Third Edition. https://www.cisa.gov/resources-tools/resources/framing-software-component-transparency-2024. CISA (2025). 2025 Minimum Elements for a Software Bill of Materials (SBOM) (public comment draft). https://www.cisa.gov/resources-tools/resources/2025-minimum-elements-software-bill-materials-sbom. (All retrieved: 2026-06-14)
6.2.2 - Identifiers and Licenses
If the same component is named differently across SBOMs, automated matching breaks down, because there is no way for a machine to know that “Apache Tomcat,” “tomcat,” and “Apache Software Foundation Tomcat” are the same thing. This is why an identifier system that consistently points to components, and a convention for notating licenses with standard codes, are both necessary.
Three Identifiers: PURL, CPE, SWID
The three identifiers used together in practice serve different roles. They are not mutually exclusive, so recording them together where possible is recommended.
| Identifier | Maintained by | Primary use |
|---|---|---|
| PURL (Package URL) | Community (purl-spec) | Precisely points to a component within a package manager ecosystem |
| CPE (Common Platform Enumeration) | NIST | Notates a product with a consistent name to look up its CVEs |
| SWID (Software Identification Tag) | ISO/IEC 19770-2 | Structured metadata for product, version, and producing entity |
Table 1. Identifiers used together in an SBOM (source: purl-spec, NIST NVD, ISO/IEC 19770-2. Retrieved 2026-06-14)
A Package URL points to a component within a package manager ecosystem in the following format.
pkg:maven/org.apache.logging.log4j/log4j-core@2.14.1
pkg:npm/lodash@4.17.21
pkg:pypi/requests@2.31.0
After pkg: come the ecosystem type (maven, npm, pypi, etc.), namespace, name, and version.
Because the same component can be pointed to with the same string everywhere, it links
automatically to vulnerability databases and license databases.
CPE was developed by MITRE in the mid-2000s and is now maintained by NIST. It notates products under a fixed naming rule and is used to look up the vulnerabilities (CVEs) corresponding to a product. SWID is a tag format standardized as ISO/IEC 19770-2 that structurally describes a product’s version and producing/distributing entity, and it is mainly used in asset management. The CISA 2025 minimum elements draft updating “Other Unique Identifiers” to “Software Identifiers” also reflects the maturing of this identifier ecosystem.
License Notation: SPDX License Identifiers
License management is one of the earliest use cases for an SBOM. Recording exactly which license each component is distributed under is what prevents obligation violations and conflicts in advance. Free-text descriptions cannot be matched automatically, so standard codes are used.
SPDX license identifiers assign each license a unique code such as
Apache-2.0, MIT, or GPL-3.0-only. When multiple licenses apply together, they are combined
with a license expression.
Apache-2.0 OR MIT
GPL-2.0-only WITH Classpath-exception-2.0
(MIT AND BSD-3-Clause)
OR indicates a choice among multiple licenses, AND indicates multiple licenses applying
simultaneously, and WITH indicates combination with an exception clause.
The principles to follow in practice are as follows.
- The license of every individual component, not just the license of the product as a whole, must be visible.
- When encountering a license not on the standard list, assign it an identifier with a prefix
indicating its source (for example, a
LicenseRef-prefix) to track it. - If the license text has been trivially modified but its meaning has not changed materially, use the same identifier as the original.
- Analyze license compatibility to identify in advance the conflicts that can arise when combining components under different licenses.
Even when a license field is auto-extracted by a tool, its accuracy is a separate matter. Precisely identifying non-standard licenses, handling dual licensing, and confirming compliance with licenses that carry field-of-use restrictions remain the responsibility of people and policy. The boundary of automation is covered in 5. Tools and Automation.
Sources
Package URL specification https://github.com/package-url/purl-spec. NIST. Common Platform Enumeration (CPE) https://nvd.nist.gov/products/cpe. ISO/IEC 19770-2:2015. SPDX License List https://spdx.org/licenses/. SPDX License Expressions https://spdx.github.io/spdx-spec/v2.3/SPDX-license-expressions/. (All retrieved: 2026-06-14)
6.3 - Regulatory Trends
The regulatory standing of SBOM differs by jurisdiction. The United States takes an executive-order pathway that leverages federal procurement, the European Union takes a directly effective legislative pathway, and most other countries remain at the stage of advisory guidelines. This section covers the United States first, followed by the EU Cyber Resilience Act and other jurisdictions such as India and Korea.
Regulatory Standing by Jurisdiction at a Glance
| Jurisdiction | Document/Legislation | Standing | SBOM Requirement |
|---|---|---|---|
| United States | Executive Order 14028 (2021), CISA minimum elements | Federal procurement recommendation | SBOM provision for software delivered to the federal government |
| European Union | Cyber Resilience Act, Regulation (EU) 2024/2847 | Legal obligation (with fines) | Annex I Part II, top-level dependencies, machine-readable |
| India | CERT-In Technical Guidelines (2024) | Voluntary recommendation | Best practices for government and essential services |
| Korea | Software Supply Chain Security Guideline 1.0 (2024) | Administrative recommendation | Recommended SBOM generation and review procedures |
Table 1. SBOM regulatory standing in major jurisdictions (source: primary source for each item; collected June 14, 2026)
United States: Leveraging Federal Procurement
US SBOM policy originates from an executive order. On May 12, 2021, shortly after the SolarWinds incident, Executive Order 14028 (“Improving the Nation’s Cybersecurity”) was signed and published in the Federal Register as 86 FR 26633. Section 10(j) of the order defined SBOM as “a formal record containing the details and supply chain relationships of various components used in building software,” and Section 4(f) directed the Secretary of Commerce, working with NTIA, to publish minimum elements for an SBOM within 60 days. This was the moment SBOM was elevated from a recommendation of the research community to a candidate requirement for federal procurement.
Under this mandate, NTIA published the minimum elements in July 2021, and responsibility for the work subsequently moved to CISA. Under Office of Management and Budget (OMB) Memorandum M-22-18, CISA holds the authority to update the NTIA minimum elements and has focused on tooling and operationalization. The results are the 2024 Framing Software Component Transparency, Third Edition, and the 2025 draft revision of the minimum elements. Changes in the data fields between the two documents are covered in Minimum Elements.
It is important to understand the exact nature of the US pathway. Executive Order 14028 is the basis for guidance requiring vendors that supply software to the federal government to provide an SBOM; it is not a general statute that applies to all software. CISA’s two documents themselves state that they do not create new federal requirements. The normative standing remains that of a procurement criterion and technical reference. Nonetheless, because the vast federal procurement market operates on this basis, it functions as a de facto requirement for companies that supply software to the US government.

Figure 1. Lineage of US SBOM policy documents (source: Executive Order 14028, NTIA 2021, CISA 2024 and 2025; collected June 14, 2026)
Sources
The White House (2021). Executive Order 14028 — Improving the Nation’s Cybersecurity, 86 FR 26633. https://www.federalregister.gov/documents/2021/05/17/2021-10460/improving-the-nations-cybersecurity. OMB (2022). M-22-18. https://www.whitehouse.gov/wp-content/uploads/2022/09/M-22-18.pdf. CISA SBOM Resource Hub https://www.cisa.gov/sbom. (all accessed: June 14, 2026)
6.3.1 - EU Cyber Resilience Act (CRA)
The first major piece of legislation to establish SBOM as an explicit legal obligation is the EU Cyber Resilience Act (CRA, Regulation (EU) 2024/2847). Whereas the United States effectively mandates SBOM through the market of federal procurement, the CRA is a directly effective law that applies horizontally across products with digital elements.
Legal Basis of the SBOM Obligation
In the CRA, the SBOM obligation appears in Annex I, Part II (vulnerability handling requirements), point (1). Manufacturers must identify and document the vulnerabilities and components contained in a product, and as a means of doing so, the CRA specifies that they must “draw up a software bill of materials, in a commonly used and machine-readable format, covering at the very least the top-level dependencies of the product.”
Two points that matter in practice differ from the US pathway.
- The scope of the obligation is top-level dependencies: There is no obligation to expand the entire dependency tree; covering at least the top-level dependencies is sufficient. That said, going deeper than this is clearly the recommended direction.
- It is an obligation to retain and submit, not to disclose: There is no obligation to disclose the SBOM to the general public. It is sufficient to retain it so that it can be submitted when a market surveillance authority makes a reasoned request.
The core of the CRA is that producing an SBOM is not a recommendation but a legal obligation backed by a system of fines.
Implementation Timeline

Figure 1. Phased implementation timeline of the EU CRA (source: Regulation (EU) 2024/2847; collected June 14, 2026)
The CRA was published in the Official Journal on November 20, 2024, and entered into force on December 10, 2024. Its application is staged: the Article 14 obligation to report exploited vulnerabilities and severe incidents applies from September 11, 2026, and full application of the essential cybersecurity requirements, including SBOM, begins on December 11, 2027.
Absence of Format Implementing Rules and a Practical Reference Point
As of June 2026, no official CRA-level implementing rule for SBOM format has been published. This means there is not yet a document that establishes, as an EU-wide binding norm, which schema and fields must be used to conform to the CRA.
The current practical reference point is Technical Guideline TR-03183-2 v2.1.0, published in August 2025 by Germany’s Federal Office for Information Security (Bundesamt für Sicherheit in der Informationstechnik, BSI). This document provides specific field mappings for CRA-conformant SBOM for both CycloneDX and SPDX. Note, however, that this is a German guideline, not an EU-wide binding norm.
Considerations for Open Source
The CRA uses commercial activity as its applicability criterion, and in principle excludes non-commercial open source that is distributed free of charge without commercial activity. This is a mechanism to avoid imposing manufacturer-level obligations directly on open source maintainers. However, the obligations still apply in full to manufacturers who integrate open source into a product and supply it commercially, so obtaining and managing SBOMs for open source components remains the manufacturer’s responsibility.
Sources
European Parliament and Council (2024). Regulation (EU) 2024/2847 — Cyber Resilience Act. OJ L, 2024/2847, 20.11.2024. https://eur-lex.europa.eu/eli/reg/2024/2847/oj/eng. European Commission, DG CNECT. Cyber Resilience Act. https://digital-strategy.ec.europa.eu/en/policies/cyber-resilience-act. BSI. Technical Guideline TR-03183-2. (all accessed: June 14, 2026)
6.3.2 - India, Korea, and Other Jurisdictions
Jurisdictions outside the United States and the European Union are generally at the recommendation stage. There is no legal enforcement or sanction, but these function as best practices that influence procurement and contracting practices.
India: CERT-In Technical Guidelines
The Indian Computer Emergency Response Team (CERT-In) published the Technical Guidelines on Software Bill of Materials (SBOM). This is a voluntary guideline aimed at government agencies, the public sector, essential services, and software producing and service companies, covering the value of SBOMs, best practices, minimum elements, and vulnerability tracking procedures. It has no legal force, but it influences government procurement and contracting practices.
In July 2025, CERT-In expanded this guideline to also cover Quantum BOM (QBOM), Cryptography BOM (CBOM), AI BOM (AIBOM), and Hardware BOM (HBOM). This is an example of how the bill of materials concept is spreading beyond software into cryptography, AI, and hardware. The expansion into AI BOM is covered further in 5. Tools and Automation and in the separate AI SBOM Compliance Guide.
The first edition of this guide began as a Korean translation of this CERT-In document. The current edition updates that skeleton with current primary sources from the United States and the European Union, and broadens it to a general practitioner’s perspective.
Korea: Software Supply Chain Security Guidelines
In Korea, the Ministry of Science and ICT, the National Intelligence Service, and the Korea Internet & Security Agency (KISA), among others, published the Software Supply Chain Security Guidelines 1.0 in May 2024. It recommends SBOM generation and vulnerability inspection procedures, and the use of the National Institute of Standards and Technology (NIST) Secure Software Development Framework (SSDF).
However, this is only an administrative guideline, and Korea’s current legal system does not yet have legislation that imposes a mandatory reporting obligation at the product level, as the EU Cyber Resilience Act does. Even so, Korean companies exporting software to the EU and the United States must directly meet the requirements of those markets, so building SBOM capability is a practical necessity regardless of domestic regulation.
Practical Implications
The legal standing differs by jurisdiction, but the skeleton of the data required converges. A well-built SBOM system, built once, can satisfy the requirements of multiple jurisdictions at the same time. If the system is designed around the strictest requirement among your export markets (currently the EU CRA), the recommendations of other jurisdictions are largely subsumed within it.
Sources
Indian Computer Emergency Response Team (CERT-In). Technical Guidelines on Software Bill of Materials (SBOM), CIGU-2024-0002. https://www.cert-in.org.in/. Ministry of Science and ICT, National Intelligence Service, Korea Internet & Security Agency (2024). Software Supply Chain Security Guidelines 1.0. https://www.kisa.or.kr/. (all accessed: June 14, 2026)
6.4 - Adoption Roadmap
Introducing an SBOM program into an organization is not a one-time effort. A staged approach is more realistic: establish the foundation (Foundational), settle generation and integration into practice (Developing), and mature operations (Scaling). The stage breakdown below is the common framework presented by both the US NTIA and India’s CERT-In guidelines; the order of activities is only illustrative and can be adjusted to fit an organization’s security needs, timeline, and resources.

Figure 1. The three stages of SBOM adoption (source: reconstructed from NTIA 2021 and CERT-In technical guidelines; collected June 14, 2026)
Stage 1: Building the Foundation
The first SBOM an organization encounters is usually one received from a supplier during procurement. The purpose of this stage is to establish how the organization handles SBOM in the first place.
- Identify critical assets and establish a plan: Develop a plan that defines roles and responsibilities, timelines, and resource requirements, and obtain stakeholder buy-in for the new process.
- Decide on the format and minimum requirements: Before creating SBOMs, determine the format (SPDX or CycloneDX) and the minimum data requirements. This ensures a standard structure that can be processed consistently across the supply chain.
- Identify security requirements, storage, and tools: Define classification and handling procedures, and set up a secure repository for SBOMs.
- Obtain SBOMs through procurement: Specify the requirement for suppliers to provide SBOMs in purchase orders or contracts, and specify which elements are to be provided, when, and by what method.
Stage 2: Generation and Integration
This stage involves establishing secure configuration management, consistently referencing components with unique identifiers, and embedding generation itself into the development process.
- Assign unique identifiers: Pin each component with an identifier such as PURL so that traceability is not lost even if a supplier or component name changes, or a different version is released under the same name.
- Map supplier SBOMs to internal SBOMs: Create internal SBOMs based on the SBOMs suppliers provide, and record the author and timestamp to manage integrity and update history.
- Integrate with the SSDLC and CI/CD: Integrate SBOM generation into the Secure Software Development Life Cycle (SSDLC) and continuous integration/continuous deployment (CI/CD) pipeline. Generating SBOMs automatically at build time improves both accuracy and timeliness. See 5. Tools and Automation for tool selection.
- Secure configuration management: Apply access control, encryption, and regular audits to manage SBOMs securely.
Stage 3: Operational Maturity and Scaling
The final stage involves fully weaving SBOM into vulnerability management and incident response, and continuously updating the program.
- Strengthen vulnerability tracking: Establish a process for cross-referencing SBOM components against vulnerability databases to assess impact and mitigation. Detailed methods are covered in 6. Vulnerability Management.
- Integrate incident response: Establish a process for using SBOM to quickly determine, for a newly disclosed vulnerability, whether the organization is affected or has already been compromised.
- Maintain regular review and awareness: Periodically check that components and dependencies match the latest records, and keep the organization aware of new formats, data elements, and industry trends.
Choosing a Starting Point
Follow the three stages in order, but there is no need to aim for perfection from the start. A realistic first step is to pick one or two of the most important products, automatically generate SBOMs in the build pipeline, and feed them into a vulnerability scanner. Once you confirm the program works for one product, expanding it across the full portfolio reduces the cost of trial and error.
Sources
NTIA (2021). The Minimum Elements For a Software Bill of Materials (SBOM). CERT-In. Technical Guidelines on Software Bill of Materials (SBOM). CISA SBOM Resource Hub https://www.cisa.gov/sbom. (all accessed: June 14, 2026)
6.5 - Tools and Automation
An SBOM workflow is not completed by a single tool. The three capabilities of generation, vulnerability matching, and lifecycle management are split across different tools, and the common conclusion of recent tool comparison analyses is that no single tool covers all three areas completely. It is more accurate to think of it as assembling a pipeline from a combination of tools.
The Division of Labor Among Generation, Management, and Scanning

Figure 1. The three roles of SBOM tools (source: compiled from tool comparison analyses, 2026-01. Retrieved 2026-06-14)
In the generation space, Anchore’s Syft is regarded as “the dedicated tool that does SBOM generation, and only that, best.” Its attestation workflow, combined with the signing tool cosign, is mature. OWASP CycloneDX’s cdxgen is distinguished by broad support for multiple languages and container images, and by a dedicated AI BOM mode.
In the management space, OWASP Dependency-Track has established itself as a platform for monitoring component usage and security/license compliance across an organization’s entire application portfolio. Eclipse SW360 is another option centered on license compliance.
In the scanning space, Grype takes an SBOM as input and matches it against vulnerabilities, while Aqua Security’s Trivy is both a scanner and an SBOM generator.
| Role | Representative open source tools | Characteristics |
|---|---|---|
| Generation | Syft, cdxgen | Syft is generation-only with mature attestation; cdxgen offers multi-language support and an AI BOM mode |
| Management | Dependency-Track, SW360 | Portfolio monitoring, license and vulnerability tracking |
| Matching/Scanning | Grype, Trivy | Matches an SBOM against a vulnerability database |
Table 1. Classification of SBOM tools by role (source: compiled from tool comparison analyses, 2026-01. Retrieved 2026-06-14)
How Far Does Automation Go
It is important to honestly distinguish between areas where automation works well and areas that people must fill in.
| Task | Automation maturity |
|---|---|
| Code/dependency SBOM generation | Mature |
| Container image component identification | Mature |
| SBOM storage and vulnerability monitoring | Mature |
| Automated license identifier extraction | Partial (requires review) |
| Interpreting non-standard licenses and tracking compliance | Immature (people/policy) |
Table 2. Automation maturity of SBOM tasks (source: compiled from tool comparison analyses. Retrieved 2026-06-14)
Tools do generation well. Put Syft or cdxgen into the build pipeline, and the component list fills in automatically. But whether the license field of a generated SBOM is accurate, whether the obligations of a non-standard license are met, and whether obligations propagate downstream without omission are things no tool guarantees automatically. This area is filled by policy and human review.
The Tool Itself Is an Attack Surface
Before trusting an automation tool, its own integrity must be verified. In January 2026, a case was reported in which an SBOM tool was implicated in two supply chain attacks within a short period, with the damage spreading to downstream projects. On this basis, some pipeline operators removed the tool in question.
The fact that an SBOM generation tool can itself become a target of supply chain risk requires combining hashes, signatures, and attestations at the generation and verification stages. This same concern lies behind CISA’s 2025 minimum elements draft adding Tool Name, Generation Context, and Component Hash as new fields. Avoiding the paradox that “an SBOM made by an untrustworthy tool cannot be trusted” requires pinning tool versions, verifying provenance, and signing the output.
Sources
Anchore. Syft https://github.com/anchore/syft, Grype https://github.com/anchore/grype. OWASP. cdxgen https://github.com/CycloneDX/cdxgen, Dependency-Track https://dependencytrack.org/. Aqua Security. Trivy https://github.com/aquasecurity/trivy. Eclipse SW360 https://www.eclipse.org/sw360/. (All retrieved: 2026-06-14)
6.6 - Vulnerability Management and VEX
The most direct use of an SBOM is vulnerability management. With a component list in hand, affected assets can be looked up immediately when a new vulnerability is disclosed. But listing components in an SBOM brings along every past CVE for those components, creating a problem of exploding false positives. Vulnerability Exploitability eXchange (VEX) is what solves this problem.
SBOM-Based Vulnerability Tracking
The basic flow of tracking is simple. Each component in an SBOM is matched against vulnerability databases (NVD, CVE) using an identifier such as PURL or CPE to map known vulnerabilities. A supplier can pre-map vulnerability information into an SBOM and provide customers with an enriched SBOM, while a consumer can link its own SBOM to vulnerability data through an API or data feed to set response priorities.
To increase effectiveness, a shift-left approach that moves checks earlier in development is recommended. Integrating security tools into the development pipeline and automatically analyzing SBOM data at early stages such as build and packaging catches vulnerabilities before release.
VEX: Sorting Out Exploitability
VEX is a document in which a manufacturer asserts “is this vulnerability actually exploitable in our product,” helping consumers make priority judgments. Where an SBOM answers “what is inside,” VEX answers “does a known vulnerability inside actually affect this product.” Even if a component has a vulnerability, it may be unexploitable if the affected code path is never invoked; VEX states this status explicitly, reducing unnecessary response effort.
A VEX document notates the vulnerability status of a specific product using the following four states.
- Not affected: No remediation is needed for this vulnerability.
- Affected: A fix or mitigating action is recommended.
- Fixed: The vulnerability fix is included in the given product version.
- Under Investigation: Whether the product is affected has not yet been confirmed and will be updated later.
VEX is not a single format; CSAF VEX, OpenVEX, and CycloneDX VEX coexist. CycloneDX is distinguished by expressing VEX natively within the format itself.
CSAF: Structuring Advisories
Common Security Advisory Framework (CSAF) 2.0 is a standard that structures security advisories in a machine-readable form, and it includes a VEX profile. OASIS approved it as a formal standard in November 2022. Where VEX communicates exploitability status, CSAF delivers a detailed advisory that includes a vulnerability description, affected versions, a severity assessment (CVSS score), and recommended mitigation steps.
The practical turning point for adoption was Red Hat. Red Hat’s Product Security team began publishing CSAF/VEX files for every CVE in its database in 2023, and has since moved to full production, publishing them on an ongoing basis.
Case Study: Log4Shell
The Log4j vulnerability (Log4Shell), disclosed in December 2021, is a case that shows how SBOM, VEX, and CSAF interlock.

Figure 1. The interplay of SBOM, VEX, and CSAF in the Log4Shell response (source: reconstructed from CERT-In technical guidelines. Retrieved 2026-06-14)
When the vulnerability was disclosed, maintainers issued a VEX stating the exploitable status, followed by a CSAF advisory containing the vulnerability description, affected versions, CVSS 10.0 (the highest severity), and mitigation steps. Organizations that included Log4j as a component integrated this VEX and CSAF data into their own SBOMs, identifying the affected parts of their systems and setting response priorities. The core point of this case is that, had an SBOM already been in place, “where is Log4j” could have been answered with a single query.
Sources
OASIS Open (2022). CSAF 2.0. https://www.oasis-open.org/2022/11/21/new-version-of-csaf-standard/. CISA. Vulnerability Exploitability eXchange (VEX). https://www.cisa.gov/sbom. OpenVEX https://github.com/openvex. NVD. CVE-2021-44228. https://nvd.nist.gov/vuln/detail/CVE-2021-44228. Red Hat (2023). VEX files now available. (All retrieved: 2026-06-14)
6.7 - Sharing and Governance
An SBOM creates value only when it is delivered along the supply chain, but it is also sensitive material that contains trade secrets and attack surface. Without governance that determines who shares what, and how, excessive disclosure heightens risk, and excessive restriction forfeits value.
Access Control and Disclosure Scope
Access to SBOM data is managed through Role-Based Access Control (RBAC). Because access needs differ by stakeholder, general users are granted read-only access, administrators are granted edit and update access, and sensitive information is granted restricted access.
For disclosure scope, maintaining two versions is common practice.
- Public SBOM: Contains non-sensitive information that can be shared with all stakeholders.
- Private SBOM: Contains sensitive information, such as vulnerabilities, and only approved parties can access it.
Regulation reflects this distinction as well. The EU Cyber Resilience Act does not require an SBOM to be disclosed to the general public, but requires it to be retained in case market surveillance authorities request it. Amid the tension between consumers wanting a more complete SBOM and producers wanting to reduce disclosure, the public/private split is a practical device that reconciles the two.
Secure Sharing Channels
When delivering an SBOM, both integrity and confidentiality need to be preserved.
- Use a secure protocol such as HTTPS for transmission, and ensure integrity and confidentiality through digital signatures or encryption.
- Use a sharing platform equipped with access control and audit capabilities.
- Use API integration for automated exchange between systems, and dedicated repositories for industry- or community-level sharing.
Attach a digital signature to the document so recipients can verify its authenticity and check for tampering, and clearly mark which information is public and which is private.
Roles and Responsibilities
An SBOM program works only when multiple departments share responsibility for it. It should include an executive sponsor, project leads, systems and design engineers, procurement specialists, and operations personnel, adding IT, cybersecurity, and maintenance staff as security needs require. When roles are scattered, responsibility scatters with them, so establishing clear ownership is the starting point.
The key activities in building governance are as follows.
- Identify key stakeholders: Include representatives from development, IT operations, security, procurement, legal, and business leadership, and be sure to include a cybersecurity expert.
- Define responsibilities and assign ownership: Decide who will handle SBOM generation and consumption, vulnerability monitoring, supplier engagement, and security data management, and designate a cybersecurity expert as the program owner or co-owner.
- Establish a governance structure: A governance body with participation from stakeholders across the organization develops policies, standards, and processes, and implements data protection controls.
- Train and monitor: Train personnel on SBOM security requirements and secure data handling, and continuously assess the program’s security posture through regular audits, adjusting it to evolving threats and compliance requirements.
Sources
CISA (2024). Framing Software Component Transparency, Third Edition. CERT-In. Technical Guidelines on Software Bill of Materials (SBOM). Regulation (EU) 2024/2847 — Cyber Resilience Act, Annex I Part II. (all accessed: June 14, 2026)
6.8 - Recommendations and Checklist
This section organizes the content covered in the preceding sections into practical recommendations and a checklist. Organizations adopting SBOM for the first time can follow the checklist in order, while organizations already operating one can use it to check for missing items.
Key Recommendations
Procurement and Generation
- When procuring software, specify the SBOM provision requirement in contracts and purchase terms. Specify which elements are to be provided, in what format, and when.
- Generate SBOMs in the SPDX or CycloneDX format, choosing based on your counterparty’s requirements and your own toolchain.
- Automatically generate SBOMs at build time within the SSDLC and CI/CD pipeline to ensure accuracy and timeliness.
- Put in place a workflow to regenerate the SBOM whenever a new component is introduced or an existing component is updated.
Data Quality
- Include complete metadata such as component name, version, license, and unique identifier. Because the minimum elements are only a floor, add fields to fit your own use case.
- Pin components with PURL or CPE so that traceability is not lost even when names or versions change.
- Pin the version of the generation tool, verify its provenance, and attach hashes and signatures to the output to ensure integrity.
Vulnerabilities and Licenses
- Link the SBOM to vulnerability databases and advisories to maintain continuous visibility into security posture.
- Reflect any applied patches or mitigations in your own SBOM.
- Exchange vulnerability exploitability status using VEX and CSAF, and prioritize response based on risk.
- Analyze the license compatibility of all components to identify conflicts that may arise from combining them, in advance.
Storage and Operations
- Store and transmit SBOMs securely using encryption and access control, and clearly distinguish between public and private scope.
- Check the accuracy and completeness of SBOMs through regular audits.
- Run training and awareness programs on the role of SBOM, from developers to the security team.
Adoption Checklist
A checklist for reviewing what has been done at each stage.
| Stage | Checklist Item |
|---|---|
| Foundational | Identify critical assets and establish an adoption plan |
| Foundational | Decide on the SBOM format (SPDX/CycloneDX) and minimum data requirements |
| Foundational | Select a secure repository and tools |
| Foundational | Reflect the SBOM provision requirement in procurement contracts |
| Developing | Assign unique identifiers to components |
| Developing | Map supplier SBOMs to internal SBOMs |
| Developing | Integrate automatic SBOM generation into the build pipeline (CI/CD) |
| Developing | Apply secure configuration management, including access control and encryption |
| Scaling | Track SBOM linked with vulnerability databases |
| Scaling | Integrate VEX/CSAF-based exploitability management with incident response |
| Scaling | Run regular review, audits, and awareness programs |
Next Steps
If you develop AI systems or exchange them across the supply chain, you need to add an AI-specific layer — models, datasets, and training compute — on top of the SBOM capabilities covered in this guide. The component, license, and vulnerability management practices of a general SBOM carry over directly into the software layer of an AI BOM. This is covered in detail in the separate AI SBOM Compliance Guide.
Sources
NTIA (2021). The Minimum Elements For a Software Bill of Materials (SBOM). CISA (2024). Framing Software Component Transparency, Third Edition. CERT-In. Technical Guidelines on Software Bill of Materials (SBOM). Regulation (EU) 2024/2847 — Cyber Resilience Act. (all accessed: June 14, 2026)
7 - AI SBOM Compliance Guide
This guide explains, one by one, each requirement of AI System Bill of Materials — Compliance Management Guide for the Supply Chain (Version 1.0), published by the OpenChain AI Work Group. It walks through what verification material each clause requires, how to comply with it, and what samples and tools are ready to use.
This specification carries the same structure as ISO/IEC 5230, the open source license compliance standard — requirements, verification material, and rationale — over into the AI supply chain. It brings into scope not only code but also the licensing and transparency obligations of model weights, training datasets, and the Model Tree.
Author : OpenChain Korea Work Group / CC BY 4.0
All 10 requirements (3.1–3.10) per the specification body have been written. The compare page that positions the standards relative to each other is still being expanded.
Intended Audience
- Compliance staff at organizations that develop AI systems or exchange them through the supply chain
- Practitioners who have an open source compliance (ISO/IEC 5230) program in place and want to extend it into AI
- Legal, security, and development staff who need to check the licensing and transparency obligations of AI models and datasets
How to Use This Guide
The OpenChain specification defines “what must be demonstrated.” This guide fills in “how to achieve it.” Each clause page does more than restate the specification’s requirements — it walks through the actual procedures, samples, tools, and how to handle the parts that tools alone cannot fill.
The content of each clause page falls into two categories.
- [Specification Requirement] — Items the AI SBOM Compliance Guide body specifies with
shallor as verification material. - [Guide Recommendation] — Items not found in the specification body but recommended by the OpenChain Korea Work Group based on practical experience, best practices, and other standards (ISO/IEC 5230, 42001, etc.). Adoption is at the organization’s discretion.
Activities presented alongside a verification material number (e.g., 3.1.1) are
[Specification Requirement]. Enhancements this guide adds, such as automation, tool use, and
intake gates, are [Guide Recommendation].
The original specification’s table of contents and body section numbers are out of sync (the “3.9 AI content review and approval” section listed in the table of contents does not appear in the body, shifting all subsequent numbers down by one). This discrepancy has been reported to the OpenChain AI Work Group. This guide follows the body’s section numbers (3.1–3.10).
Phased Implementation Roadmap
The 10 requirements are divided into four phases by implementation priority. Phase 1 establishes the program’s foundation, Phase 2 builds AI-specific compliance processes, Phase 3 puts operational structures in place, and Phase 4 establishes governance.
Phase 1 — Program Foundation
Goal: Define the program’s scope, establish policy, and secure competence and awareness.
| Done | Verification Material | Description | Detailed Guide |
|---|---|---|---|
| ☐ | 3.4.1 | Program scope statement | 3.4 → |
| ☐ | 3.1.1 | Documented AI SBOM policy | 3.1 → |
| ☐ | 3.1.2 | Policy awareness procedure | 3.1 → |
| ☐ | 3.2.1~3.2.3 | Role list, competence definitions, competence assessment evidence | 3.2 → |
| ☐ | 3.3.1 | Evidence of participant awareness assessment | 3.3 → |
Phase 2 — AI Extension Processes
Goal: Build AI-specific licensing, transparency, and SBOM processes that cover not just code but also models, weights, and datasets. This is the area where the AI SBOM Guide expands most on ISO/IEC 5230.
| Done | Verification Material | Description | Detailed Guide |
|---|---|---|---|
| ☐ | 3.5.1 | License obligation review and documentation procedure | 3.5 → |
| ☐ | 3.6.1 | Transparency obligation review procedure | 3.6 → |
| ☐ | 3.9.1 | AI SBOM identification, tracking, review, approval, and archiving procedure | 3.9 → |
| ☐ | 3.9.2 | Records demonstrating procedure compliance | 3.9 → |
Phase 3 — Operational Structure
Goal: Create a channel for responding to external compliance inquiries, and assign accountability and resources to the program.
| Done | Verification Material | Description | Detailed Guide |
|---|---|---|---|
| ☐ | 3.7.1~3.7.2 | Public inquiry channel, internal response procedure | 3.7 → |
| ☐ | 3.8.1~3.8.5 | Role assignment, resources, legal expertise, remediation procedure | 3.8 → |
Phase 4 — Governance
Goal: Put in place a governance framework spanning the full AI system lifecycle, and reflect emerging AI regulation.
| Done | Verification Material | Description | Detailed Guide |
|---|---|---|---|
| ☐ | 3.10.1 | AI governance framework and periodic review procedure | 3.10 → |
Full Clause Checklist
The body of the AI SBOM Compliance Guide consists of 10 clauses and 19 verification material items in total (by this guide’s verification material numbering).
| Clause | Title | Verification Material | Detail |
|---|---|---|---|
| 3.1 | Policy | 2 items | Go to → |
| 3.2 | Competence | 3 items | Go to → |
| 3.3 | Awareness | 1 item | Go to → |
| 3.4 | Program Scope | 1 item | Go to → |
| 3.5 | License Obligations | 1 item | Go to → |
| 3.6 | Transparency Obligations | 1 item | Go to → |
| 3.7 | Access | 2 items | Go to → |
| 3.8 | Effectively Resourced | 5 items | Go to → |
| 3.9 | AI SBOM | 2 items | Go to → |
| 3.10 | Governance | 1 item | Go to → |
Total: 10 clauses / 19 verification material items
Automation Maturity Map
This is an honest breakdown of how far each AI SBOM compliance task is automated by tools today. For “generation,” usable open source tools already exist. Interpreting license obligations and tracking compliance with non-standard licenses, on the other hand, remain the work of people and policy. Each clause page follows this line to distinguish “what a tool handles” from “what a person must fill in.”
| Task | Automation Level | Representative Open Source Tool |
|---|---|---|
| Code/dependency SBOM generation | Mature | cdxgen, Syft |
| AI model/metadata BOM generation | Tools emerging | OWASP AIBOM Generator, cdxgen aibom mode |
| Static analysis of model binaries | Tools emerging | Lab700x AI SBOM Scanner |
| Identifying LLM inference servers and AI packages | Mature | Trivy, Syft |
| SBOM storage and vulnerability monitoring | Mature | Dependency-Track, SW360 |
| Interpreting license obligations, tracking non-standard compliance | Immature (people/policy) | Tool support still developing |
Several tools already generate AI SBOMs automatically. But whether the license fields in a generated BOM are accurate, whether the behavioral use restrictions of non-standard licenses (the RAIL family, the Llama Community License) are respected, and whether obligations propagate downstream without being dropped — a tool cannot automatically guarantee any of this. Policy and human review fill this gap. See 3.5 License Obligations for details.
The installation and use of each tool is covered with execution screens and command output in the Tools section.
Relationship to Other Standards
- ISO/IEC 5230 (License Compliance): The AI SBOM Guide inherits the 5230 methodology directly. Organizations that already have a 5230 program in place can reuse program foundations such as policy, competence, and resources, and only need to add the AI extension areas. See the ISO/IEC 5230 Compliance Guide.
- ISO/IEC 42001 (AI Management System): The technical details of AI SBOM formats (SPDX 3.0 AI Profile, CycloneDX ML-BOM) and generation tools are covered in the ISO/IEC 42001 Guide — AI SBOM. Building on that, this guide focuses on “how to operate the compliance program.”
Original Specification
- Document: Artificial Intelligence System Bill of Materials — Compliance Management Guide for the Supply Chain, Version 1.0
- Published: OpenChain Project AI Work Group, 2025-10-20
- License: Creative Commons Attribution 4.0 (CC-BY-4.0)
- Authoritative copy: Published as PDF and markdown in the OpenChain Reference-Material
repository (
AI-SBOM-Compliance/en) - Announcement: openchainproject.org
7.1 - Program Foundation
This is stage 1 of the implementation roadmap. It defines the program’s scope (3.4), establishes policy (3.1), and secures the competency and awareness of participants (3.2, 3.3). All subsequent clauses operate on top of this foundation.
7.1.1 - 3.1 Policy
This clause is built during Phase 1 — Program Foundation. View the full implementation roadmap
1. Clause Overview
Without an AI SBOM policy, an organization ends up deploying AI systems while developers remain unaware of the licensing obligations attached to models and datasets. In AI, what needs to be tracked goes beyond code. Model weights, training datasets, and the model tree derived from other models each carry their own license, and non-standard licenses that restrict the purpose of use — such as the Llama Community License or the RAIL family — are common. Missing these obligations leads to copyright disputes, violations of usage restrictions, and terminated business contracts.
To prevent this risk, 3.1 requires establishing a documented policy that governs AI SBOM compliance and communicating it so that program participants are aware of its existence. This policy must reflect business strategy, the legal requirements of relevant jurisdictions, and the level of risk appropriate to the use case. All subsequent clauses (competence, license obligations, AI SBOM, governance, and so on) operate on top of this policy.
2. Activities to Perform
- Draft and formalize a policy document that governs AI SBOM compliance.
- Define the scope of application in the policy (AI systems deployed externally, external models/datasets brought in, internal models released publicly, etc.).
- Reflect business strategy, the legal requirements of relevant jurisdictions, and the risk level for each use case in the policy.
- Include in the policy a list of licenses allowed or prohibited for models and datasets. ([Guide Recommendation] Because compliance with non-standard licenses is hard to track automatically after the fact, decide it through policy at intake time.)
- Establish and document a procedure for communicating the policy to program participants (development, legal, security, data staff, etc.).
- Retain records that prove the policy was communicated (training completion, notice history, etc.).
- Include in the policy a procedure for periodically reviewing it and re-communicating it when it changes.
3. Requirement and Verification Material
| Clause | Requirement | Verification Material |
|---|---|---|
| 3.1 | A written policy shall exist that governs AI SBOM compliance, and it shall be communicated internally. The policy shall reflect business strategy, the legal requirements of relevant jurisdictions, and the level of risk appropriate to the use case. | 3.1.1 A documented policy meeting the above requirement 3.1.2 A documented procedure that makes program participants aware of the existence of the policy (e.g., training, an internal wiki, or another practical communication method) |
View original English text
3.1 Policy A written policy shall exist that governs AI System Bill of Materials (AI SBOM) compliance. The policy shall be internally communicated, and informed by business strategy, legal requirements in the relevant jurisdictions, and the level of risk appropriate for the use case.
Verification material(s):
- A documented policy meeting the above requirements
- A documented procedure that makes program participants aware of the existence of the policy (e.g. via training, internal wiki or other practical communication method)
4. How to Comply with Each Verification Material, with Samples
3.1.1 Documented AI SBOM Policy
How to Comply
The AI SBOM policy is a formal document that captures the principles and procedures by which the organization manages the licensing and transparency obligations of its AI systems. The policy should include its purpose, scope, roles and responsibilities, principles for reviewing model and dataset licenses, AI SBOM management, how transparency obligations are addressed, and the review cycle. Because this document itself is verification material 3.1.1, manage it as a formal document with recorded version and approval history.
For an organization that already has an ISO/IEC 5230 open source policy, it is more efficient to add an AI-related section to the existing policy than to create a separate new one. Add that models and datasets fall within the scope of license review, how non-standard licenses are handled, and what format is used to manage the AI SBOM.
A policy is not a document to be written once and left alone. Because the AI regulatory landscape changes quickly, conduct a periodic review at least once a year and record the change history.
Considerations
- State the AI-specific scope explicitly: Clearly state in the policy that license review covers not only code but also model weights, training/testing/validation datasets, and the derivation relationships in the model tree.
- Allowed/prohibited license lists: Divide model and dataset licenses into allowed and prohibited lists, based on whether commercial use is permitted and whether there are behavioral use restrictions, and set this in the policy in advance. ([Guide Recommendation])
- Approval procedure: Have the legal team or the AI governance lead give final approval, and record the approval date and approver.
- Version control: Maintain the document version and change history so that previous versions can be compared during an audit.
- Periodic review: Review at least once a year, and record the review completion date and reviewer.
Sample
Below is a sample of the scope of application and the allowed/prohibited license lists for an AI SBOM policy. This text becomes a core component of verification material 3.1.1. Check the actual terms of each license against its original text, then classify it to fit the organization’s use case.
## 1. Purpose and Scope
This policy defines the compliance principles and procedures for the company to
develop and deploy AI systems safely and responsibly. It is designed to satisfy
the requirements of ISO/IEC 5230 (open source license compliance) and the
OpenChain AI SBOM Compliance Guide.
Scope:
- All AI systems, models, and services distributed externally.
- Pre-trained models and datasets brought in from outside.
- Activities that release internal models to the outside.
## 2. Model/Dataset License Classification
Licenses for models and datasets being brought in are reviewed against the
classification below. A license not in this classification goes through review
by the AI governance lead before being brought in.
- Allowed (commercial use permitted, no behavioral restrictions): Apache-2.0, MIT, BSD, CC-BY-4.0, etc.
- Conditionally allowed (use after review): licenses with restrictions on purpose or
scale of use, such as the Llama Community License, the Gemma Terms of Use,
and the OpenRAIL family
- Prohibited (non-commercial only, etc.): using a CC-BY-NC dataset in a commercial product, etc.
3.1.2 Policy Awareness Procedure
How to Comply
Writing the policy document alone is not enough. A communication procedure must be established and documented so that program participants actually become aware the policy exists. This communication procedure document itself is verification material 3.1.2. Because AI systems involve not just developers but also data staff, legal, and security, design the channel so the policy reaches all of them.
Include AI SBOM policy guidance in onboarding for new hires, and use internal wiki postings and email notices for existing employees. To prove that the policy was communicated, retain evidence such as notice history and training completion records for at least three years.
Considerations
- Use multiple channels: Use two or more channels, such as an internal wiki, email notices, and onboarding training.
- Include AI-related roles: Include dataset owners and model operators as recipients as well.
- When the policy changes: Have a separate procedure to notify participants of changes immediately.
- Retain evidence: Keep notice history and training completion certificates for at least three years.
Sample
Below is a sample policy communication notice email. Retaining the send history serves as evidence for verification material 3.1.2.
Subject: [AI Compliance] AI SBOM Policy Notice and Acknowledgment Request
To: Employees involved in AI system development, operations, and data
From: AI Compliance Officer
Hello,
Our AI SBOM compliance policy has been established (or revised).
All employees involved in using, bringing in, or deploying AI models and
datasets are asked to review and familiarize themselves with the policy
document below.
- Policy document: [internal portal link]
- Key contents: model/dataset license classification, license obligation
review procedure, AI SBOM management, transparency obligation response
- Policy version: v1.0 (effective date: YYYY-MM-DD)
Contact: AI Compliance Officer (ai-compliance@company.com)
5. References
- License obligation review procedure: 3.5 License Obligations
- Basic structure of an open source policy: ISO/IEC 5230 Compliance Guide — 3.1.1 Policy
- AI license management strategy: Enterprise Open Source Management Guide — AI Compliance
7.1.2 - 3.2 Competence
This clause is built during Phase 1 — Program Foundation. View the full implementation roadmap
1. Clause Overview
If policy (3.1) defines what must be done, competence ensures there are people who can do it. AI SBOM compliance demands broader knowledge than open source compliance, which dealt only with code licensing. It requires judgment on the licensing of model weights and datasets, interpreting model cards, emerging AI regulation, and the usage restrictions of non-standard licenses.
3.2 requires identifying the roles and responsibilities that affect the program’s performance, determining the competence each role needs, and ensuring participants have it. The specification specifies competence in governance, security, safety, privacy, development, and supplier management functions where relevant to the use case.
2. Activities to Perform
- Identify and document the roles that affect the program’s performance and their responsibilities.
- Define the competence required for each role (governance, security, safety, privacy, development, supplier management).
- Add AI-specific competence (model/dataset licensing, model card interpretation, AI regulation) to the role-level competence definitions.
- Ensure participants are competent on the basis of education, training, and experience.
- Retain competence assessment evidence, and periodically check that the list stays up to date.
3. Requirement and Verification Material
| Clause | Requirement | Verification Material |
|---|---|---|
| 3.2 | The organization shall identify the roles and responsibilities that affect the program’s execution and effectiveness, determine the competence required for each role, and ensure participants have it. Where relevant to the use case, competence shall be secured in the governance, security, safety, privacy, development, and supplier management functions. | 3.2.1 A documented list of roles with the responsibilities of each participant 3.2.2 A document identifying the competence for each role 3.2.3 Documented evidence of assessed competence for each participant (including periodic checks to keep the list up to date) |
View original English text
3.2 Competence The organisation shall identify the roles and the corresponding responsibilities of those roles that affect the performance and effectiveness of the program; determine the necessary competence of program participants fulfilling each role (Governance, Security, Safety, Privacy, Development, Supplier management if relevant to the use case); ensure that program participants are competent on the basis of appropriate education, training, and/or experience; and retain appropriate documented information as evidence of competence.
Verification material(s):
- A documented list of roles with corresponding responsibilities for the different participants in the program.
- A document that identifies the competencies for each role.
- Documented evidence of assessed competence for each program participant, with periodic checks to keep the list up-to-date.
4. How to Comply with Each Verification Material, with Samples
3.2.1 List of Roles and Responsibilities
How to Comply
Document the roles involved in the program and the responsibilities of each. In addition to the usual open source roles, an AI SBOM program includes an AI governance role and roles that review models and datasets. Writing responsibilities out specifically makes the later work of defining competence (3.2.2) and assigning accountability (3.8.4) clearer.
Sample
| Role | Responsibility |
|------|------|
| AI Governance Lead | Approves the framework, determines regulatory obligations, chairs periodic reviews |
| AI SBOM Verification Owner | Generates, reviews, and approves the AI SBOM; reflects inbound materials |
| License Review Owner | Determines licensing obligations for models, datasets, and the model tree |
| Data Owner | Manages the provenance and licensing of training/validation datasets |
3.2.2 Competence Required per Role
How to Comply
Define the competence each role must have. Of the six functions the specification lists (governance, security, safety, privacy, development, supplier management), select the ones that apply to the role and use case, and add AI-specific competence. For example, the license review owner needs the competence to interpret the usage restrictions of non-standard licenses (Llama Community, OpenRAIL).
Sample
| Role | Required Competence |
|------|----------|
| AI Governance Lead | Governance, understanding of AI regulation (EU AI Act, Korea's AI Basic Act), risk management |
| AI SBOM Verification Owner | Development, SPDX/CycloneDX formats, model card interpretation, generation tool operation |
| License Review Owner | Supplier management, interpreting open source and non-standard licenses, model tree tracing |
| Data Owner | Privacy, dataset licensing, provenance management |
3.2.3 Competence Assessment Evidence
How to Comply
Assess whether each participant actually has the competence their role requires, and retain the evidence. Training completion, qualifications, and hands-on experience serve as the basis. Since AI regulation and licensing change quickly, periodically check the list to keep it current.
Considerations
- Diversify the basis for assessment: Use not only training completion but also practical work products (e.g., license review records) as competence evidence.
- Periodic checks: Re-review competence requirements when new regulation takes effect or new license types emerge.
- Fill gaps: When an assessment reveals a competence gap, close it with training or outside expertise (3.8 Effectively Resourced).
Sample (Competence Assessment Log)
| Participant (Role) | Role | Assessment Item | Basis | Result | Assessment Date |
|-------------|------|----------|----------|------|--------|
| Lee, OO | AI SBOM Verification Owner | Writing CycloneDX ML-BOM | Internal training + work products | Met | 2026-03-10 |
| Park, OO | License Review Owner | Interpreting non-standard licenses | 5 years of OSS legal experience | Met | 2026-03-10 |
5. References
- Procedure for attaching resources to roles: 3.8 Effectively Resourced
- Securing participant awareness: 3.3 Awareness
- ISO/IEC 5230 competence model: ISO/IEC 5230 Compliance Guide — 3.1.2 Competence
7.1.3 - 3.3 Awareness
This clause is established during Phase 1 — Program Foundation. View the full implementation roadmap
1. Clause Overview
If competence (3.2) addresses “can they do it,” awareness addresses “do they know why they should.” It is not enough for participants to merely know that a policy exists. Compliance functions in practice only when participants also know how their own work contributes to the program and what happens if they fail to follow it.
3.3 requires ensuring that program participants are aware of four things: the AI SBOM policy, relevant business objectives, their own contribution to the program’s effectiveness, and the implications of not following the program’s requirements. In AI, the implications of non-conformance extend beyond copyright disputes to regulatory violations and breaches of usage restrictions, so participants must clearly recognize this.
2. Required Activities
- Ensure participants know the AI SBOM policy and where to find it.
- Communicate relevant business objectives (building trust, regulatory compliance, meeting supply-chain requirements).
- Inform participants how their own work contributes to the program.
- Inform participants of the implications of non-conformance (regulatory violations, contract termination, breaches of usage restrictions).
- Assess participants’ awareness and preserve evidence of that assessment.
3. Requirements and Verification Material
| Clause | Requirement (EN) | Verification Material |
|---|---|---|
| 3.3 | The organisation shall ensure that the program participants are aware of the AI SBOM policy, relevant business objectives, their contribution to the effectiveness of the program, and the implications of not following the Program’s requirements. | 3.3.1 Documented evidence of assessed awareness for the program participants, which should include: the program’s objectives; one’s contribution within the program; and the implications of program non-conformance |
View original English text
3.3 Awareness The organisation shall ensure that the program participants are aware of: the AI SBOM policy; relevant business objectives; their contribution to the effectiveness of the program; and the implications of not following the Program’s requirements.
Verification material(s):
- Documented evidence of assessed awareness for the program participants, which should include: the program’s objectives; one’s contribution within the program; and the implications of program non-conformance.
4. Compliance Methods and Samples by Verification Material
3.3.1 Evidence of assessed participant awareness
Compliance Method
Assess whether participants actually understand the four awareness elements and keep evidence of that assessment. If policy dissemination (3.1.2) proves that participants “were informed,” the awareness assessment proves that they “understood.” Assess through post-training comprehension quizzes, acknowledgment signatures, or interviews. Make sure the assessment does not omit the three elements the standard specifies in its verification material: the program’s objectives, one’s own contribution, and the implications of non-conformance.
Considerations
- Cover all four elements: In addition to policy awareness, include objectives, contribution, and the implications of non-conformance in the assessment. Omitting even one can be flagged during a certification audit.
- Emphasize AI-specific implications: Include regulatory violations (the EU Artificial Intelligence Act, Korea’s AI Basic Act) and breaches of non-standard license usage restrictions among the implications of non-conformance.
- Differentiate by role: Data staff and developers contribute differently, so tailor the assessment content to each role.
- Retain evidence: Preserve assessment results and acknowledgment signatures for use as verification material.
Sample (Awareness Assessment Log)
| Participant (Role) | Policy Awareness | Objectives Awareness | Contribution Awareness | Non-conformance Awareness | Assessment Method | Assessment Date |
|-------------|:--------:|:--------:|:--------:|:---------------:|----------|--------|
| Lee OO (Development) | Met | Met | Met | Met | Post-training check | 2026-03-10 |
| Park OO (Data) | Met | Met | Met | Met | Interview + signature | 2026-03-11 |
Sample acknowledgment signature form:
I have been informed of and understand our company's AI SBOM compliance policy, the program's
objectives, my own contribution, and the implications of non-conformance (regulatory violations,
license usage restriction breaches, contract termination).
Name: ____ Role: ____ Signature: ____ Date: ____
5. See Also
- Policy and dissemination procedure: 3.1 Policy
- Competence by role: 3.2 Competence
- ISO/IEC 5230 awareness example: ISO/IEC 5230 Compliance Guide — 3.1.3 Awareness
7.1.4 - 3.4 Program Scope
This clause is established during Phase 1 — Program Foundation. View the full implementation roadmap
1. Clause Overview
Program scope determines how far compliance extends. If the scope is ambiguous, it becomes unclear which AI systems need an SBOM and which models’ licenses need review. Scope must be declared first so that every subsequent clause knows what it applies to.
3.4 requires declaring the scope of application for each program. Scope can differ by organization. Some organizations cover a single product line; others cover an entire department or the whole organization. In AI, scope determination covers not only self-developed models but also externally sourced models and datasets, and the external release of in-house models.
2. Required Activities
- Define what the program applies to (externally deployed AI systems, externally sourced models and datasets, external release of in-house models, and so on).
- Record what is excluded from application and the rationale for the exclusion.
- Keep the scope statement consistent with the scope of application in the policy document.
- Review and update the scope periodically as the business environment changes.
3. Requirements and Verification Material
| Clause | Requirement (EN) | Verification Material |
|---|---|---|
| 3.4 | Different programs may be governed by different levels of scope. For example, a program could govern a single product line, an entire department, or an entire organisation. The scope designation needs to be declared for each program. | 3.4.1 A written statement that clearly defines the scope and limits of the program |
View original English text
3.4 Program scope Different programs may be governed by different levels of scope. For example, a program could govern a single product line, an entire department, or an entire organisation. The scope designation needs to be declared for each program.
Verification material(s):
- A written statement that clearly defines the scope and limits of the program.
4. Compliance Methods and Samples by Verification Material
3.4.1 Program scope statement
Compliance Method
State the program’s scope and limits in writing. Clearly note what is included, what is excluded, and if excluded, on what grounds. An AI SBOM program becomes clearer when it declares what it applies to by breaking it down into material types and activities. The table below is an example of organizing scope.
Table 1. Example of an AI SBOM program scope declaration
| Category | Applies | Notes |
|---|---|---|
| AI systems, models, and services deployed externally | Yes | AI SBOM generation and license review obligations |
| Pretrained models sourced externally | Yes | Reflected in the AI SBOM as inbound material |
| Datasets sourced externally | Yes | License and provenance review |
| External release of in-house models | Yes | Review of public-release license and transparency obligations |
| Internal experimental models (not deployed externally) | Conditionally excluded | Applicability determined by separate review |
Considerations
- Consistency with policy: The scope statement should not conflict with the scope of application in 3.1 Policy.
- Grounds for exclusion: Record the rationale for excluded items. Even an internal experimental model falls into scope once it moves to external deployment, so put a review procedure in place for that transition point. ([Recommendation of this guide])
- Periodic review: Update the scope whenever a new product line or new AI service is introduced.
Sample (Scope Statement)
## AI SBOM Compliance Program Scope
### Applies To
This program applies to all AI systems, models, and services that the company deploys
externally, and to pretrained models and datasets sourced externally. It also covers
activities that release in-house models externally.
### Excluded
Models used solely for internal experimentation or research and not deployed externally
are excluded. However, if such a model transitions to external deployment, it is brought
into scope through the intake review procedure.
### Review Cycle
Scope is reviewed and updated at least once a year, or as the business environment
changes.
5. See Also
- Scope of application in the policy: 3.1 Policy
- AI SBOM for material within scope: 3.9 AI SBOM
- ISO/IEC 5230 scope example: ISO/IEC 5230 Compliance Guide — 3.1.4 Program Scope
7.2 - AI Extension Process
This is stage 2 of the implementation roadmap. It is the area where the AI SBOM guide extends most significantly beyond ISO/IEC 5230, covering licensing obligations (3.5), transparency obligations (3.6), and AI SBOM generation and management (3.9).
7.2.1 - 3.5 License Obligations
This clause is built during Phase 2 — AI Extension Processes. View the full implementation roadmap
1. Clause Overview
License obligations are where the AI SBOM Guide expands most on ISO/IEC 5230. Where traditional open source compliance reviewed the licenses of code, AI expands the review to four fronts: an AI system’s code, model weights, datasets (including training, testing, and validation datasets), and the license of the AI system itself. It is common for a model to be derived from several other models, so each parent model sitting in the Model Tree can carry its own distinct license.
3.5 requires a procedure for reviewing these licenses to determine, in light of the AI system’s intended use, the obligations, restrictions, and rights each license grants. The review covers both obligations inherited from upstream and obligations passed downstream.
2. Activities to Perform
- Establish a procedure for identifying the licenses of code, weights, datasets, and the AI system itself.
- Track the license of each parent model in the model tree, and document the obligations, restrictions, and rights of each license.
- Perform an initial identification pass on source code and dependencies with automated scanning tools. ([Guide Recommendation])
- Route model weights, datasets, and non-standard licenses to legal or governance review. ([Guide Recommendation])
- Set up an intake procedure that requires license metadata to accompany any model or dataset brought in from outside. ([Guide Recommendation])
- Record the review results (obligations, restrictions, rights) in the AI SBOM for tracking.
3. Requirement and Verification Material
| Clause | Requirement | Verification Material |
|---|---|---|
| 3.5 | A procedure shall exist for reviewing the licenses of an AI system’s code, weights, datasets, and the AI system itself to determine, taking the intended use into account, the obligations, restrictions, and rights each license grants. Note that parent models in the model tree may each carry their own distinct license. | 3.5.1 A documented procedure for properly reviewing and documenting the upstream and downstream obligations, restrictions, and rights granted by each identified license |
View original English text
3.5 License obligations A process shall exist for reviewing the relevant identified licenses for an AI system’s code, weights, and datasets (including but not limited to training, testing, and verification datasets) as well as the license for the AI system itself to determine the obligations, restrictions, and rights granted by each license, taking into account the intended use of the AI system. Note that it’s often the case that an AI system is trained on multiple other AI systems that may be identified in the AI system Model Tree for example; each of these may have their own licenses.
Verification material(s):
- A documented procedure to review and document upstream and downstream obligations, restrictions, and rights granted by each identified license, as appropriate.
4. How to Comply with Each Verification Material, with Samples
3.5.1 License Obligation Review and Documentation Procedure
How to Comply
Design the review procedure around the premise that the level of automation differs by material type. Source code and dependency licenses can be identified to a large degree with automated scanning tools such as FOSSology, ScanCode, and the OSS Review Toolkit. But the licensing of model weights and datasets, and the derivation relationships in the model tree, fall outside the reach of these tools or are identified with low accuracy. The usage-purpose restrictions of non-standard licenses require human interpretation. A realistic division of labor is therefore to do an initial identification pass with automated scanning, and route models, datasets, and non-standard licenses to legal or governance review.
The figure below shows the decision flow for determining license obligations as materials come in.

Figure 1. Decision flow for license obligation review
Considerations
- Enforce metadata at the intake gate: The largest cause of missed license obligations is license drift — the loss of provenance and license information as a model propagates downstream. One study reports that a substantial share of restriction clauses disappear in the transition from model to application (arXiv:2509.09873). Rather than trying to reconstruct this downstream, it is more effective to block the intake of materials lacking license metadata at the internal model/dataset registry. ([Guide Recommendation])
- Decide non-standard licenses through policy in advance: The behavioral use restrictions of the Llama Community License or the OpenRAIL family are hard to track automatically for compliance after the fact. Decide them at intake time using the allowed/prohibited lists in 3.1 Policy. ([Guide Recommendation])
- Trace the model tree: Check the model card to see which parent model an incoming model was derived from, and review whether the parent model’s license obligations propagate downstream.
- Check dataset usage restrictions: Check whether a non-commercial-licensed dataset such as CC-BY-NC was used to train a commercial product. Dataset license omissions and misstatements are common, so cross-check against the original text.
- Recognize the limits of automation: Do not treat automated scan results as the final judgment. Tools help with identification; people handle the interpretation of obligations and conflict determination.
Sample
Below is a sample of the core part of a license obligation review procedure document. This procedure document becomes verification material 3.5.1.
## AI License Obligation Review Procedure
### 1. Scope of Review
- AI system code and dependencies
- Model weights (imported models, fine-tuned models)
- Datasets (training, testing, validation)
- Licenses of parent models in the model tree
### 2. Review Steps
1) Automated identification: scan code and dependencies for licenses using an SCA tool.
2) Metadata collection: collect licenses for models and datasets from model cards and
datasheets. Hold intake if metadata is missing.
3) Classification: check identified licenses against the policy's allowed/conditional/
prohibited lists.
4) Legal review: route non-standard or unclear licenses to legal/governance review to
interpret the obligations.
5) Recording: record upstream and downstream obligations, restrictions, and rights in
the AI SBOM.
### 3. Responsibility and Frequency
- Initial identification: development staff
- Interpreting obligations: legal / AI governance lead
- Re-review: when a model or dataset is replaced, and at least once a quarter
5. References
- Policy for allowed/prohibited license lists: 3.1 Policy
- AI SBOM for recording review results: 3.9 AI SBOM
- Automated scanning tools: Tools — FOSSology, SCANOSS
- AI model/dataset licensing strategy: Enterprise Open Source Management Guide — AI Compliance
7.2.2 - 3.6 Transparency Obligations
This clause is established during Phase 2 — AI Extension Process. View the full implementation roadmap
1. Clause Overview
If license obligations (3.5) ask “do we have the right to use this material,” transparency obligations ask “what must we disclose about this material.” The two obligations come from different sources. License obligations are imposed by the rights holder through a contract; transparency obligations are imposed by regulation through law.
3.6 requires having a procedure to review whether there are transparency obligations imposed by regulation. The scope of review includes training, testing, and verification datasets, taking into account the model’s intended use. If the use case for the training data creates a transparency issue (e.g., a disclosure obligation to downstream recipients), appropriate risk mitigation measures must be taken. As the EU Artificial Intelligence Act begins full enforcement of transparency obligations from August 2026, the practical weight of this clause is growing.
2. Required Activities
- Maintain a procedure to identify the transparency regulations that apply to AI systems being adopted or developed.
- Review whether training, testing, and verification datasets carry disclosure obligations, based on their intended use.
- Determine risk mitigation measures where a disclosure obligation to downstream recipients exists.
- Document the transparency measures taken.
- Regularly update and reflect the latest transparency obligations set by regulators. ([Recommendation of this guide])
3. Requirements and Verification Material
| Clause | Requirement (EN) | Verification Material |
|---|---|---|
| 3.6 | A process shall exist for reviewing if there are any transparency obligations from regulations including but not limited to training, testing, and verification datasets, taking into account the intended use of the model. If the use case for the training data creates a relevant issue (e.g., disclosure obligations to downstream recipients) in the context of transparency, then appropriate risk mitigation measures should be undertaken. | 3.6.1 A documented procedure to review and document the transparency measures undertaken |
View original English text
3.6 Transparency obligations A process shall exist for reviewing if there are any transparency obligations from regulations including but not limited to training, testing, and verification datasets, taking into account the intended use of the model. If the use case for the training data creates a relevant issue (e.g., disclosure obligations to downstream recipients) in the context of transparency, then appropriate risk mitigation measures should be undertaken.
Verification material(s):
- A documented procedure to review and document the transparency measures undertaken.
4. Compliance Methods and Samples by Verification Material
3.6.1 Procedure to review and document transparency obligations
Compliance Method
Transparency obligations differ by regulation, so first identify which regulations apply. Once the applicable regulations are determined, derive the disclosure items each one requires and reflect those items in the AI SBOM or model card. Unlike license obligations, transparency obligations center on “disclosure,” so the output must be organized in a form that can be delivered externally.
The table below lists the main transparency obligations that intersect with the AI SBOM. The regulatory timeline and broader context are managed together in the regulatory matrix in 3.10 Governance.
Table 1. Transparency obligations that intersect with the AI SBOM (as of June 2026)
| Source | Transparency Obligation | Reflected in AI SBOM / Model Card |
|---|---|---|
| EU Artificial Intelligence Act Article 53 (GPAI) | Public summary of training data, honoring copyright opt-outs | Dataset provenance and license, opt-out handling records |
| EU Artificial Intelligence Act Article 50 | Labeling AI-generated content, notice of AI interaction | Output labeling policy |
| Korea’s AI Basic Act | Labeling obligation for high-impact and generative AI, disclosure of training data provenance | Model card labeling and provenance fields |
| License-derived notices | Notices such as “Built with Llama,” naming of derivative models | Tracked together with license obligations (3.5) |
The figure below shows the review flow that derives transparency obligations from a material’s intended use.

Figure 1. Transparency obligation review flow
Considerations
- Dataset provenance is central: Most transparency obligations attach to training data. A dataset’s provenance and license must be recorded in the AI SBOM to fulfill disclosure obligations. This connects directly to the AI SBOM (3.9).
- Intended use is the criterion: The same model can carry different transparency obligations depending on the use case. High-risk uses or services aimed at the general public carry heavier obligations.
- Downstream disclosure obligations: When supplying a model or system externally, review what information the recipient must be told. Risk mitigation can be fulfilled through a public summary of training data or contractual notice.
- Reflect regulatory change: Since the EU Artificial Intelligence Act applies transparency obligations from August 2026, update the procedure to match the timeline. Responsibility for the update is managed by governance (3.10).
Sample (Transparency Obligation Review Procedure)
Below is a sample of the core part of a transparency obligation review procedure document. This procedure document becomes verification material 3.6.1.
## Transparency Obligation Review Procedure
### 1. Identify Applicable Regulations
Identify applicable regulations based on the AI system's intended use and deployment
region.
(e.g., EU market deployment → EU Artificial Intelligence Act; domestic high-impact AI →
Korea's AI Basic Act)
### 2. Derive Disclosure Items
Organize each regulation's transparency obligations into disclosure items.
- Training data summary (EU Artificial Intelligence Act Article 53)
- AI-generated / interaction labeling (EU Artificial Intelligence Act Article 50, Korea's
AI Basic Act)
- Data provenance disclosure (Korea's AI Basic Act)
### 3. Downstream Review
Review the information to be conveyed to recipients on external supply, and determine the
necessary risk mitigation measures.
### 4. Reflection and Documentation
Reflect the derived disclosure items in the AI SBOM and model card, and record the
measures taken.
### 5. Responsibility and Cycle
- Review: Legal and AI governance lead
- Update: On changes to regulatory enforcement timelines, and at least semiannually
5. See Also
- Distinction from license obligations: 3.5 License Obligations
- AI SBOM to hold disclosure items: 3.9 AI SBOM
- Regulatory timeline and governance: 3.10 Governance
- AI model licenses and labeling obligations: Enterprise Open Source Management Guide — AI Compliance
7.2.3 - 3.9 AI SBOM
This clause is built during Phase 2 — AI Extension Processes. View the full implementation roadmap
1. Clause Overview
An AI SBOM (AI System Bill of Materials) is a list capturing the elements that make up an AI system and the information about them. Where a traditional SBOM records software components, an AI SBOM adds models, weights, datasets, and hyperparameters on top. 3.9 requires a procedure for generating and managing the AI SBOM.
The format is left open. The specification states that SPDX, CycloneDX, or any other format is acceptable. There is, however, one obligation: the AI SBOM shall account for inbound materials from third parties. If pre-trained models and datasets brought in from outside are left out, the basis for tracking license obligations (3.5) and transparency obligations disappears.
The AI SBOM area is where the line “generation is automated by tools, but accuracy and compliance judgment are filled by people” is sharpest. This page walks through the procedure along that line.
2. Activities to Perform
- Establish a procedure for identifying, tracking, reviewing, approving, and archiving the components of an AI system (models, datasets, etc.).
- Decide on an AI SBOM format (SPDX 3.0 AI Profile or CycloneDX ML-BOM recommended). ([Guide Recommendation])
- Ensure models and datasets brought in from third parties are always included in the AI SBOM.
- Wire a generation tool into CI/CD to regenerate the AI SBOM repeatedly. ([Guide Recommendation])
- Have a person review whether the license and provenance fields of the generated AI SBOM are accurate. ([Guide Recommendation])
- Retain records (generation history, approval history) demonstrating that the procedure was followed.
3. Requirement and Verification Material
| Clause | Requirement | Verification Material |
|---|---|---|
| 3.9 | A procedure shall exist for generating and managing an AI SBOM. Any format — SPDX, CycloneDX, or another — is acceptable. The AI SBOM shall account for inbound materials from third parties. | 3.9.1 A documented procedure for identifying, tracking, reviewing, approving, and archiving information about the components of an AI system (models, datasets, etc.) 3.9.2 Records demonstrating the procedure was properly followed for the supplied system |
View original English text
3.9 AI System Bill of Materials A process shall exist for creating and managing an AI SBOM, this can be in any format e.g. SPDX, CycloneDX, or another format. The AI SBOM shall account for inbound materials from third-parties.
Verification material(s):
- A documented procedure for identifying, tracking, reviewing, approving, and archiving information related to the components of an AI system (e.g., model, datasets, etc).
- Records for the supplied system that demonstrates the documented procedure was properly followed.
4. How to Comply with Each Verification Material, with Samples
3.9.1 AI SBOM Management Procedure (Identification, Tracking, Review, Approval, Archiving)
How to Comply
Design the AI SBOM procedure around four stages: generation, review, approval, and archiving. Automate the generation stage with tools, and leave the review and approval stages to people. Even when a tool copies a license field straight from a model card, it cannot judge whether that license actually fits the use case, or whether something is missing or misstated.
The figure below shows the flow from AI SBOM generation to archiving.

Figure 1. Procedure from AI SBOM generation to archiving
Tool Mapping
Below are open source tools usable at each stage. “Automation level” indicates how far a tool handles that task on its own.
| Stage | Task | Automation Level | Representative Tool |
|---|---|---|---|
| Generation | Code/dependency BOM | Mature | cdxgen, Syft |
| Generation | Model/metadata AIBOM | Tools emerging | OWASP AIBOM Generator, cdxgen aibom |
| Analysis | Static inspection of model binaries | Tools emerging | Lab700x AI SBOM Scanner |
| Management | SBOM storage, vulnerability monitoring | Mature | Dependency-Track, SW360 |
| Review | License/provenance accuracy judgment | People/policy | Tool support still developing |
Installation, usage, and execution screens for each tool are covered in detail in the Tools section (OWASP AIBOM Generator, cdxgen, Model/Container Scanners).
The command to generate an AI BOM with cdxgen is as follows. You can pass a Hugging Face model URL and purl, a Modelfile, or a GGUF artifact directly (cdxgen AI-BOM docs).
# Generate an AI BOM from the AI project directory
cdxgen -t ai -o aibom.json .
# Generate including AI/ML metadata (formulation)
cdxgen -t ai --include-formulation -o aibom.json .
The OWASP AIBOM Generator takes a Hugging Face model as input, builds a CycloneDX-format AIBOM, and scores its completeness. It is maintained by the OWASP Gen AI Security Project and is also available as a Hugging Face Space (OWASP AIBOM Generator).
Hands-On — Generating with cdxgen
This is the result of actually running cdxgen against a summarization app (depending on
transformers and torch) that loads a pre-trained model (facebook/bart-large-cnn). The tool
automatically identifies 5 dependencies and produces a CycloneDX 1.7-format BOM.
$ cdxgen -t python --include-formulation -o aibom.json .
CycloneDX Generator 12.5.1 (Node.js)
Generated components — 5 items (CycloneDX 1.7):
transformers 4.44.2 pkg:pypi/transformers@4.44.2 license: empty
torch 2.4.0 pkg:pypi/torch@2.4.0 license: empty
numpy 1.26.4 pkg:pypi/numpy@1.26.4 license: empty
tokenizers 0.19.1 pkg:pypi/tokenizers@0.19.1 license: empty
huggingface-hub 0.24.6 pkg:pypi/huggingface-hub@0.24.6 license: empty
One component from the generated BOM looks like this. The identification evidence is filled in,
but the licenses field is empty.
{
"name": "transformers",
"version": "4.44.2",
"purl": "pkg:pypi/transformers@4.44.2",
"type": "library",
"evidence": {
"identity": [
{ "field": "purl", "confidence": 0.5,
"methods": [{ "technique": "manifest-analysis", "value": "requirements.txt" }] }
]
}
}
Figure 2. cdxgen 12.5.1 execution output (run on 2026-06-13, -t python --include-formulation)
- The tool automatically identified 5 dependencies from
requirements.txtand built a BOM. Generation is automated. - But the
licensesfield of every component is empty. License accuracy has to be checked and filled in by a person. - The pre-trained model
facebook/bart-large-cnnthe app loads was not captured in the BOM by code scanning alone. It has to be collected separately as an inbound material and added (see Considerations below).
The boundary this clause states — “generation by tool, accuracy and completeness by people” — shows up directly in the actual tool output here.
Format Sample (CycloneDX ML-BOM)
Below is a shortened example of the model component structure in a CycloneDX 1.6 ML-BOM. The key
structure follows the machine-learning-model component and modelCard in the official
CycloneDX spec. If the license is non-standard (has
no SPDX ID), state it with name.
{
"bomFormat": "CycloneDX",
"specVersion": "1.6",
"components": [
{
"bom-ref": "model-llama31-8b",
"type": "machine-learning-model",
"group": "meta-llama",
"name": "Llama-3.1-8B",
"version": "1.0",
"licenses": [
{ "license": { "name": "Llama 3.1 Community License" } }
],
"modelCard": {
"modelParameters": {
"task": "text-generation",
"architectureFamily": "llama",
"datasets": [
{ "type": "dataset", "name": "Public pretraining corpus", "classification": "public" }
]
},
"considerations": {
"useCases": ["Internal document summarization"],
"technicalLimitations": ["Potential for hallucination", "Performance variance in Korean"]
}
}
}
]
}
If you use SPDX 3.0, the AI Profile and Dataset Profile express the same information (SPDX 3.0 AI Profile). The concrete fields of each format and the technical details of generation tools are covered in the ISO/IEC 42001 Guide — AI SBOM.
Considerations
- Reflect inbound materials (specification obligation): Set up a procedure that generates an
SBOM entry at intake time so that models and datasets brought in from outside are never missing
from the AI SBOM. This is a
shall-level obligation. - Generation by tool, review by people: Generation tools copy the license written on the model card as-is. Because model cards themselves commonly have missing or incorrect license information, have a person check the license and provenance fields of the generated AI SBOM against the original source.
- Format consistency: Pick either SPDX or CycloneDX as the organization’s default format and operate tools and repositories around it consistently. Both formats treat models and datasets as first-class components.
- CI/CD integration: The AI SBOM is not a one-time deliverable. Wire it into the pipeline so it is regenerated whenever a model or dataset changes.
3.9.2 Records Demonstrating Procedure Compliance
How to Comply
Verification material 3.9.2 is the record showing the procedure was actually followed. Alongside the AI SBOM file itself, keep a history of who generated, reviewed, and approved it and when. If it is generated automatically in CI/CD, the build logs and the generated SBOM artifact become the record, and the upload history to a management tool such as Dependency-Track also serves as evidence.
Considerations
- Retain generation history: Keep the AI SBOM from each point in time for every version of the supplied AI system to maintain traceability.
- Approval record: Record who reviewed and approved it. This connects to the lifecycle review in Governance (3.10).
5. References
- License obligation review procedure: 3.5 License Obligations
- Technical details of AI SBOM formats and generation tools: ISO/IEC 42001 Guide — AI SBOM
- SBOM management tools: Dependency-Track, cdxgen + Dependency-Track integration
- Governance and lifecycle review: 3.10 Governance
7.3 - Operations
This is stage 3 of the implementation roadmap. It establishes a channel to respond to external AI SBOM compliance inquiries (3.7) and assigns responsibility, personnel, and funding to the program (3.8).
7.3.1 - 3.7 Access
This clause is established during Phase 3 — Operations. View the full implementation roadmap
1. Clause Overview
Organizations that exchange AI systems in the supply chain need to verify each other’s compliance. That requires a publicly available channel for external inquiries, and readiness on the organization’s side to respond to them. Access secures both directions.
3.7 requires two things: publicly identifying a means by which a third party can make an AI SBOM compliance inquiry, and maintaining an internal procedure to respond effectively to that inquiry. In AI, AI-specific information — model and dataset licenses, training data provenance, model cards — is added to the subject matter of such inquiries.
2. Required Activities
- Publicly identify a means (e.g., a public email address) by which a third party can make an AI SBOM compliance inquiry.
- Post the public means somewhere externally discoverable, such as a product notice or website.
- Document the internal procedure for receiving, classifying, and responding to external inquiries.
- Define the responsible party and the response deadline.
- Record the history of inquiries and responses.
3. Requirements and Verification Material
| Clause | Requirement (EN) | Verification Material |
|---|---|---|
| 3.7 | Maintain a process to effectively respond to external AI SBOM Compliance inquiries. Publicly identify a means by which a third party can make an AI SBOM Compliance inquiry. | 3.7.1 Publicly visible method that allows any interested parties to make an AI SBOM Compliance inquiry (e.g., via a published contact email address) 3.7.2 An internal documented procedure for responding to third-party AI SBOM Compliance inquiries |
View original English text
3.7 Access Maintain a process to effectively respond to external AI SBOM Compliance inquiries. Publicly identify a means by which a third party can make an AI SBOM Compliance inquiry.
Verification material(s):
- Publicly visible method that allows any interested parties to make an AI SBOM Compliance inquiry (e.g., via a published contact email address).
- An internal documented procedure for responding to third-party AI SBOM Compliance inquiries.
4. Compliance Methods and Samples by Verification Material
3.7.1 Publicly identified means of external inquiry
Compliance Method
Identify a public contact means that anyone can find. A role-based email address (a job function address, not an individual) is stable. Post it in locations such as the product notice, the open source/AI policy page on the company website, or the contact field of the model card. Stating a response deadline alongside it builds trust.
Sample
AI Compliance Inquiries: ai-compliance@company.com
We accept inquiries regarding the components of the AI systems we provide, model and
dataset licenses, and AI SBOMs. We send an initial reply within 14 business days of
receipt.
(Posted at: product notice, company website AI policy page, model card contact field)
3.7.2 Internal inquiry response procedure
Compliance Method
Document the internal procedure from receiving an external inquiry to answering it. Define the stages of intake, classification, assignment, review, reply, and recording, with a deadline for each stage. Because AI SBOM inquiries need to reference model cards or license review records, the AI SBOM verification lead and the license review lead respond together.
The figure below shows the external inquiry response flow.

Figure 1. External AI SBOM compliance inquiry response flow
Considerations
- Set deadlines: Define both an initial reply deadline (e.g., 14 days) and a final answer deadline (e.g., 60 days).
- Protect AI-specific information: Set a standard for how far to disclose sensitive information such as model weights or training data when answering inquiries. Define the boundary between trade secrets and transparency obligations (3.6). ([Recommendation of this guide])
- Retain history: Record the inquiry content, the reply, and the processing time as verification material.
Sample (Response Procedure Outline)
## AI SBOM Compliance Inquiry Response Procedure
1. Intake: Register inquiries received at ai-compliance@.
2. Classification: Classify as AI SBOM request / license inquiry / transparency
obligation inquiry.
3. Assignment: Assign to the AI SBOM verification lead or the license review lead based
on classification.
4. Review and Reply: Reply after checking the relevant AI SBOM and model card. Follow the
disclosure standard for sensitive information. Involve legal review if needed.
5. Record: Retain the inquiry, reply, and processing time.
Deadlines: 14 days for the initial reply, 60 days for the final answer.
5. See Also
- Role and resources of the response lead: 3.8 Effective Resource Allocation
- AI SBOM used in replies: 3.9 AI SBOM
- Disclosure scope and transparency obligations: 3.6 Transparency Obligations
- ISO/IEC 5230 external inquiry example: ISO/IEC 5230 Compliance Guide — 3.2.1 Responding to External Inquiries
7.3.2 - 3.8 Effectively Resourced
This clause is built during Phase 3 — Operational Structure. View the full implementation roadmap
1. Clause Overview
If competence (3.2) defines who should be able to do what, effective resourcing is what actually attaches people, time, and budget to those roles so the program runs. When policy and procedures exist only on paper and no resources back them, compliance is a name only.
3.8 requires assigning accountability for program tasks and allocating adequate resources. There are five verification materials, covering the naming of role holders, the provision of staffing and funding, access to legal expertise, an internal responsibility-assignment procedure, and a non-conformance remediation procedure. The specification references the resource-related sections of ISO/IEC 42001 Annex B (B.4.2, B.4.6) and the human oversight determination section (B.9.3).
2. Activities to Perform
- Assign accountability for the successful execution of program tasks.
- Allocate sufficient time and funding to the tasks.
- Make legal expertise on AI SBOM compliance accessible to those who need it.
- Have a procedure for reviewing and updating the policy and its supporting tasks.
- Have a procedure for reviewing and remediating non-conformances.
3. Requirement and Verification Material
| Clause | Requirement | Verification Material |
|---|---|---|
| 3.8 | The organization shall assign accountability for program tasks, allocate sufficient time and funding, and have access to legal expertise and a non-conformance remediation procedure. | 3.8.1 A document identifying the persons, groups, or functions holding program roles 3.8.2 Evidence that identified roles have been staffed and adequately funded 3.8.3 Identification of expertise (internal or external) available to handle AI SBOM compliance matters 3.8.4 A documented procedure for assigning internal responsibility for AI SBOM compliance 3.8.5 A documented procedure for handling the review and remediation of non-conformances |
View original English text
3.8 Effectively resourced Identify and Resource Program Task(s): assign accountability to ensure the successful execution of program tasks; program tasks are sufficiently resourced (time and adequate funding allocated); a process exists for reviewing and updating the policy and supporting tasks; legal expertise pertaining to AI SBOM Compliance is accessible to those who may need such guidance; and a process exists for the resolution of AI SBOM Compliance issues.
Verification material(s):
- Document with name of persons, group or function in program role(s) identified.
- The identified program roles have been properly staffed and adequate funding provided.
- Identification of expertise available to address AI SBOM Compliance matters which could be internal or external.
- A documented procedure that assigns internal responsibilities for AI SBOM Compliance.
- A documented procedure for handling the review and remediation of non-compliant cases.
See, e.g., Sections B.4.2 and B.4.6 of Annex B of ISO/IEC 42001. Section B.9.3 also provides guidance to determine if human resources for human oversight should be incorporated.
4. How to Comply with Each Verification Material, with Samples
3.8.1 Document Identifying Role Holders
How to Comply
Document, by name, the people, groups, or functions holding program roles. Including the job title alongside the name is more stable against personnel changes. The AI SBOM program needs, in addition to the usual open source roles, an AI governance lead, an AI SBOM verification owner, and a model/dataset license review owner.
Sample
| Role | Holder (Job Title) | Contact |
|------|-------------|--------|
| AI Governance Lead | Kim, OO (AI Ethics & Governance Lead) | ai-gov@company.com |
| AI SBOM Verification Owner | Lee, OO (Platform Engineer) | sbom@company.com |
| License Review Owner | Park, OO (Open Source Legal) | oss-legal@company.com |
| Security Owner | Choi, OO (Product Security) | psirt@company.com |
3.8.2 Staffing and Funding
How to Comply
Show that identified roles are actually staffed and that budget has been allocated. Record the time allocation (e.g., 30%) and the basis for the annual budget. AI SBOM compliance takes time for model/dataset review and tool operation, so estimate the per-role time allocation realistically.
Considerations
- State the time allocation: For a shared role, record the percentage of time allocated to AI SBOM work.
- Tool budget: Include the cost of AI SBOM generation/management tools and legal counsel in the budget.
Sample
| Role | Holder | Time Allocation | Annual Budget Basis | Approver / Approval Date |
|------|--------|----------|---------------|--------------|
| AI Governance Lead | Kim, OO | 30% | Personnel cost + regulatory counsel | CTO / 2026-01-15 |
| AI SBOM Verification Owner | Lee, OO | 50% | Personnel cost + tool operation | CTO / 2026-01-15 |
3.8.3 Access to Legal Expertise
How to Comply
Make legal expertise on AI SBOM compliance accessible to those who need it. Because interpreting non-standard licenses and determining regulatory obligations is legal’s job, specify the access path — internal legal counsel or an outside firm. Also define escalation criteria (which matters get escalated to legal).
Sample
- Internal: Open Source Legal Owner (Park, OO) — first-pass license review
- External: XX Law Firm, AI/IP team — non-standard license disputes, regulatory interpretation
- Escalation criteria: a license not on the policy's prohibited/conditional lists, determining
downstream disclosure obligations, matters where new regulation newly applies
3.8.4 Internal Responsibility Assignment Procedure
How to Comply
Document the procedure for assigning internal responsibility for AI SBOM compliance. Vague responsibility leads to gaps, so a RACI matrix distinguishing Responsible (R), Accountable (A), Consulted (C), and Informed (I) per task is effective.
Sample (RACI Matrix)
| Task | AI Governance Lead | AI SBOM Verification Owner | License Review Owner | Security Owner |
|---|---|---|---|---|
| AI SBOM generation | I | R | C | I |
| License obligation review | A | C | R | I |
| Transparency obligation review | A | C | R | I |
| Vulnerability monitoring | I | C | I | R |
| Periodic framework review | R/A | C | C | C |
R Responsible, A Accountable, C Consulted, I Informed
3.8.5 Non-Conformance Review and Remediation Procedure
How to Comply
Have a procedure for reviewing and remediating non-conformances (e.g., a prohibited-license model brought in, a missing AI SBOM, a failure to meet transparency obligations). Vary the handling deadline by severity. In AI, a licensing problem sometimes surfaces after a model has already been deployed, so prepare a remediation path that includes recall or replacement.
Sample (Remediation Procedure and Severity Criteria)
Remediation procedure: identify/report → assess severity → root-cause analysis → corrective
action → recurrence prevention → record
| Severity | Example | Handling Deadline |
|--------|------|----------|
| High | A prohibited-license model is included in a product shipped externally | Immediate response (contain/replace review within 48 hours) |
| Medium | An inbound model is missing from the AI SBOM | Backfill within 7 days |
| Low | Some model card metadata is missing | Handle at the next periodic review |
5. References
- Competence definitions per role: 3.2 Competence
- Governance review linked to non-conformance remediation: 3.10 Governance
- ISO/IEC 5230 resourcing model: ISO/IEC 5230 Compliance Guide — 3.2.2 Effectively Resourced
7.4 - Governance
This is stage 4 of the implementation roadmap. It brings the preceding clauses together to establish a governance framework across the full AI system lifecycle, and reviews it regularly to reflect emerging AI regulations (3.10).
7.4.1 - 3.10 Governance
This clause is built during Phase 4 — Governance. View the full implementation roadmap
1. Clause Overview
Governance is the framework that ties all the preceding clauses together to ensure the AI system’s lifecycle is developed, deployed, and managed responsibly from end to end. Where policy (3.1) sets the principles and license obligations (3.5) and the AI SBOM (3.9) build individual processes, governance manages these so they keep operating consistently through regulatory change and model replacement.
3.10 requires an AI governance framework, policies, and practices. The specification emphasizes compliance with emerging AI laws such as the EU AI Act, the Hiroshima AI Process, and China’s Global AI Governance Initiative, and addresses ethical considerations, risk management, and transparency together. The core is to review a framework, once built, periodically so it reflects the latest regulation and model changes.
2. Activities to Perform
- Write a governance framework document that spans the full AI system lifecycle.
- Include emerging AI regulation tracking, risk management, transparency, and ethical considerations in the framework.
- Have a procedure for periodically reviewing and updating the framework.
- Monitor the risks that come with the ongoing use of AI systems and training data.
- Reflect events such as model tree changes, regulatory enforcement, and OSAID classification changes in governance. ([Guide Recommendation])
3. Requirement and Verification Material
| Clause | Requirement | Verification Material |
|---|---|---|
| 3.10 | The organization shall have an AI governance framework, policies, and practices that help ensure AI systems are developed, deployed, and managed responsibly. This shall emphasize compliance with emerging AI laws (the EU AI Act, the Hiroshima AI Process, China’s initiative) and address ethical considerations, risk management, and transparency. | 3.10.1 A documented AI governance framework for the AI system lifecycle, including a procedure for periodically reviewing the framework |
View original English text
3.10 Governance An organization shall have a governance framework for AI, policies, and practices to help ensure that AI systems are developed, deployed, and managed responsibly. Governance emphasizes compliance with emerging AI laws and regulations, such as the EU AI Act, Hiroshima AI process or Global AI Governance Initiative (China), and addresses ethical considerations, risk management, and transparency. For example, understand the risks associated with ongoing use of AI Systems and training data in the context of their intended Programs. This could include the ability to monitor the lifecycle of the AI system and perform ongoing analysis of its intended uses.
Verification material(s):
- A documented AI governance framework for the lifecycle of an AI system with a process to review the framework periodically.
4. How to Comply with Each Verification Material, with Samples
3.10.1 AI Governance Framework and Periodic Review Procedure
How to Comply
The governance framework covers three things: tracking emerging regulation to derive obligations, monitoring the AI system lifecycle, and a procedure for periodically reviewing the framework itself. Because regulation changes quickly, the framework must be a living system built for updates, not a fixed document.
The three axes the specification names differ in character. The EU AI Act imposes concrete, article-level obligations; the Hiroshima AI Process runs voluntary transparency reporting; and China’s initiative is closer to a policy declaration. Governance distinguishes these differences and tracks each accordingly.
The table below lists the major regulations to track from an AI SBOM perspective. The full regulatory matrix and its ISO/IEC 42001 context are covered in ISO/IEC 42001 Guide — Organizational Context and Leadership.
Table 1. Major AI regulations intersecting with AI SBOM (as of 2026-06)
| Regulation/Initiative | Timing | Core AI SBOM-Relevant Obligation | Governance Reflection |
|---|---|---|---|
| EU AI Act Article 11 + Annex IV | 2027 (high-risk) | Technical documentation obligation | Produce the AI SBOM as a core element of the technical documentation |
| EU AI Act Article 53 (GPAI) | 2026-08 | Disclosure of a training data summary, respecting copyright opt-outs | Track dataset provenance and licensing |
| EU AI Act Article 50 | 2026-08 | Labeling of AI-generated content | Links to the transparency obligation (3.6) |
| Hiroshima AI Process | Launched 2025, Reporting 2.0 (2026-05) | Voluntary transparency reporting | Consider participating in the OECD reporting framework |
| China’s Global AI Governance Initiative | Announced 2023 | Policy declaration (no concrete deliverable) | Monitor trends |
| Korea’s AI Basic Act | Effective 2026-01 | High-impact AI impact assessment, labeling obligation, disclosure of training data provenance | AI SBOM and model card production |
Lifecycle monitoring means placing governance checkpoints along the flow from development to retirement. The figure below shows lifecycle governance built around the AI SBOM.

Figure 1. Lifecycle governance built around the AI SBOM
Considerations
- Assign regulatory-tracking responsibility: Specify in governance who tracks emerging regulation and derives obligations from it. The EU AI Act’s obligations expand in stages in August 2026 and 2027, so manage the timing.
- Manage model tree changes: When an imported model moves to a new version or a parent model is replaced, license obligations can change. Register the change as a governance review event. ([Guide Recommendation])
- Update OSAID classification: The distinction between “open source AI” and “open weight” (OSAID 1.0) affects model licensing judgments. Include classification changes in the periodic review.
- State the review cycle: Review model and dataset changes quarterly, and regulation and the overall framework annually. Record the review completion date and reviewer.
- Connect to other clauses: Governance ties together the regulatory review under the transparency obligation (3.6) and the lifecycle management under the AI SBOM (3.9) from above. Connect them rather than building duplicate procedures.
Sample (Governance Framework and Annual Review Plan)
Below is a sample of the core part of a governance framework document and periodic review plan. This document becomes verification material 3.10.1.
## AI Governance Framework
### 1. Scope and Purpose
Manages licensing, transparency, risk, and regulatory compliance across the full
lifecycle of an AI system — intake, development, deployment, operation, and
retirement.
### 2. Governance Structure
- AI Governance Lead: approves the framework, makes the final call on regulatory obligations
- Regulatory Tracking Owner: monitors emerging AI regulation, derives obligations
- AI SBOM Verification Owner: runs the generation, review, and approval procedure
- Legal: interprets non-standard licenses and regulation
### 3. Periodic Review Plan
| Frequency | Review Item | Owner | Deliverable |
|------|----------|------|--------|
| Quarterly | Model/dataset changes, model tree licensing | AI SBOM Verification Owner | Change review record |
| Semiannual | Non-standard license classification, OSAID updates | Legal | Updated classification |
| Annual | Regulatory enforcement schedule, overall framework, policy alignment | AI Governance Lead | Revised framework |
### 4. Change Management
When a model tree change, new regulation taking effect, or a license policy change
occurs, convene an ad hoc review rather than waiting for the periodic review. Record
the review outcome and action taken in the change history.
5. References
- Policy foundation: 3.1 Policy
- Transparency obligations and regulatory review: 3.6 Transparency Obligations
- AI SBOM lifecycle management: 3.9 AI SBOM
- Full regulatory matrix and ISO/IEC 42001 context: ISO/IEC 42001 Guide — Organizational Context and Leadership
7.5 - Tools
This section covers open source tools that automate AI SBOM compliance. It summarizes each tool’s key features, installation, and usage together with actual execution results. This elaborates, tool by tool, on the categories seen in the automation maturity map in 3.9 AI SBOM.
There is a boundary worth stating honestly. Tools generate a BOM automatically, but they cannot guarantee that the license information in the generated BOM is accurate or that no components are missing. In the tool comparison below, OWASP AIBOM Generator fills in license information from model cards, while cdxgen quickly identifies dependencies but leaves the license field empty. Look at this difference when choosing a tool.
Tools at a Glance
| Tool | Input | Output | Strengths | Covered In |
|---|---|---|---|---|
| OWASP AIBOM Generator | Hugging Face model ID | CycloneDX 1.6/1.7 | Model card and license metadata, completeness score | Go to section |
| cdxgen | Project directory, model files | CycloneDX | Automatic dependency identification, CI/CD integration | Go to section |
| Lab700x, Trivy, Syft | Model binaries, containers, virtual environments | Reports, SBOM | Static model analysis, inference server and package identification | Go to section |
Each tool automates part of the generation, analysis, or management stage. No single tool solves everything, so combine tools that generate AI SBOMs (OWASP AIBOM Generator, cdxgen) with tools that analyze security (Lab700x, Trivy) and a tool that manages them (Dependency-Track).
7.5.1 - OWASP AIBOM Generator
Overview
OWASP AIBOM Generator is an open source tool that takes a Hugging Face model ID as input, fetches model card metadata, and generates an AI SBOM in CycloneDX format. It is maintained by the OWASP Gen AI Security Project, and its distinguishing feature is scoring how complete the generated BOM is.
Where cdxgen identifies dependencies quickly but leaves the license fields empty, this tool fills in the license, author, and external references recorded in the model card. It works well as a starting point for the license review required by 3.5 License Obligations.
Key Features
- Fetches metadata from Hugging Face models and generates an AIBOM in both CycloneDX 1.6 and 1.7 format.
- Evaluates the completeness of the generated BOM with a score (0–100) and a profile, broken down section by section.
- Displays model information, the model card, license, and external references in a human-readable view.
- Available both as a web UI and a command-line interface (CLI).
Usage A — Web UI
The simplest approach: just enter a model ID in the browser. Use the Hugging Face Space provided by the OWASP Gen AI Security Project, or clone the repository and run it locally.
First, enter a Hugging Face model ID (e.g., facebook/bart-large-cnn) on the input screen and click
generate.

Figure 1. OWASP AIBOM Generator input screen (GenAI Security Project, captured 2026-06-13)
Once generation finishes, the result screen shows an AIBOM summary, the completeness assessment, download buttons (CycloneDX 1.6 and 1.7), AI model information, and the model card. The completeness assessment at the top of the screen shows at a glance whether the BOM has the minimum fields needed for identification.

Figure 2. Generation result screen — model information, license (MIT), completeness assessment (Basic) (captured 2026-06-13)
The result screen offers a Human-Friendly View along with a field checklist, a score report, and a JSON view tab. Check the items needed for license obligation review and AI SBOM retention directly on screen, and download the CycloneDX file.
Usage B — Command Line (CLI)
The CLI is convenient for embedding in CI/CD or batch-processing multiple models. After installation, pass the model ID as an argument.
# Install (a Python virtual environment is recommended)
pip install "git+https://github.com/GenAI-Security-Project/aibom-generator"
# Generate an AIBOM from a model ID
aibom facebook/bart-large-cnn -o aibom.json
Below is the actual execution result. It generates CycloneDX 1.6 and 1.7, passes schema validation, and shows the completeness score broken down by section.
$ aibom facebook/bart-large-cnn -o aibom.json
✅ Successfully generated CycloneDX 1.6 SBOM — Schema Validation (1.6): Valid
✅ Successfully generated CycloneDX 1.7 SBOM — Schema Validation (1.7): Valid
📊 Completeness Score: 58.7/100 Profile: Basic
- Required Fields: 20/20
- Metadata: 8/20
- Component Basic: 17.1/20
- Component Model Card: 6.7/30
- External References: 10/10
Figure 3. CLI execution output (aibom CLI, model facebook/bart-large-cnn, run 2026-06-13)
The model component in the generated BOM has its license and model card filled in. Unlike cdxgen’s
output, the licenses field is not empty.
{
"type": "machine-learning-model",
"name": "bart-large-cnn",
"purl": "pkg:huggingface/facebook/bart-large-cnn",
"licenses": [{ "license": { "id": "MIT" } }],
"authors": [{ "name": "facebook" }],
"modelCard": { "modelParameters": { }, "considerations": { } }
}
What the Execution Result Shows
In the actual run, the completeness score was 58.7/100 (Basic). Required Fields and External References scored full marks, but the model card score was low at 6.7/30. This is not a limitation of the tool but a result of the model provider not filling in enough information in the Hugging Face model card. The tool faithfully fetches whatever metadata exists, but it cannot invent information that isn’t there. When the model card is sparse, a human must verify the source and supplement it.
See Also
- AI SBOM generation and management procedure: 3.9 AI SBOM
- License obligation review: 3.5 License Obligations
- Another generation tool: cdxgen
- Official: OWASP AIBOM Generator
7.5.2 - cdxgen
Overview
cdxgen is the official SBOM generator of the OWASP CycloneDX project. It supports more than 20 languages and package managers, and the latest version offers a dedicated AI BOM mode. It automatically identifies the dependencies of AI applications (PyTorch, Transformers, and so on) and integrates well with CI/CD pipelines.
From an AI SBOM standpoint, cdxgen’s strength is speed and automation. Its weakness is that it does not fill in license information in a default run. This trait shows up in the execution result below. Where OWASP AIBOM Generator centers on model card metadata, cdxgen centers on code and dependencies. Using both together covers both models and dependencies.
Key Features
- Identifies dependencies from source code and container images to generate a CycloneDX SBOM.
- Includes AI/ML metadata (formulation) with AI BOM mode (
-t ai). - Takes Hugging Face model URLs, Modelfiles, and GGUF artifacts directly as input.
- Automatically submits SBOMs to a Dependency-Track server for continuous management.
Installation
# One-off run (requires Node.js)
npx @cyclonedx/cdxgen@latest --version
# Global install
npm install -g @cyclonedx/cdxgen
Usage — Generating an AI BOM
Run in AI BOM mode from the AI project directory.
# Generate an AI BOM
cdxgen -t ai -o aibom.json .
# Generate including AI/ML metadata (formulation)
cdxgen -t ai --include-formulation -o aibom.json .
Below is the actual result of running cdxgen against a summarization app (transformers, torch
dependencies) that loads a pretrained model (facebook/bart-large-cnn). It automatically identifies
5 dependencies and produces a CycloneDX 1.7 BOM.
$ cdxgen -t python --include-formulation -o aibom.json .
CycloneDX Generator 12.5.1 (Node.js)
Generated components — 5 entries (CycloneDX 1.7):
transformers 4.44.2 pkg:pypi/transformers@4.44.2 license: empty
torch 2.4.0 pkg:pypi/torch@2.4.0 license: empty
numpy 1.26.4 pkg:pypi/numpy@1.26.4 license: empty
tokenizers 0.19.1 pkg:pypi/tokenizers@0.19.1 license: empty
huggingface-hub 0.24.6 pkg:pypi/huggingface-hub@0.24.6 license: empty
Figure 1. cdxgen execution output (cdxgen 12.5.1, run 2026-06-13)
One of the generated components looks like this. The identification evidence is filled in, but the
licenses field is empty.
{
"name": "transformers",
"version": "4.44.2",
"purl": "pkg:pypi/transformers@4.44.2",
"type": "library",
"evidence": {
"identity": [
{ "field": "purl", "confidence": 0.5,
"methods": [{ "technique": "manifest-analysis", "value": "requirements.txt" }] }
]
}
}
What the Execution Result Shows
cdxgen quickly identified 5 dependencies from requirements.txt, but the licenses field of each
component is empty. Also, the pretrained model facebook/bart-large-cnn that the app loads was not
captured in the BOM by code scanning alone. It must be collected separately as inbound material and
added. A realistic combination is to build the dependency skeleton quickly with cdxgen, have a human
verify and fill in the licenses, and generate the model separately with OWASP AIBOM Generator before
merging.
See Also
- AI SBOM generation and management procedure: 3.9 AI SBOM
- Generator centered on model metadata: OWASP AIBOM Generator
- SBOM management: Dependency-Track, cdxgen + Dependency-Track integration
- Official: cdxgen AI-BOM documentation
7.5.3 - Model and Container Scanners (Lab700x, Trivy, Syft)
This page introduces analysis and identification tools that complement AI SBOM generation. Where the generation tools (OWASP AIBOM Generator, cdxgen) record “what is in it,” these tools look at “whether it is safe” and “what version it is.” The commands and features below are organized based on each tool’s official documentation (the tools actually run in this guide are OWASP AIBOM Generator and cdxgen).
Lab700x AI SBOM Scanner — Static Analysis of Model Binaries
A tool that statically analyzes AI model files themselves to extract information. It performs deep
introspection on model binaries such as .safetensors, .pt (PyTorch), and .pkl (Pickle) without
executing them.
- Key features: Because it examines internal structure without executing the model, it can detect malicious code hidden in a model file (such as Pickle injection), vulnerabilities, or license violations before deployment.
- Role in AI SBOM: Used to inspect externally sourced models at the intake gate. Combined with the inbound metadata enforcement of 3.5 License Obligations, it lets metadata verification and binary safety checking be performed together.
Pickle-format models carry a significant supply-chain risk because arbitrary code can execute during deserialization. Inspecting the model without executing it is the core of this tool.
Trivy — Scanning LLM Inference Server Containers
An open source scanner from Aqua Security that checks vulnerabilities in container images and filesystems. It recently added awareness of AI model infrastructure.
- Key features: Scans LLM inference server containers such as Ollama and LocalAI to collect the open source libraries they contain and their container vulnerabilities.
- Usage:
# Scan a container image (vulnerabilities)
trivy image ollama/ollama:latest
# Generate an SBOM (CycloneDX)
trivy image --format cyclonedx --output sbom.json ollama/ollama:latest
Used in environments that deploy AI models as containers, to leave a record of the inference server’s vulnerabilities and components as an SBOM.
Syft — Identifying AI Packages and Virtual Environments
An SBOM generator from Anchore that scans containers, filesystems, and virtual environments.
- Key features: Analyzes Python virtual environments to collect the exact versions of packages used to run AI, such as PyTorch and Transformers. Outputs in SPDX and CycloneDX format.
- Usage:
# Scan a directory and output CycloneDX
syft scan dir:. -o cyclonedx-json=sbom.json
# Scan a container image
syft scan registry:python:3.11-slim -o spdx-json
Its role overlaps with cdxgen’s, so an organization already using the Anchore toolset (Syft, Grype) would naturally generate the dependency SBOM of an AI application with Syft and check vulnerabilities with Grype.
Recommended Tool Combination
No single tool solves everything. In practice, combine tools by dividing up their roles.
| Purpose | Tool |
|---|---|
| Model metadata AIBOM generation | OWASP AIBOM Generator |
| Dependency SBOM generation | cdxgen, Syft |
| Model binary safety inspection | Lab700x AI SBOM Scanner |
| Inference server / container vulnerabilities | Trivy |
| SBOM storage and vulnerability monitoring | Dependency-Track |
See Also
- AI SBOM generation and management procedure: 3.9 AI SBOM
- Execution results of generation tools: OWASP AIBOM Generator, cdxgen
8 - Templates
This section provides document templates that companies need for open source management, such as open source policies and open source processes.
Author : Haksung Jang / CC BY 4.0
8.1 - Open Source Policy
1. Purpose and Scope
1.1 Purpose
This policy provides principles and procedures for the Company to safely and effectively utilize open source software. The main objectives of the policy are as follows:
- Open Source License Compliance:
- Comply with the license obligations of open source components included in supplied software, and satisfy relevant legal requirements.
- Open Source Security Assurance:
- Identify security vulnerabilities in open source components included in supplied software, and minimize security risk through appropriate response measures.
- Contribution to External Open Source Projects:
- Promote collaboration with the open source community by contributing to external open source projects, and protect the Company’s intellectual property.
- Open Sourcing of Internal Projects:
- Release internal projects as open source to enhance collaboration with the open source community and promote the Company’s technical capabilities.
These principles are designed to satisfy the requirements of ISO/IEC 5230 (open source license compliance) and ISO/IEC 18974 (open source security assurance).
1.2 Impact of Non-Compliance
If the Company fails to comply with this policy, it may face the following risks:
- Legal Risk: The Company may receive external demands for open source license compliance, and may face litigation or fines.
- Reputational Damage: The Company’s reputation may be damaged due to source code disclosure obligations or security incidents.
- Business Loss: Relationships with customers or suppliers may deteriorate due to contract violations.
- Security Incidents: Serious security incidents may occur due to known vulnerabilities or newly discovered vulnerabilities.
1.3 How Program Participants Can Contribute
All program participants of the Company must understand and comply with this policy. Participants can contribute in the following ways:
- Perform the responsibilities and obligations defined in the policy according to their role.
- Complete education related to open source licenses and security, and apply it in practice.
- Report immediately if they discover an issue that impedes compliance with the policy.
1.4 Scope
This policy applies to all software projects that the Company develops, distributes, or uses. The main scope of application is as follows:
- All supplied software provided or distributed externally.
- Activities contributing to external open source projects.
- Activities releasing internal projects as open source.
However, open source used only for internal purposes may be subject to a separate review procedure to determine whether the policy applies.
The scope of the policy is reviewed and updated periodically according to changes in the Company’s business environment.
2. Definitions
This section defines the key terms used in the policy. These definitions are necessary to help clearly understand and apply the policy.
2.1 Key Terms
- Open Source Software:
- Software that satisfies the Open Source Definition defined by the Open Source Initiative or the Free Software Definition defined by the Free Software Foundation. This is software with a license that allows users to freely use, modify, and distribute the software.
- SBOM (Software Bill of Materials):
- A list of all components, libraries, and dependencies that make up a piece of software. This is like a software “bill of materials,” and is used to ensure transparency in the software supply chain and to identify potential security vulnerabilities and license-related issues.
- Known Vulnerability:
- A previously discovered, publicly available security vulnerability. This can be found in databases such as NVD and CVE.
- Newly Discovered Vulnerability:
- A new security vulnerability that had not previously been discovered. This may be discovered while software is in use, or reported by external researchers.
- Security Assurance:
- Confidence that a system satisfies the requirements for security best practices and is resilient against known vulnerabilities.
- Verification Material:
- Material demonstrating that a given requirement of a specification has been satisfied. This may be provided in various forms such as documents, records, and test results.
- Supplied Software:
- All software that an organization provides or distributes to a third party.
- Program:
- The set of policies, processes, and personnel that make up an organization’s open source license compliance and security assurance activities.
- Program Participant:
- Any member of the organization or contractor responsible for defining, contributing to, or preparing supplied software. This includes software developers, release engineers, quality engineers, product marketing, and product managers.
- Compliance Artifact:
- Represents the output of an open source license compliance program, and is the collection of deliverables that must be provided along with supplied software. This includes attribution notices, source code, copies of licenses, copyright notices, notices of modification, and Written Offers.
- Identified License:
- The set of open source licenses identified by an appropriate method for identifying the open source components included in supplied software.
3. Roles and Responsibilities
This section defines the key roles and responsibilities related to open source software management. Each role is essential to ensuring the organization’s open source license compliance and security assurance.
3.1 Role Descriptions
- Open Source Program Manager (OSPM)
- Responsibility: Overall responsibility for the Company’s open source program.
- Key Duties:
- Manage open source license compliance and security assurance activities.
- Create and maintain the SBOM.
- Respond to external inquiries related to open source.
- Manage internal best practices.
- Required Competencies: Understanding of software development processes, expertise in open source licenses, communication skills.
- Legal
- Responsibility: Assess legal risk related to open source licenses and provide advice.
- Key Duties:
- Interpret and review open source license obligations.
- Review license compatibility and provide advice on intellectual property protection.
- Required Competencies: Expertise in software copyright, expertise in open source licenses, ability to assess legal risk.
- IT
- Responsibility: Operate and automate open source analysis tools.
- Key Duties:
- Operate open source analysis tools and integrate them into the DevOps environment.
- Create and maintain the SBOM.
- Required Competencies: Expertise in IT infrastructure, understanding of open source analysis tools, understanding of CI/CD pipelines.
- Security
- Responsibility: Operate open source security vulnerability analysis tools.
- Key Duties:
- Respond to known vulnerabilities and newly discovered vulnerabilities.
- Integrate into the DevSecOps environment and perform security measures.
- Required Competencies: Understanding of DevSecOps, understanding of security vulnerability analysis tools, ability to assess and manage risk.
- Developer Culture
- Responsibility: Support in-house developers in actively utilizing open source.
- Key Duties:
- Encourage participation in the open source community and improve developer culture.
- Support external contribution activities.
- Required Competencies: Understanding of software development processes, ability to design education, experience with community engagement.
- Quality
- Responsibility: Verify open source license obligations when distributing supplied software.
- Key Duties:
- Verify the creation of compliance artifacts.
- Review compliance with license obligations before distribution.
- Required Competencies: Understanding of software development processes, basic knowledge of compliance.
- OSRB (Open Source Review Board)
- Responsibility: Establish and improve policies and processes for open source management.
- Key Duties:
- Periodically review and improve the policy.
- Discuss key issues and develop resolutions.
- Required Competencies: Expertise in policy development, experience operating a governance body.
- OSPO (Open Source Program Office)
- Responsibility: Support contributions to external open source projects and the release of internal projects.
- Key Duties:
- Provide guidance for external contributions.
- Manage the release procedure for internal projects.
- Required Competencies: Experience with community engagement, project management skills.
3.2 Staffing and Funding
- Appropriate staffing:
- Assign appropriate personnel with the necessary competencies and expertise for each role.
- The head of each department must designate a suitable person to perform the role.
- Sufficient funding:
- The Company provides sufficient budget and resources necessary to perform each role.
- Budget items include education, tool licensing fees, and external consulting costs.
- Periodic review:
- The OSRB reviews the staffing and funding status of each role at least once a year, and recommends adjustments as needed.
- The review results are documented and reported to the OSPO (Open Source Program Office).
- Issue resolution procedure:
- If a department’s person in charge lacks the necessary support (personnel or funding), they must immediately report this to the OSPM.
- The OSPM works with the relevant departments to resolve the issue, and requests the OSRB to resolve the issue if necessary.
3.3 Internal Responsibility Assignment Procedure
Responsibility assignment procedure:
a. The OSPM convenes an annual responsibility assignment meeting.
b. Consults with each department head (Legal, IT, Security, Development, Quality, etc.) to select a person responsible for each activity.
c. Submits the list of selected persons responsible to the OSRB (Open Source Review Board) for final approval.
Balance of responsibility and authority:
- Each person responsible is granted appropriate authority necessary to perform the relevant duties.
- They have the authority to request the resources (e.g., budget, personnel) necessary to fulfill their responsibilities.
Periodic review and updates:
- The OSRB reviews the status of responsibility assignments at least once a year and makes adjustments as needed.
- Responsibility assignments are updated immediately whenever there is a major change, such as an organizational restructuring or personnel change.
Documentation:
- The results of responsibility assignment are recorded as an official document and registered in the Company’s document management system.
- The document specifies each activity, the person responsible, their role, and the required competencies.
Education and awareness:
- Provide necessary education to newly assigned persons responsible.
- Share the results of responsibility assignment with the entire organization to raise awareness.
3.4 Current Assignees
The organization and person responsible for each role can be found in [Appendix A: Current Assignees]. The list is updated as needed.
4. Open Source License Compliance
This section describes the procedures for complying with the license obligations of open source components included in supplied software. Through this, the Company can ensure open source license compliance and minimize legal risk.
4.1 Open Source Identification and License Obligation Review
- Open Source Identification:
- Identify all open source components used when developing supplied software.
- Use SCA (Software Composition Analysis) tools to automatically detect and record open source components.
- License Obligation Review:
- Review the licenses of identified open source components and confirm the obligations required by each license.
- Refer to the Company’s [Open Source License Guide] to understand licenses, and work with the Legal team to resolve compatibility issues.
4.2 Design Considering Open Source Licenses
- Software Architecture Design:
- Design the software architecture to minimize the impact of open source licenses.
- Identify the coupling relationship between open source components and the Company’s own code to comply with license obligations.
- License Compatibility Review:
- Review whether the licenses of multiple open source components are compatible with each other.
- If incompatible licenses are used, propose alternative components or take appropriate action.
4.3 Creating and Managing Compliance Artifacts
- Creating Open Source Notices:
- Prepare a notice containing the copyright information and licenses of the open source components included in supplied software.
- The notice is prepared according to the conditions required by each license, and is included in the distribution package.
- Creating Source Code Packages for Disclosure:
- Create the source code packages necessary to comply with licenses that require source code disclosure, such as GPL and LGPL.
- Source code packages are securely stored in a separate repository and provided upon external request.
- Distribution and Storage of Compliance Artifacts:
- All compliance artifacts are distributed together with supplied software and systematically managed in an internal repository.
- Operate a system that can provide artifacts upon external request.
4.4 Creating and Managing the SBOM
- Creating the SBOM:
- Create the SBOM (Software Bill of Materials) for all open source components that make up supplied software.
- The SBOM includes the name, version, license information, and download location of each component.
- Maintaining and Updating the SBOM:
- The SBOM is updated with each software release and kept up to date.
- The SBOM is securely managed in an internal repository and prepared to be provided upon external request.
- Managing Open Source Component Records:
Maintain detailed records for each open source component. These records include the following information:
a. Component identification information (name, version, source)
b. License information and obligations
c. Purpose and manner of use
d. Whether modified and details of modifications
e. Vulnerability analysis results and response measures
These records are periodically reviewed and updated, and managed according to documented procedures.
- Record Verification Procedure:
- Verify the accuracy and completeness of open source component records quarterly.
- Verification results are documented and stored, and improvement measures are taken as needed.
4.5 Compliance Issue Response Procedure
- Issue Identification and Response:
- When a compliance issue occurs, the OSPM immediately identifies the issue and develops a response plan.
- Works with the Legal team to assess the severity of the issue and determine the necessary action.
- Maintaining Response Records:
- All response processes are recorded and preserved through Jira or another issue tracking system.
- Response records are periodically reviewed and used as reference material in the event of a similar problem in the future.
5. Open Source Security Assurance
This section describes the procedures for ensuring the security of open source components included in supplied software. Through this, the Company can effectively manage known vulnerabilities and newly discovered vulnerabilities, and raise the security level of its software.
5.1 Known Vulnerability Detection and Response Procedure
- Vulnerability Detection:
- Use SCA (Software Composition Analysis) tools to detect known vulnerabilities in each open source component included in the SBOM.
- Regularly update vulnerability databases such as the NVD (National Vulnerability Database) and CVE (Common Vulnerabilities and Exposures) to check the latest information.
- Vulnerability Severity Assessment:
- Assess the severity of a vulnerability using its CVSS (Common Vulnerability Scoring System) score.
- Determine response priority considering the exploitability of the vulnerability, its scope of impact, and its potential impact on the system.
- Response Measures:
- Immediately apply a patch or take mitigation measures for high-risk vulnerabilities.
- If customers may be affected, notify customers and present a resolution plan.
- Maintaining Response Records:
- All vulnerabilities and response measures are recorded in a database, and reports are generated periodically.
- Response records are used as reference material in the event of a similar problem in the future.
5.2 Newly Discovered Vulnerability Response Procedure
- Detecting Newly Discovered Vulnerabilities:
- Identify and assess new security vulnerabilities that had not previously been discovered.
- Newly discovered vulnerabilities may be reported by external researchers or through internal testing.
- Severity Assessment and Response:
- Assess the severity of a newly discovered vulnerability using its CVSS score.
- Determine response priority based on the assessment results and take necessary action.
- If customers may be affected, notify customers and present a resolution plan.
- Maintaining Response Records:
- Newly discovered vulnerabilities and response measures are recorded in a database, and reports are generated periodically.
5.3 Continuous Monitoring and Response
- Vulnerability Monitoring:
- Continuously monitor software even after release to identify known vulnerabilities or newly discovered vulnerabilities.
- Use automated tools to detect anomalies based on the latest data.
- Response Preparation:
- Security experts prepare the response, and receive assistance from external experts as needed.
- The response plan is periodically reviewed and updated.
- Reporting and Improvement:
- All monitoring and response activities are reported periodically and shared with program participants.
- Improve processes based on monitoring results to continuously enhance the security level.
5.4 Alignment with Internal Best Practices
- Investigating Internal Best Practices:
- Investigate security-related activities and processes that are successfully operated by other teams or departments within the Company.
- Example: the information security team’s vulnerability management process, the development team’s secure coding guidelines, etc.
- Comparing and Analyzing Processes:
- Compare and analyze how the investigated best practices operate relative to the open source security assurance program.
- Identify differences, weaknesses, and opportunities for improvement.
- Integrating and Improving Processes:
- Adjust or integrate the open source security assurance program to align with the Company’s internal best practices.
- Example: applying the company-wide vulnerability management system to open source vulnerability management as well.
- Assigning and Managing Responsibility:
- The OSPM is responsible for compliance with internal best practices, and periodically reviews the operating approach and proposes improvements.
6. Education and Awareness
This section describes the education and awareness activities necessary to ensure the competency and awareness of program participants. Through this, participants can fully understand the open source policy, the goals of the related program, and their own roles and responsibilities, and raise their awareness of open source license compliance and security assurance.
6.1 Open Source Education
- Education Objectives:
- Help program participants use open source correctly, and understand and apply license compliance and security assurance procedures in practice.
- Key education content:
- The purpose and principles of the open source policy.
- License obligations and compliance procedures.
- How to create and use the SBOM.
- Procedures for managing known vulnerabilities and newly discovered vulnerabilities.
- Education Methods:
- Completed through online courses provided on the [Learning Portal].
- Additional education is provided in workshop or seminar format as needed.
- Case-based learning is used to strengthen the ability to solve real-world problems.
6.2 Competency Assessment
- Assessment Criteria:
- Assess the competencies required for each role.
- Assessment items:
- Understanding of the open source policy.
- Ability to perform compliance procedures.
- Ability to manage security vulnerabilities.
- Assessment Methods:
- Measure participants’ competency through periodic tests and practical evaluations.
- Assessment results are reflected in individual performance records, and additional education is provided as needed.
6.3 Awareness-Raising Activities
- Periodic Newsletters and Workshops:
- Share the latest open source trends and policy changes through a periodic newsletter.
- Raise program participants’ understanding and promote collaboration through workshops and seminars.
- Use of Communication Channels:
- Share open source-related information through internal communication channels (e.g., email, internal portal).
- Encourage collaboration and information exchange among program participants.
6.4 Record Retention
- Education and Assessment Records:
- All education completion records and assessment results are retained for at least 3 years.
- This allows the Company to demonstrate that program participants have a sufficient understanding of the policy and processes.
- Periodic Review and Updates:
- The OSPM reviews the education content and assessment methods at least once a year and updates them as needed to reflect the latest open source trends and the organization’s requirements.
6.5 Identifying and Utilizing Expertise
- Identifying Required Areas of Expertise:
- Periodically identify the technical and legal areas of expertise necessary to operate the program.
- Example: web security, cryptography, network security, systems administration, open source license interpretation, etc.
- Preparing and Updating a List of Internal Experts:
- Prepare a list of personnel with expertise in the relevant field within the Company, and update it periodically.
- Record each expert’s career history, certifications, and contact information.
- Establishing a Plan to Secure External Resources:
- Establish a plan to utilize external experts or consulting firms for problems that are difficult to resolve internally.
- Secure reliable external resources and clearly define contract terms.
- Establishing a Procedure for Accessing Expertise:
- Establish a procedure so that program participants can easily access the expertise they need.
- Example: how to consult an internal expert, how to utilize an external consulting firm, etc.
7. Contribution to External Open Source Projects
This section describes the procedures and principles that the Company’s program participants must follow when contributing to external open source projects. Through this, the Company can actively participate in external open source projects while preventing intellectual property and copyright issues.
7.1 Contribution Procedure
- Review Request and Approval:
- To contribute to an external open source project, a program participant must obtain review and approval from the OSPO (Open Source Program Office).
- The OSPO confirms that the code to be contributed does not infringe on the Company’s intellectual property, and requests review by the Legal team as needed.
- Contribute Only Code You Have the Right to Contribute:
- Program participants may only contribute code they have written themselves or code owned by the Company.
- Third-party code must not be contributed without authorization.
- Caution Regarding Exposure of Intellectual Property:
- Take care not to include sensitive information, patents, or other Company intellectual property.
- If the code to be contributed includes a Company patent, it must be reviewed by the OSPO and the Legal team.
7.2 Caution Regarding CLA Signing
- CLA Review:
- Some open source projects require contributors to sign a CLA (Contributor License Agreement).
- Before signing a CLA, request a review from the OSPO to ensure protection of the Company’s intellectual property.
- Prohibition on Copyright Assignment:
- To protect its own intellectual property, the Company does not permit contributions to open source projects whose CLA terms require copyright assignment.
7.3 Copyright Notice
Copyright Notation:
When a program participant contributes code to an external open source project, the Company’s copyright must be clearly stated.
State the copyright and license at the top of the file as follows:
textCopyright (c) [Year] [Company Name] SPDX-License-Identifier: [SPDX_license_name]
Use of Company Email:
- When contributing to an open source project, use the Company email rather than a personal email.
- This instills a sense of responsibility for communicating with the community on behalf of the Company.
7.4 Maintaining Contribution Records
- Managing Contribution History:
- Manage the entire history of contributions to external open source projects, and report it to the OSPO.
- Contribution history is retained in an internal system (e.g., the Learning Portal) for at least 3 years.
- Assessing Contribution Activities:
- Contribution activities to external open source projects are reflected in program participants’ performance evaluations.
- The OSPO periodically assesses the effectiveness of contribution activities and proposes improvement measures as needed.
8. Releasing Internal Projects as Open Source
This section describes the procedures and principles for releasing internal projects as open source. Through this, the Company can promote collaboration with the open source community, protect its intellectual property, and minimize legal risk.
8.1 Approval Procedure
- Review and Approval:
- To release an internal project as open source, review and approval must be obtained from the OSPO (Open Source Program Office).
- The OSPO confirms that the code to be released does not infringe on the Company’s intellectual property, and requests review by the Legal team as needed.
- Intellectual Property Protection:
- Take care not to include sensitive information, patents, or other Company intellectual property.
- For code that includes a patent, work with the Legal team to confirm whether it can be released.
- Copyright Notice:
- State the Company’s copyright in the code being released.
- Example: “Copyright (c) [Year] [Company Name]”
8.2 Release Preparation
- Code Preparation:
- Organize and document the code to be released so it can be used externally.
- Verify the origin of the code, and delete or modify any code that poses a potential problem.
- Choosing an Open Source License:
- Select an appropriate open source license under which to release the code.
- When choosing a license, consider protection of the Company’s intellectual property and the needs of the community.
- Securing Resources:
- Secure the infrastructure and budget necessary to maintain and manage the project.
- Use a project hosting platform such as GitHub to maintain transparency.
8.3 Post-Release Management
- Community Management:
- Collect community feedback on the released project and respond appropriately.
- The OSPO manages the relationship with the community and actively accepts external contributions.
- Ongoing Maintenance:
- The released project is continuously maintained, with bug fixes and feature improvements.
- Quality is ensured through code review, and the project collaborates with external contributors.
- Use of Company Email:
- Use the Company email rather than a personal email during open source activities, to maintain the Company’s representation.
8.4 Record Retention
- Retaining Release Records:
- All records related to a released project are retained for at least 3 years.
- Records include the approval procedure, code versions, and community feedback.
- Periodic Review and Updates:
- Released projects are periodically reviewed and updated as needed.
- Continuously improved to reflect the latest open source trends and organizational requirements.
9. Responding to External Inquiries
This section describes the procedure by which the Company responds quickly and effectively when there is an external open source-related inquiry or request, particularly one related to open source license compliance and open source security vulnerabilities. Through this, the Company can appropriately respond to external demands, minimize legal risk, and promote collaboration with the open source community.
9.1 Responsibility for Responding to External Inquiries
- Designating the Person Responsible:
- Responding to external open source-related inquiries and requests is handled by the OSPM.
- As needed, works with the Legal team (for license compliance matters) or the Security team (for security vulnerability matters) to resolve the issue.
- Inquiry Escalation Procedure:
- Any program participant who receives an external open source-related inquiry must immediately forward it to the OSPM.
- Depending on the nature of the inquiry, it is promptly assigned to the department responsible for license compliance or security vulnerabilities.
9.2 Publishing Contact Information
- Public Contact Information:
- The official contact information for the OSPM is made publicly available.
- The contact information is registered on the following channels:
- The open source notice
- The Company website
- The Linux Foundation’s Open Compliance Directory
- Guidance on How to Make Inquiries:
- Clearly explain how external parties can make open source-related inquiries.
- Operate a system that can accept inquiries by email address, website inquiry form, and other means.
9.3 External Inquiry Response Procedure
- Receiving and Confirming the Inquiry:
- When an external inquiry is received, the OSPM immediately confirms it and specifies an appropriate resolution time.
- Reviews the nature of the inquiry and classifies it as a license compliance or security vulnerability matter.
- License compliance: reviewed and addressed in cooperation with the Legal team.
- Security vulnerability: assessed for severity and addressed in cooperation with the Security team.
- Carrying Out the Response:
- Take appropriate response measures according to the content of the inquiry, and receive assistance from external experts as needed.
- All response processes are recorded through an internal system (e.g., Jira Tracker).
- Providing Feedback and Improving:
- After responding, provide feedback to the external inquirer, and propose improvement measures as needed.
- Analyze response records and improve processes to prevent recurring problems.
10. Measuring and Improving Program Effectiveness
This section describes the procedure for measuring and continuously improving the effectiveness of the open source program. Through this, the Company can evaluate and improve the performance of its open source license compliance and security assurance program.
10.1 Defining Performance Indicators
- List of Performance Indicators:
- Number of supplied software analyzed.
- Number of known vulnerabilities and newly discovered vulnerabilities resolved.
- Number of compliance artifacts created and distributed.
- Response time for external inquiries.
- Education completion rate of program participants.
- Number of external open source contributions and released projects.
- Setting Indicator Targets:
- Set target values for each indicator so that the program’s performance can be evaluated.
- Target values are set in line with the organization’s business goals and the program’s objectives.
10.2 Periodic Program Assessment
- Assessment Cycle:
- Conduct a program assessment at least once a year.
- Conduct additional assessments as needed when there is a change in the business environment or a major issue occurs.
- Assessment Procedure:
- Document the assessment results and report them to the OSRB (Open Source Review Board).
- Collect and reflect feedback from program participants during the assessment process.
- Assessment results are recorded and preserved through an internal system (e.g., Jira Issue Tracker).
- Periodic Policy Review and Renewal:
- The policy is periodically reviewed and, if necessary, renewed to reflect the latest open source trends and the organization’s requirements.
- This continuously improves the effectiveness of the program.
10.3 Continuous Improvement Plan
- Identifying Areas for Improvement:
- Identify areas that need improvement based on assessment results, and set priorities.
- Areas needing improvement may include process efficiency, education content, response time, and more.
- Setting Improvement Targets:
- Set specific improvement targets and schedules.
- The progress of improvement activities is monitored and documented.
- Reflecting Improvement Results:
- Reflect improvement results in the next assessment cycle to continuously enhance the program’s effectiveness.
- Improvement results are shared with program participants to encourage continued commitment to improvement.
10.4 Integrating and Improving Internal Best Practices
- Planning Integration Activities:
- Identify the gaps between internal best practices and the open source security assurance program, and establish an integration plan based on this.
- Example: integrating vulnerability management systems, standardizing code review procedures.
- Periodic Review and Updates:
- Review the alignment between internal best practices and the open source program at least once a year, and reflect improvements as needed.
- The review results are reported to the OSRB (Open Source Review Board).
10.5 Assessing Personnel and Resources
- Assessment cycle:
- The Company assesses the staffing and funding status for each role at least once a year.
- Assessment results are reported to the OSRB, and improvements are implemented as needed.
- Assessment items:
- Whether appropriate personnel have been assigned for each role.
- Whether sufficient budget has been provided to perform each role.
- Cases of problems caused by insufficient support, and their resolutions.
- Establishing an improvement plan:
- Establish a specific plan to supplement insufficient personnel or resources based on the assessment results.
- The improvement plan is implemented upon approval by the OSRB.
11. ISO Standard Compliance Declaration and Maintenance
This section describes the procedure by which the Company complies with and maintains the requirements of ISO/IEC 5230 (open source license compliance) and ISO/IEC 18974 (open source security assurance). Through this, the Company can ensure the continuous improvement of its open source program and compliance with the standards.
11.1 ISO Standard Compliance Declaration
- Compliance Declaration:
- Through this policy, the Company declares that it satisfies all the requirements of ISO/IEC 5230 (open source license compliance) and ISO/IEC 18974 (open source security assurance).
- The date of declaration and validity period (18 months) are clearly stated.
- The compliance declaration may be made through Self Certification under the Linux Foundation’s OpenChain project.
- Documenting Evidence:
- The OSPM documents and maintains evidence of satisfaction for each requirement.
- Evidence documents include policy documents, process descriptions, education records, compliance artifacts, and security vulnerability management records.
- All evidence documents are stored in a central repository and retained for at least 3 years.
- This document must be prepared within 18 months after undergoing conformance verification, and is renewed at least once a year.
- Periodic Review and Renewal:
- The OSRB reviews whether the requirements are satisfied at least once a year, and improves the policy and processes as needed.
- The review results and improvements are documented and stored.
- Preparing for External Verification:
- Prepare to provide evidence documents to external auditors or certification bodies upon request.
11.2 Maintaining Compliance Status
- Periodic Review:
- The OSRB conducts an internal review of all the requirements of ISO/IEC 5230 and ISO/IEC 18974 at least once a year.
- The review results are documented and stored, and an improvement plan is established for any items not satisfied.
- Periodic Internal Audit:
- Internal audits assess whether program participants are performing their roles, whether compliance artifacts are adequate, and the effectiveness of security assurance activities.
- Based on the audit results, areas for improvement are identified and necessary action is taken.
- Providing Education and Training:
- Provide periodic education and training to continuously improve the competency and awareness of program participants.
- Education content reflects the latest open source trends and the organization’s requirements, and emphasizes compliance with ISO standards.
- Preparing to Respond to External Inquiries:
- Maintain a system that can respond quickly and effectively to external inquiries related to ISO standard compliance.
- Inquiry response is handled by the OSPM, who works with the Legal team as needed.
- Periodic Policy Renewal:
- The policy is reviewed at least once a year, and renewed to reflect the latest open source trends and the organization’s requirements.
- The renewed policy is shared with all program participants.
8.1.1 - Appendix
Appendix 1. Personnel Assignments
| No | Role | Responsibility | Required Competency | Owning Organization | Assignee |
|---|---|---|---|---|---|
| 1 | Open Source Program Manager (OSPM) | Bears overall responsibility for the company’s open source program. | Understanding of software development processes Understanding of copyright and patents Expertise in open source license compliance Communication skills | Open Source Management Team | [Name] |
| 2 | Legal | Assesses legal risks related to open source licenses and provides legal advice. | Understanding of the open source ecosystem Expertise in software copyright Expertise in open source licenses Ability to assess legal risk | Legal Team | [Name] |
| 3 | IT | Operates and automates open source analysis tools. | Understanding of open source license compliance processes Understanding of open source analysis tools Expertise in IT infrastructure Understanding of automation and CI/CD pipelines | IT Team | [Name] |
| 4 | Security | Operates open source security vulnerability analysis tools. | Understanding of DevSecOps Understanding of open source security vulnerability analysis tools Expertise in known and newly discovered vulnerabilities Ability to assess and manage risk | Security Team | [Name] |
| 5 | Development Culture | Supports in-house developers in actively using open source. | Understanding of software development processes Basic knowledge of open source license compliance Ability to design education and training Experience participating in open source communities | Development Team | [Name] |
| 6 | Quality | Verifies open source license obligations when distributing supplied software. | Understanding of software development processes Basic knowledge of open source license compliance Understanding of open source policy Basic knowledge of open source licenses | Quality Assurance Team | [Name] |
| 7 | OSRB (Open Source Review Board) | Establishes and improves policies and processes for open source management. | Expertise in open source policy and process Experience operating a deliberative body | OSRB | [Name] |
| 8 | OSPO (Open Source Program Office) | Supports contributions to external open source projects and open sourcing of in-house projects. | Experience participating in open source communities Ability to manage open source projects | OSPO | [Name] |
8.2 - Open Source Process
[Company Name] (hereinafter referred to as “the Company”) actively utilizes open source software in developing products and services that include software. To minimize open source risk, the Company must carry out (1) activities to comply with the obligations imposed by open source licenses and (2) appropriate activities to detect open source security vulnerabilities and take follow-up action, while distributing software. The Company follows the open source process to ensure these activities.
1. Open Source Process
[Company Name] (hereinafter referred to as “the Company”) actively utilizes open source software in developing products and services that include software. To minimize open source risk, the Company must carry out (1) activities to comply with the obligations imposed by open source licenses and (2) appropriate activities to detect open source security vulnerabilities and take follow-up action, while distributing supplied software. The Company follows the open source process to ensure these activities.
The open source process defines the procedures that must be carried out to comply with open source license obligations and to ensure open source security assurance, at each development stage of developing and distributing the Company’s supplied software. Program participants comply with the following 11 stages of the open source process.

Through the open source process, the Company strives to minimize open source risk and provide customers with safe and reliable supplied software.
The Open Source Program Manager periodically reviews the process at least once a year to disseminate internal best practices and improve any deficiencies.
(1) Open Source Identification
The business unit complies with the following during the software design stage:
- While designing software, identify the anticipated open source usage and confirm the identified licenses.
- Confirm the obligations for each open source license. The obligations for each license can be found in the Company’s Open Source License Guide: https://sktelecom.github.io/guide/use/obligation/
- Design the software considering the source code disclosure scope of each open source license.
The Open Source Program Manager writes and publishes a guide on the obligations, restrictions, and rights of major open source licenses so that business units across the Company can refer to it. This guide must include the following use cases so that common open source license use cases can be managed:
- Distributed in binary form
- Distributed in source form
- Integrated with other open source that triggers additional license obligations
- Includes modified open source
- Includes open source or other software under a license that is incompatible with other components within the supplied software
- Includes open source with attribution requirements
The business unit marks the copyright and license in the source code according to Company rules. The Company’s rules for marking copyright and license in source code can be found on the following page. (insert_link)
When considering the introduction of new open source, the business unit first identifies the license. It confirms the license obligations, restrictions, and rights according to the Company’s Open Source License Guide. If the license is not described in the Company’s Open Source License Guide, it inquires with the Open Source Program Manager about whether it can be introduced and any precautions. A Jira Ticket is created for the inquiry.
The Open Source Program Manager analyzes open source license obligations and provides guidance to the software development organization.
- If there is a question, requests advice from Legal to provide clear guidance.
- Reflects newly analyzed license information in the company-wide license guide.
Security provides a guide for the Company’s security assurance.
(2) Source Code Inspection
The business unit requests an open source inspection according to IT’s guidance and provides the source code.
IT performs an open source inspection using an open source analysis tool, and creates the SBOM (Software Bill of Materials).
The Open Source Program Manager reviews whether open source license obligations can be complied with and whether there are open source license conflicts, and requests the business unit to resolve any issues found. Issues are created as Jira Tickets and assigned to the business unit.
Security reviews the known vulnerabilities detected and provides response guidance to the business unit according to predefined Risk classification criteria. Risk is classified by CVSS (Common Vulnerability Scoring System) score, and for Critical Risk, guidance is provided to establish an action plan that can be completed within 1 week.
(3) Issue Resolution
The business unit resolves all issues found during the source code inspection stage.
It removes the open source in question, or replaces it with open source under a different license. For known vulnerability or newly discovered vulnerability issues, it takes measures such as replacing the component with a version in which the vulnerability has been fixed.
Once the business unit has resolved all issues found, it resolves the Jira Ticket issue and requests a re-review.
(4) Review
The Open Source Program Manager reviews whether all issues have been adequately addressed. If necessary, it re-performs the source code inspection using an open source analysis tool.
Security reviews whether all serious vulnerabilities have been resolved. If a vulnerability that is difficult to resolve remains, it reviews whether approval is possible considering the business type and service exposure status.
(5) Approval
The Open Source Program Manager gives final approval or rejection as to whether the open source license compliance procedure has been properly carried out. In case of rejection, it explains the reason to the business unit and proposes a method for correction.
(6) Registration
The Open Source Program Manager finalizes the SBOM to track the list of open source used in each version of the supplied software.
IT registers the finalized SBOM in the system. The SBOM includes the list of open source contained in the supplied software and the following information:
- The product (or service) name and version of the supplied software
- List of open source
- Component name, version, license, source (URL)
- Purpose and manner of use
- Whether modified and details of modifications
- Version history and key changes for each version
The registered information is periodically reviewed and updated.
(7) Notice
The Open Source Program Manager creates an open source notice to comply with the notice obligation. The open source notice includes the following content:
- Open source contact information for open source-related inquiries
- Notice content for each piece of open source
- Copyright
- Open source license name
- Copy of the open source license
- (if applicable) a Written Offer to obtain a copy of the source code
The Open Source Program Manager creates the open source notice and delivers it to the business unit. If source code disclosure is required, it guides the business unit on how to compile the source code to be disclosed.
The business unit includes the open source notice when distributing the product. For products with a screen, it takes measures so that users can view it through a menu. (e.g., App > Menu > Settings > Copyright Information > Open Source Licenses)
If the business unit has used open source under a license that requires source code disclosure, such as GPL or LGPL, it confirms the scope of source code disclosure required and compiles the source code to be disclosed.
- The source code compiled to comply with license obligations such as GPL and LGPL must match the source code that makes up the binary included in the product. In other words, building the compiled source code must produce a result identical to the binary included in the product.
(8) Pre-Distribution Confirmation
The business unit submits the following compliance artifacts demonstrating that open source license compliance activities have been properly carried out:
- The final open source notice included in the product
- Material confirming that the open source notice is included in the product (e.g., a screenshot showing the open source notice)
- (if applicable) the source code to be disclosed (submitted compressed into a single file)
The Open Source Program Manager reviews the material submitted by the business unit to check for any issues.
(9) Distribution
The Open Source Program Manager submits the compliance artifacts submitted by the business unit to IT.
IT registers the compliance artifacts on the Company’s open source distribution site.
(10) Final Confirmation
The Open Source Program Manager conducts a comprehensive check to confirm that the compliance artifacts have been registered on the Company’s open source portal without issue, and that they can be downloaded externally without issue.
(11) Monitoring
The Open Source Program Manager periodically checks whether there is any supplied software for which the creation of open source license compliance artifacts is inadequate. It also operates a process to respond quickly to external inquiries. The detailed procedure for the external inquiry response process follows [2. External Inquiry Response Process].
Security operates a process to monitor and respond to known vulnerabilities or newly discovered vulnerabilities. This process must include the following:
- A method for continuously monitoring known vulnerabilities or newly discovered vulnerabilities in the open source software components used in supplied software
- A risk/impact assessment procedure for discovered vulnerabilities
- A method for contacting customers and taking appropriate action, such as upgrading software components, as necessary
- A method for maintaining continuous monitoring and response capability even after the supplied software has been released to market
The detailed procedure for this security vulnerability response process follows [2. Security Vulnerability Management Process].
2. Security Vulnerability Management Process
After supplied software has been released to market, if a known vulnerability or newly discovered vulnerability is reported, the following process is followed to take appropriate action according to the level of risk.
(1) Continuous Security Testing Before Release
IT builds and operates a system that applies continuous, repeated security testing to all supplied software before release:
- Automated security testing:
- Integrate automated security testing tools into the CI/CD pipeline.
- Automatically run security tests whenever code changes.
- Vulnerability scanning:
- Use an SCA tool to scan for known vulnerabilities in open source components.
- Automatically update the vulnerability database and perform scans daily.
- Security test result review:
- Security reviews the security test results and takes necessary action.
- If a serious vulnerability is found, immediately notifies the development team and establishes a resolution plan.
(2) Monitoring Known Vulnerabilities and Newly Discovered Vulnerabilities
IT builds and operates a system to monitor known vulnerabilities and newly discovered vulnerabilities. To identify structural/technical threats, this system performs the following functions:
- Automated vulnerability monitoring:
- Analyzes newly published vulnerabilities daily and automatically identifies affected versions of supplied software.
- Periodically collects publicly available security vulnerability information.
- SBOM-based analysis:
- Uses an SCA tool to perform SBOM-based analysis.
- Integrates the SCA tool into the CI/CD pipeline to perform automated analysis.
- Notification and record-keeping:
- When a vulnerability is discovered, automatically sends a notification to the development lead and security lead for the affected supplied software.
- Uses an issue tracking system so that everything from notification to review, action, and resolution is documented and recorded.
(3) Vulnerability Assessment and Response
Security assesses each vulnerability according to predefined risk/impact assessment criteria and provides response guidance to the business unit. Risk is classified by CVSS (Common Vulnerability Scoring System) score, and the action deadline is set according to severity.
| Risk | CVSS 3.0 | Recommended Action Schedule |
|---|---|---|
| Low | 0.0 - 3.9 | 0.0 - 3.9 |
| Medium | 4.0 - 6.9 | 4.0 - 6.9 |
| Hgh | 7.0 - 10.0 | 7.0 - 8.9 |
| Critical | - | 9.0 - 10.0 |
If a known vulnerability or newly discovered vulnerability is confirmed in previously released supplied software, the business unit establishes an action plan according to the response guidance provided by Security.
If necessary, the business unit notifies customers of the confirmed vulnerability according to the risk/impact score.
(4) Vulnerability Resolution and Verification
- The business unit resolves the vulnerability issue according to the established action plan.
- It resolves the vulnerability by removing the problematic open source software component or replacing it with a patched version, among other methods.
- IT uses an open source analysis tool to confirm that the issue has been properly resolved.
- Security performs additional security testing on the resolved vulnerability to verify that it has been completely resolved.
- The verification results are documented and recorded.
- Reviews whether all serious vulnerabilities have been resolved.
- If a vulnerability that is difficult to resolve remains, reviews whether approval is possible considering the business type and service exposure status.
(5) Post-Release Vulnerability Analysis and Response
IT operates an automated system to analyze vulnerabilities in released supplied software daily, even after release, for all supplied software.
- When affected supplied software is identified, it immediately sends a notification to the development lead and security lead.
- The notified person assesses the severity of the vulnerability and establishes a response plan.
- Carries out patch development, mitigation measures, and other actions according to the response plan.
- Performs verification after the action is completed and documents the results.
(6) Vulnerability Record Management
For each open source component, a vulnerability record is maintained that includes the following information:
- Vulnerability ID (e.g., CVE number)
- Vulnerability description
- Affected versions
- Severity (CVSS score)
- Date discovered
- Resolution status
- Resolution method applied
- Verification results
Vulnerability records are stored in a central database and backed up periodically.
IT registers the SBOM (Software Bill of Materials) with the vulnerability resolved in the system.
(7) Reporting and Communication
- A monthly vulnerability management report is prepared and provided to management and relevant stakeholders.
- The report includes the number of newly discovered vulnerabilities, the number of resolved vulnerabilities, the status of and action plan for unresolved vulnerabilities, and key risk factors and response strategies.
- If a serious vulnerability is discovered, it is immediately reported to the relevant department and management.
(8) Customer and Third-Party Notification
The Open Source Program Manager creates an updated open source notice based on the SBOM with the vulnerability resolved, and delivers it to the business unit.
Customer notification:
The business unit notifies customers of the vulnerability resolution in the following ways:
- Replaces the open source notice included with the product distribution.
- Notifies customers directly by email or other means as necessary.
- Redistributes the version of the supplied software with the vulnerability resolved.
Third-party disclosure:
IT discloses risk information to third parties in the following ways:
- Registers the revised open source notice and vulnerability-related information on the Company’s open source website.
- Submits vulnerability information to a public vulnerability database (e.g., NVD).
- Notifies the maintainer of the open source project of the discovered vulnerability and its resolution.
Notification content:
The information provided to customers and third parties includes the following:
- Vulnerability overview and identifier (e.g., CVE number)
- Affected products and versions
- Potential impact of the vulnerability and CVSS score
- Temporary response measures
- Patch or update availability and how to apply it
- Contact information for obtaining further information
3. External Inquiry Response Process
Responding quickly and accurately to external inquiries related to open source license compliance and security assurance can greatly reduce the risk of escalation to litigation. To this end, the organization complies with the following process:

(1) Acknowledgment of Receipt
The Open Source Program Manager notifies the requester immediately upon receiving an inquiry that it has been received. At this time, it specifies an appropriate response time. If the inquiry is unclear, it requests additional explanation to accurately understand the requester’s intent.
Main types of inquiries and requests:
- Whether specific supplied software uses open source
- A request to provide source code under a GPL or LGPL license mentioned in a Written Offer
- A request for an explanation and source code disclosure for open source missing from the open source notice
- A request to provide missing files or build instructions for disclosed source code
- A request for copyright notation
- Inquiries related to known vulnerabilities or newly discovered vulnerabilities
The Open Source Program Manager creates an issue for the received request and records the response status in detail.
(2) Notification of Investigation
The Open Source Program Manager notifies the requester that the Company is faithfully carrying out open source license compliance and security assurance, and that the inquiry is under investigation. It provides periodic updates on the progress of the internal investigation.
(3) Internal Investigation
The Open Source Program Manager conducts an internal investigation of the request. It confirms whether the license compliance and security assurance process was properly carried out for the supplied software in question, using the SBOM and the documented review history. It requests advice from Legal and Security as needed.
If confirmation is needed from a specific business unit, the Open Source Program Manager requests the investigation from that unit. The business unit that receives the investigation request immediately checks whether there is a problem with the compliance artifacts and security-related matters, and reports the results.
(4) Report to the Requester
The Open Source Program Manager completes the internal investigation within the specified response time and notifies the requester of the results.
- If the requester’s inquiry was a false claim caused by a misunderstanding, it explains this and closes the matter without further action.
- If a problem is confirmed, it notifies the requester of the accurate method and timing for fulfilling the open source license obligation or resolving the security vulnerability.
(5) Issue Remediation / Notification
If an actual license compliance or security problem is found during the internal investigation, the relevant business unit carries out all procedures necessary to resolve it.
(6) Notification of Issue Resolution
Once the problem has been resolved, the requester is notified immediately, and provided with the best way to confirm that the problem has been resolved.
(7) Process Improvement
If there was a license compliance or security problem, the case is reviewed at an OSRB meeting to understand how the problem occurred, and process improvement measures are established to prevent recurrence.
4. Open Source Contribution Process
If the organization allows contributions to external open source projects, the following process must be carried out.
(1) Establishing and Disseminating a Contribution Policy
- A documented policy governing contributions to open source projects must be established.
- This policy must be disseminated within the organization.
- There must be a process for enforcing the policy.
The Open Source Program Manager must do the following:
- Write a documented open source contribution policy.
- Establish a documented procedure to ensure that all program participants are aware of the open source contribution policy (e.g., education, an internal wiki, or other effective means of communication).
(2) Contribution Review and Approval Procedure
A documented procedure for managing open source contributions must be established. This procedure must include the following:
- Confirm the origin and license of the code to be contributed.
- Review whether the contributor has the right to contribute the code.
- Review the license and contribution policy of the project being contributed to.
- Obtain review by the Legal team as necessary.
- Define the approval procedure for the contribution.
- Specify the submission method for approved contributions.
The Open Source Program Manager must maintain records demonstrating that this procedure has been carried out correctly.
Through this process, the organization can effectively manage contributions to external open source projects and minimize potential legal risk.
9 - Tools
This section introduces open source tools needed for open source management and explains how to use them.
Author : Haksung Jang / CC BY 4.0
9.1 - FOSSology
For open source compliance, you can use a source code scanning tool to detect the open source and license information contained within software.

The Linux Foundation’s FOSSology project developed this scanning tool and released it as open source so that anyone can use it freely.
Key Features
FOSSology is a web-based program that lets users log in to the website and upload individual files or software packages. FOSSology detects license text and copyright information within the uploaded files. Developers should use FOSSology when they want to check what license a piece of open source carries and what its copyright information looks like. FOSSology scans every file in an uploaded open source package, automatically detects license-related text and copyright information in each file, and generates a report from it. For more details on FOSSology’s key features, refer to the following page. : https://www.fossology.org/features/
Installation
To use FOSSology within a company, you need to build a FOSSology server in-house. This requires installing FOSSology on a Linux-based server system. FOSSology can be installed in the following three ways.
- Using Docker
- Using Vagrant and VirtualBox
- Installing via a source build
This section explains the simplest method, using Docker.
FOSSology publishes a containerized Docker image through Docker Hub (https://hub.docker.com/). : https://hub.docker.com/r/fossology/fossology
The pre-built Docker image can be run using the following command.
$ docker run -p 8081:80 fossology/fossology
The Docker image can be accessed with the following URL and account information. : http://[IP_OF_DOCKER_HOST]:8081/repo
- Username : fossy
- Passwd : fossy
For more details on installation, refer to the following page. : https://github.com/fossology/fossology/blob/master/README.md
Test Server
If it is difficult to build a system on which to install FOSSology, you can use the test server provided by the FOSSology Project. The FOSSology project provides an environment for testing. (The test server may go down without notice.)
Users can access the FOSSology test server with the following account to try out FOSSology’s features.

Basic Workflow
The basic usage procedure for FOSSology is as follows.
- To check the license and copyright information of the open source you want to use, compress its source code into a single file and upload it to FOSSology.
- To do this, select Menu > Upload > From File.
- Select the file to upload and click the Upload button.
- Once the upload completes, the Job Agent automatically performs the analysis.
- You can check the Status of the analysis in progress at Menu > Jobs > My Recent Jobs.
- Once the analysis completes, you can check the results at Menu > Browse.
- Selecting an individual file lets you see what license-related text FOSSology has detected.
- At Menu > Browser > select a file or directory > Copyright/Email/Url/Author, you can see the Copyright/Email/Url/Author information FOSSology detected.
After checking whether these analysis results are valid, users can exclude incorrectly detected items from the analysis results. FOSSology describes this as the Clearing process; for more details, refer to the following page. : https://www.fossology.org/get-started/basic-workflow/
Using the method above, you can easily check what license the open source you want to use carries and what its copyright information is.
9.2 - SW360
(Updated on August 29, 2023.)
A company that develops and distributes products containing open source needs to collect and track information such as the version and license of the open source used, for each product and release version. This allows the company to carry out proper open source compliance activities.
In particular, when a security vulnerability is reported for a specific open source version at NVD (https://nvd.nist.gov/vuln), a company that cannot trace which products use that version ends up unable to determine which products need the security patch applied, leaving its products exposed to the vulnerability.
This makes tracking open source information a necessity. Companies address this either by building their own system or by purchasing and using a commercial service. SW360 is open source software sponsored by the Eclipse Foundation, providing a web application and repository for collecting and tracking software Bill of Materials (BOM) information.

Key Features
SW360 provides a web-based UI, and its key functions are as follows.
- Tracking components used in a product
- Security vulnerability assessment
- License obligation management
- Generating legal documents such as notices
Installation
SW360 is composed as follows.
- Frontend : Liferay-(Tomcat-)based portal application
- Backend : Tomcat-based thrift service
- Database : CouchDB
For details on the project structure and the software required for installation, see the Required software section of the README. : https://github.com/eclipse-sw360/sw360
SW360 offers the following installation methods. Users can choose one of them for installation.
- Can be deployed via Docker. : https://github.com/eclipse-sw360/sw360/blob/main/README_DOCKER.md
- Can install SW360’s components individually. : https://github.com/eclipse/sw360
- Vagrant-based (https://www.vagrantup.com/) installation: Vagrant is a tool for managing virtualized instances, and sw360vagrant provides an environment for deploying SW360 all at once. : https://github.com/sw360/sw360vagrant
- The Vagrant-based installation guide can be found here. (Note: because the code has changed since the guide was written, it may not work correctly.)
This guide introduces the method of deploying with Docker. For details, refer to the README. : https://github.com/eclipse-sw360/sw360/blob/main/README_DOCKER.md
1. Download the Code
Download the code to build the Docker image. The tested code can be obtained here. : https://github.com/haksungjang/sw360/tree/docker_build
git clone -b docker_build https://github.com/haksungjang/sw360.git
2. Build
First, install Docker. (Note that a paid purchase may be required for corporate developer use.)
Build by running docker_build.sh as shown below.
cd sw360
./docker_build.sh
Once the build completes successfully, you can check the created images as shown below.
docker image ls
REPOSITORY TAG IMAGE ID CREATED SIZE
eclipse-sw360/sw360 18-development ab0fd848bf80 8 minutes ago 2.95GB
eclipse-sw360/sw360 latest ab0fd848bf80 8 minutes ago 2.95GB
ghcr.io/eclipse-sw360/sw360 18-development ab0fd848bf80 8 minutes ago 2.95GB
ghcr.io/eclipse-sw360/sw360 latest ab0fd848bf80 8 minutes ago 2.95GB
eclipse-sw360/binaries 18-development aa7debf0a1fc 8 minutes ago 347MB
eclipse-sw360/binaries latest aa7debf0a1fc 8 minutes ago 347MB
ghcr.io/eclipse-sw360/binaries 18-development aa7debf0a1fc 8 minutes ago 347MB
ghcr.io/eclipse-sw360/binaries latest aa7debf0a1fc 8 minutes ago 347MB
eclipse-sw360/base 18-development e5147733fc88 37 minutes ago 1.52GB
eclipse-sw360/base latest e5147733fc88 37 minutes ago 1.52GB
ghcr.io/eclipse-sw360/base 18-development e5147733fc88 37 minutes ago 1.52GB
ghcr.io/eclipse-sw360/base latest e5147733fc88 37 minutes ago 1.52GB
ghcr.io/eclipse-sw360/thrift 0.18.1 0012d7998058 4 weeks ago 152MB
ghcr.io/eclipse-sw360/thrift latest 0012d7998058 4 weeks ago 152MB
eclipse-sw360/thrift 0.18.1 0012d7998058 4 weeks ago 152MB
eclipse-sw360/thrift latest 0012d7998058 4 weeks ago 152MB
3. Run
Run the created images with the docker-compose up command.
docker-compose up
Once it runs successfully, you can see three containers running as shown below.
docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
4299fd39010c eclipse-sw360/sw360 "/app/entry_point.sh" 3 minutes ago Up 3 minutes 0.0.0.0:8080->8080/tcp, 0.0.0.0:11311->11311/tcp sw360
13fd5696b140 postgres:14 "docker-entrypoint.s…" 3 minutes ago Up 3 minutes (healthy) 0.0.0.0:5438->5432/tcp sw360-postgresdb-1
7bb70f2daaf4 couchdb "tini -- /docker-ent…" 3 minutes ago Up 3 minutes (healthy) 4369/tcp, 9100/tcp, 0.0.0.0:5984->5984/tcp sw360-couchdb-1
At this point, accessing http://localhost:8080/ takes you to the following screen.

Configuration
After installing SW360 successfully, you need to perform the initial configuration following the procedure below. For details, see: SW360 Initial Setup Configuration
1. User and Login Configuration
Log in with the following account to perform the configuration.
- id : setup@sw360.org
- pw : sw360fossy
Once you log in, a Not Found message appears as shown below.

Click the item icon (cube shape) in the upper right of the screen and select the Control Panel tab.

Enable SECURITY > Password Policies > Default Password Policy > PASSWORD CHANGES > Change Requried.

Then, back in the Control Panel tab, select CONFIGURATION > Instance Settings. This shows the PLATFORM menu.

There, select Users. Then go into the Default User Associations menu, check Apply to Existing Users, and Save.

Now, under Instance Settings > PLATFORM, select User Authentication. Go into General and uncheck all items. (You can check and enable any items needed for administrative purposes.) Then Save.

Finally, you need to enable jQuery and Font Awesome. To do this, go into CONFIGURATION > System Settings in the Control Panel tab, where you can find Third Party under PLATFORM.

Go into Third Party and enable JQuery and Font Awesome respectively.


Restart your browser for the changes to take effect.
2. Import LAR Files
To configure SW360, you need to import the *.lar files. To do this, you need to go into the menu, and the menu button is in the upper left of the screen.

In the menu, go into Publishing > Import.

Click the + button on the right to upload a LAR file. The LAR files are located under the frontend/configuration folder in the SW360 source files. (e.g., https://github.com/haksungjang/sw360/tree/docker_build/frontend/configuration)
First, upload the Public_Pages_7_4_3_18_GA18.lar file and click the Continue button.

On the File Summary screen, you can see the details of the uploaded LAR file.

Change AUTHORSHIP OF THE CONTENT at the bottom to Use the Current User as Author and click the Import button.

You can then see that the import completed successfully.

Similarly, import the Private_Pages_7_4_3_18_GA18.lar file. On the File Summary screen, change PAGES > Private Pages as shown below.

Then select the PERMISSIONS, UPDATE DATA, and AUTHORSHIP OF THE CONTENT items as shown in the image below, and click the Import button to perform the import.

After completing this, click the Home button at the top of the menu.

This takes you to the Welcome to SW360! screen shown below.

Click the Start button to go into the SW360 main screen. (All items are empty at this point.)

3. User Account Configuration (for Testing)
In the SW360 menu, select Admin > User.

In the UPLOAD USERS menu at the bottom of the screen, upload the user list for testing. (The user list for testing can be downloaded here. : test_users_with_passwords_12345.csv )

You can then see that a list of 9 users has been uploaded, as shown below.

Try logging in again with the user@@sw360.org account, one of the users shown in the list. The password is 12345.
Basic Workflow
1. Registering Licenses
When you first install SW360, you need to first register the open source licenses you use frequently. A license includes the following information.
- Full Name
- Short Name
- License Type
- GPL-2.0 Compatibility (e.g., yes, no)
- License Text
Selecting Menu > Licenses > Add License takes you to the Create License screen shown below.
Registering licenses one by one manually like this can be quite tedious, but fortunately SW360 provides a feature to import the SPDX License List all at once. Click Menu > Admin < Import SPDX Information.
The SPDX License List is then automatically registered shortly after. At Menu > Licenses, you can confirm that 338 licenses have been registered.
2. Registering Components and Releases
In SW360, a Component is a single unit of software. Various forms of software can fall into this category, for example:
- Open source software
- Libraries
- Third-party software
A Component includes the following information.
- Component Name
- Main Licenses
- Categories (e.g., Library, Cloud, Mobile, …)
- Component Type (e.g., OSS, Internal, InnerSource, Service, Freeware)
- Default Vendor
- Homepage URL
A Release is the unit that refers to a single Version within a Component. Accordingly, one Component can have multiple Releases. A Release is created and managed under a single Component.
A Release includes the following information.
- Component Name
- Version
- License
- Download URL
- CPE ID (e.g., cpe:2.3:a:apache:maven:3.0.4)
For example, if you need to register zlib-1.2.8, you first register zlib as a Component, then register zlib 1.2.8 as a Release. Selecting Menu > Components > Add Component takes you to the Create Component screen, where you can register information about zlib.
Once you create the Component, you can register information for the zlib-1.2.8 version at Components > Releases > Add Release.
When versions 1.2.8 and 1.2.11 are each registered as Releases under the single zlib Component, the Release Overview screen shows 2 Releases existing, as below.
SW360 provides a feature for importing information for multiple Components at once. At Menu > Admin > Import / Export, you can enter the Component information you want to register into the CSV template and then import it.
Note that, as of February 2020, this feature may not yet work reliably.
3. Creating a Project
A Project refers to a single product. Depending on the type of business, it may be a product, a service, or software. Under a Project, you register and manage the Components/Releases used in the product.
When creating a Project, you register the following information.
- Project Name
- Version
- Project type (e.g., Product, Customer Project, Service, Internal Project, InnerSource)
You can create a Project via Menu > Projects > Add Project.
Once you create the Project, register the Releases or sub-Projects it includes. Selecting the Project at Menu > Projects lets you register Linked Projects and Linked Releases under “Linked Releases and Projects.”
The following is the screen after registering OpenSSL 1.0.1 and zlib 1.2.8 as Linked Releases in a Project named SuperCalc.
4. Security Vulnerability Management
SW360 can automatically check whether registered Releases have security vulnerabilities. To do this, SW360 provides a feature for scheduling periodic collection of CVE information. At Menu > Admin > Schedule, you can set a schedule to collect CVE SEARCH information every 24 hours.
Once this schedule is set, SW360 collects CVE information from the CVE Search site (https://cve.circl.lu/) at the scheduled time. The collected CVE information can be checked at Menu > Vulnerabilities.
Once the Vulnerabilities information has been collected, you can query whether a created Project has security vulnerabilities. In the SuperCalc Project created above, you can confirm that 85 security vulnerabilities were reported.
By registering and managing the software a company develops and distributes in SW360 this way, you can manage it in a form that minimizes risk not only for open source compliance but also for security vulnerabilities.
SW360 also offers most of its functionality via a REST API in addition to the Web Interface above, making integration with other tools such as FOSSology possible. : https://github.com/eclipse/sw360/wiki/Dev-REST-API
In other words, integrating this into DevOps by, for example, importing the analysis results of a source code scanning tool into SW360, and automating the registration of Projects and Releases, would greatly increase efficiency.
9.3 - FOSSLight
FOSSLight is an open source project led by LG Electronics that uses various scanners to analyze source code, binaries, and dependencies, and generates a Software Bill of Materials (SBOM). In particular, FOSSLight Hub supports the compliance process by providing open source management, license management, and vulnerability management functions.
1 Introduction to FOSSLight
- Key Features:
- Integration of various scanners: integrates and uses various open source scanners such as ScanCode Toolkit, SPDX Tools, CycloneDX, and Fossology
- Support for various analysis targets: supports various analysis targets such as source code, binaries, container images, and Linux packages
- SBOM generation and management: generates and manages SBOMs in various formats (SPDX, CycloneDX, Excel, Text)
- License information detection and management: accurately detects and manages open source license information
- Vulnerability information integration: integrates with external vulnerability databases such as NVD and CVE to provide vulnerability information
- FOSSLight Hub: provides open source management, license management, and vulnerability management functions through a web-based UI
- Advantages:
- High extensibility: various scanners can be integrated and used as plugins
- Web-based UI: provides a user-friendly interface through FOSSLight Hub
- Support for various report formats: reports can be generated in various formats such as SPDX, CycloneDX, Excel, and Text
- Open source license
- Disadvantages:
- Complex initial setup: initial setup can be somewhat complex because various scanners need to be integrated
- FOSSLight Hub installation required: FOSSLight Hub must be installed separately to use the web-based UI
2 Installing FOSSLight
FOSSLight consists of FOSSLight Scanner and FOSSLight Hub. FOSSLight Scanner runs various scanners to generate analysis results, while FOSSLight Hub provides a web-based UI that integrates, manages, and visualizes the scanner results.
This section explains how to install FOSSLight Scanner and FOSSLight Hub together using Docker Compose.
Install Docker and Docker Compose:
- Before installing FOSSLight, confirm that Docker and Docker Compose are installed on the system.
- Docker installation instructions vary by operating system, so refer to the official Docker documentation (https://docs.docker.com/get-docker/).
- Docker Compose is a tool for running and managing multiple containers simultaneously using Docker. For Docker Compose installation instructions, refer to the official Docker documentation (https://docs.docker.com/compose/install/).
Clone the FOSSLight Repository:
- Run the following command to clone the FOSSLight GitHub repository.
git clone <https://github.com/fosslight/fosslight_hub.git> cd fosslight_hubConfigure the Docker Compose File:
- The
fosslight_hubdirectory contains adocker-compose.ymlfile. You can open this file in a text editor and change the FOSSLight Hub configuration.
version: "3.7" services: fosslight_db: image: mariadb:10.6.4 container_name: fosslight_db volumes: - fosslight_db:/var/lib/mysql restart: always environment: - MYSQL_ROOT_PASSWORD=fosslight - MYSQL_DATABASE=fosslight_db - MYSQL_USER=fosslight - MYSQL_PASSWORD=fosslight fosslight_web: image: fosslight/fosslight_hub:latest container_name: fosslight_web ports: - "8080:8080" restart: always environment: - FOSSLightDB_HOST=fosslight_db - FOSSLightDB_PORT=3306 - FOSSLightDB_USER=fosslight - FOSSLightDB_PASSWORD=fosslight - FOSSLightDB_NAME=fosslight_db depends_on: - fosslight_db fosslight_scanner: image: fosslight/fosslight_scanner:latest container_name: fosslight_scanner restart: always volumes: - ./upload:/home/fosslight_scanner/upload - ./result:/home/fosslight_scanner/result volumes: fosslight_db:- You can change the port number, database settings, and so on as needed.
- The
Run FOSSLight:
- Run the following command to start FOSSLight.
docker-compose up -d- This command runs FOSSLight Hub, FOSSLight Scanner, and the MariaDB database as Docker containers.
Verify the FOSSLight Installation:
- In a web browser, access
http://localhost:8080to confirm that you can reach FOSSLight Hub. - If the FOSSLight Hub web UI is displayed, the installation completed successfully.
Figure 2.1: FOSSLight Hub Web UI
(Insert screenshot of the FOSSLight Hub web UI)
- In a web browser, access
3 FOSSLight Usage Guide
FOSSLight can be used through a web UI (FOSSLight Hub) and a CLI (FOSSLight Scanner).
3.1 Using FOSSLight Hub
FOSSLight Hub provides functionality, through a web UI, to manage open source projects, check scan results, and generate various reports.
Register a Project:
- Access FOSSLight Hub and register a new project.
- Enter information such as the project name, description, and owner.
Figure 2.2: FOSSLight Hub Project Registration Screen
(Insert screenshot of the FOSSLight Hub project registration screen)
Upload Scan Results:
- Upload the scan results generated using FOSSLight Scanner to FOSSLight Hub.
- The scan result file must be in SPDX, CycloneDX, or FOSSLight JSON format.
Figure 2.3: FOSSLight Hub Scan Result Upload Screen
(Insert screenshot of the FOSSLight Hub scan result upload screen)
Check Scan Results:
- Check the uploaded scan results.
- FOSSLight Hub visually presents SBOM information, license information, and vulnerability information.
Figure 2.4: FOSSLight Hub Scan Result Review Screen
(Insert screenshot of the FOSSLight Hub scan result review screen)
Generate Reports:
- Generate various reports based on the scan results.
- You can choose the report format: SPDX, CycloneDX, Excel, or Text.
Figure 2.5: FOSSLight Hub Report Generation Screen
(Insert screenshot of the FOSSLight Hub report generation screen)
3.2 Using FOSSLight Scanner
FOSSLight Scanner provides functionality, through the CLI, to scan source code, binaries, and container images and generate an SBOM.
Run a Scan:
- Run the following command to execute a scan.
docker run --rm -v $(pwd)/upload:/home/fosslight_scanner/upload -v $(pwd)/result:/home/fosslight_scanner/result fosslight/fosslight_scanner -p /home/fosslight_scanner/upload/<scan target> -o /home/fosslight_scanner/result/<result file name> -f <result format>- Each option is explained as follows.
-rm: automatically removes the container after it runs.v $(pwd)/upload:/home/fosslight_scanner/upload: shares theuploaddirectory in the current directory with the/home/fosslight_scanner/uploaddirectory inside the container. You need to copy the file or directory to be scanned into this directory.v $(pwd)/result:/home/fosslight_scanner/result: shares theresultdirectory in the current directory with the/home/fosslight_scanner/resultdirectory inside the container. The scan result file is saved to this directory.p /home/fosslight_scanner/upload/<scan target>: specifies the path to the file or directory to be scanned.o /home/fosslight_scanner/result/<result file name>: specifies the name of the scan result file.f <result format>: specifies the scan result format (spdx, cyclonedx, fosslight_json).
- Example:
docker run --rm -v $(pwd)/upload:/home/fosslight_scanner/upload -v $(pwd)/result:/home/fosslight_scanner/result fosslight/fosslight_scanner -p /home/fosslight_scanner/upload/my_project -o /home/fosslight_scanner/result/my_project_sbom.json -f fosslight_jsonCheck the Scan Results:
- Once the scan completes, the scan result file is generated in the
resultdirectory. - You can check the scan result file using a text editor or FOSSLight Hub.
- Once the scan completes, the scan result file is generated in the
4 Precautions When Using FOSSLight
- Because FOSSLight integrates and uses various scanners, you need to understand the characteristics and usage of each scanner.
- Because FOSSLight Hub requires a web server and a database, you need to install it with system resource requirements in mind.
- FOSSLight Scanner requires permission to access the file or directory being scanned.
5 Troubleshooting
- Docker execution error: confirm that Docker is installed correctly, and check for permission issues.
- Try running with administrator privileges using the
sudo docker run ...command.
- Try running with administrator privileges using the
- Scan error: confirm that the path to the file or directory being scanned is correct, and check that you have permission to access that file or directory.
- FOSSLight Hub access error: confirm that the Docker container is running properly, and check that the port forwarding is configured correctly.
6 Additional Information
- FOSSLight official website: https://fosslight.org/
- FOSSLight GitHub repository: https://github.com/fosslight/fosslight_hub
- SPDX official website: https://spdx.dev/
- CycloneDX official website: https://cyclonedx.org/
9.4 - OSV-SCALIBR
OSV-SCALIBR (Software Composition Analysis LIBRary) is an open source software composition analysis library developed by Google. It supports various programming languages and aims to provide fast and accurate analysis results. It offers core functionality for generating a Software Bill of Materials (SBOM), but because it is provided as a library rather than as a standalone executable, users need to write their own code to integrate it.
1 Introduction to OSV-SCALIBR
- Key Features:
- Support for various programming languages (Python, Go, Java, etc.)
- Analysis of package manifest files (requirements.txt, pom.xml, go.mod, etc.)
- Dependency information extraction
- Vulnerability information integration (using the OSV database)
- Fast analysis speed
- Advantages:
- Support for various programming languages
- Fast analysis speed
- Provides the latest vulnerability information through OSV database integration
- Flexible integration possibilities
- Open source license
- Disadvantages:
- Provided as a library rather than as a standalone executable
- Users need to write their own code to integrate it
- SBOM generation functionality must be implemented directly
- Lack of documentation and community support
2 Installing OSV-SCALIBR
Because OSV-SCALIBR is provided as a library, you need to install it through the package manager appropriate for the programming language you intend to use. This guide explains how to install it in a Python environment.
Confirm Python and pip Are Installed:
- Before installing OSV-SCALIBR, confirm that Python and pip are installed on the system.
- Run the following command in the command prompt or terminal to check the Python version.
python --version- Python 3.7 or higher must be installed.
- To check the pip version, run the following command.
pip --version- If Python and pip are not installed, download and install them from the official Python website (https://www.python.org/downloads/).
Install OSV-SCALIBR:
- Run the following command to install the OSV-SCALIBR library.
pip install osv-dbVerify the Installation:
- Run the Python interpreter and enter the following code to confirm that OSV-SCALIBR was installed correctly.
import osv print(osv.__version__)- If the OSV-SCALIBR version information is printed, the installation completed successfully.
3 OSV-SCALIBR Usage Guide
Because OSV-SCALIBR is provided as a library, you need to write your own code to generate an SBOM. The following is a basic example of generating an SBOM using OSV-SCALIBR in a Python environment.
Install Required Libraries:
- In addition to
osv-db, install the libraries needed to generate an SBOM (e.g.,spdx-tools).
pip install spdx-tools- In addition to
Write the Code:
- The following is example code that extracts dependency information from a
requirements.txtfile, checks vulnerability information using OSV-SCALIBR, and then generates an SBOM in SPDX format.
import osv from spdx_tools.spdx.model import Document, Package from spdx_tools.spdx.builder import Builder from spdx_tools.spdx.validation.document_validator import validate_full import os def create_sbom_from_requirements(requirements_file): """ Extracts dependency information from a requirements.txt file, checks vulnerability information using OSV-SCALIBR, and then generates an SBOM in SPDX format. """ # 1. Read the requirements.txt file dependencies = [] with open(requirements_file, "r") as f: for line in f: line = line.strip() if line and not line.startswith("#"): package_name, package_version = line.split("==") dependencies.append((package_name, package_version)) # 2. Create the OSV API client client = osv.Client() # 3. Create the SPDX document document = Document( spdx_version="SPDX-2.2", data_license="CC0-1.0", spdx_id="SPDXRef-DOCUMENT", name="SBOM for " + requirements_file, ) document.creators = ["Tool: OSV-SCALIBR Example Script", "Organization: Your Organization"] # 4. Add package information and check vulnerability information for package_name, package_version in dependencies: # Query vulnerability information using the OSV API vulnerabilities = client.get_vulnerabilities(package_name, package_version) # Create the package package = Package( name=package_name, spdx_id=f"SPDXRef-Package-{package_name}", version=package_version, # TODO: License information needs to be added. ) # If vulnerability information exists, add a comment if vulnerabilities: comment = f"Vulnerabilities found: {len(vulnerabilities)}" package.comment = comment document.packages.append(package) # 5. Validate and output validation_messages = validate_full(document) if validation_messages: print("Validation errors:") for message in validation_messages: print(message) else: # Convert the SPDX document to a string (using spdx-tools) from spdx_tools.spdx.writer.write_anything import write_anything output_file = "sbom.spdx" write_anything(document, output_file, "tag", check_licenses=False) print(f"SPDX document generated successfully! File: {output_file}") # Example run # The requirements.txt file must be in the current directory. if os.path.exists("requirements.txt"): create_sbom_from_requirements("requirements.txt") else: print("Error: could not find the requirements.txt file.")- The following is example code that extracts dependency information from a
Run the Code:
- Save the code above as a Python file (e.g.,
sbom_generator.py), and run the following command.
python sbom_generator.py- Save the code above as a Python file (e.g.,
Check the Results:
- If the code runs successfully, a
sbom.spdxfile is generated. This file contains the SBOM written in SPDX format.
- If the code runs successfully, a
4 Precautions When Using OSV-SCALIBR
- Because OSV-SCALIBR is provided as a library, you need to write your own code to generate an SBOM.
- Because OSV-SCALIBR does not provide every function needed for SBOM generation, you need to implement the required functionality yourself or use it together with other libraries.
- OSV-SCALIBR’s documentation can be somewhat lacking, and community support may not be very active.
- The code example generates an SBOM based on a
requirements.txtfile, but a real environment may need support for various package managers. - The code example does not add license information directly. In an actual SBOM, you need to accurately determine and add the license information for each package.
5 Example of a Generated SBOM (Inferred)
An SBOM (in SPDX format) generated using OSV-SCALIBR would have a structure like the following. (The actual content depends on the contents of the requirements.txt file.)
SPDXVersion: SPDX-2.2
DataLicense: CC0-1.0
SPDXID: SPDXRef-DOCUMENT
Name: SBOM for requirements.txt
Creator: Tool: OSV-SCALIBR Example Script
Created: 2025-02-11T00:00:00Z
# Package Information
PackageName: requests
SPDXID: SPDXRef-Package-requests
PackageVersion: 2.28.1
# Comment: Vulnerability found: 1 (may vary depending on the OSV database)
PackageName: urllib3
SPDXID: SPDXRef-Package-urllib3
PackageVersion: 1.24.13
# Relationships
# (Dependency relationship information between each package)
Note: the example above merely shows the format of an SBOM that OSV-SCALIBR could generate; the actual SBOM content depends on the code and the dependency analysis results. Additional information such as license information and origin information needs to be added by modifying the code directly.
6 Additional Information
- OSV-SCALIBR GitHub repository: (no information)
- OSV (Open Source Vulnerabilities) database: https://osv.dev/
- SPDX official website: https://spdx.dev/
Caution: because OSV-SCALIBR is a library, this guide alone may not be enough to complete SBOM generation. It requires an understanding of Python programming and SBOM generation, along with additional code.