Linux Foundation Wiki

project collaboration site

User Tools

Site Tools


openchain:specification-questions-and-answers

OpenChain Specification FAQ

This is the FAQ for the OpenChain specification. We highly recommend all contributors to specification's development review these questions and answers as a first step to contributing. There are four principles that guide the development of the specification:

  1. Build trust and consistency around the use and sharing of open source software
  2. Less is More
    • Avoid boiling the ocean - Focus specifically on providing the necessary and sufficient requirements of a “quality” compliance program
    • Focus on meaningful pain points based on actual practice use cases
  3. Focus of the what and why (avoid the how and when)
    • Embrace the implementation of different practices to solve a given requirement
    • Avoid providing specific legal advice or specific best practices
  4. Function as an open development initiative - open to all to contribute - inclusion via discussion and consensus that adhere to these guiding principles

What is the objective of the of the of the OpenChain specification?

To define a core set of requirements a Open Source compliance program should satisfy to achieve: a level of trust that an organization provides the artifacts required to achieve Open Source license compliance for software it shares with others. Compliance artifacts consist of: source code, build scripts, license copies, attribution notices, modification notices, SPDX data and other materials open source licenses governing a software deliverable may require.

Where can I obtain a copy of the current version of the specification?

Does a FOSS program need to satisfy all the requirements of the specification to be considered OpenChain Conforming?

Yes. The specification was designed to provide a core set of requirements to ensure a certain level of program quality has been achieved. In order to ensure there are no significant gaps in an OpenChain conforming program that could lead to poor quality output, a program must satisfy all the requirements to be considered OpenChain conforming.

What does it mean that a software offering is OpenChain Conforming?

For the 1.0 version of the specification supplied software itself is not identified as being OpenChain Conforming. An Open Source compliance program which the software is prepared under is a candidate for OpenChain conformance. When a software supplier states they are OpenChain conforming it means they have a program that satisfies all the requirements of the OpenChain specification. A software supplier may declare the software offered was prepared under an OpenChain conforming program. Similarly, a software recipient may ask the supplier if the software they received was prepared under an OpenChain conforming program.

Does all software in an organization need to be covered by an OpenChain Conforming program to achieve program conformance?

No. Organizations are sometimes composed of different groups and/or departments which may have different programs and release procedures (e.g., engineering vs professional services). One Open Source program within an organization can be classified as OpenChain conforming if it satisfies the specification requirements while another program may not. One should not associate software with OpenChain conformance if it has not been reviewed under a program that has been assessed to be OpenChain conforming.

Does the specification serve as a best practice guide?

No. The main objective of the specification provides a set of requirements that would help one evaluate whether an existing Open Source compliance program is sufficient. It focuses on the “what and why” aspects of a program and not the how or when. There are many different ways to construct a Open Source compliance program (how and when) such that each way would satisfy the specification. The specification provides a method of measuring whether a program has obtained a base line level of quality and consistency. This allows a software supplier to represent to their users that the compliance artifacts they deliver were prepared under a Open Source program that met a standard level of quality.

How was the specification developed?

The Linux Foundation OpenChain working group functions like an open source project by obtaining input from dozens of individuals, companies and organizations that have experiences preparing for and/or exchanging software in the software supply chain. There are no specific requirements for participating. The working group identified 6 main categories of a compliance program and then had contributors identify important tasks and deliverable for each category. The six categories were:

  1. Know Your Free and Open Source (FOSS) Responsibilities [i.e., “Policy and Training”]
  2. Assign Responsibility for Achieving Compliance
  3. Deliver FOSS Content Documentation and Artifacts
  4. Review and approve FOSS content
  5. Understand FOSS Community Engagement
  6. Certify Adherence to OpenChain Requirements

A number of reference documents were prepared and used as important sources of input into identifying core requirements of a quality compliance program. Several of those documents include:

Is a third party audit required to declare a FOSS program to be OpenChain Conforming?

No. At least not yet. The OpenChain 1.0 specification is simply structured to provide a list of requirements where each requirement maintains a set of acceptance criteria (Verification Artifacts). Each requirement is a description of an important quality a Open Source program must maintain. The Verification Artifacts for a requirement represent a list of tangible artifacts that must exist in order for one to determine the specific requirement has been met. Although artifacts must exist, one is not required to make them public. The key goal of the specification is to foster trust around Open Source compliance between two parties exchanging software. Although currently an audit by a third party is not a requirement of the OpenChain specification, a partner or customer may ask for evidence of the Verification Artifacts as a condition for doing business (e.g., under an Non-Disclosure agreement). That is, the obligation to provide evidence of the existence of the artifacts, and the willingness to do so, is determined by the relationship entered into by two parties. It has been discussed that a future version of the specification may provide more specific guidelines on how to obtain third party certification.

No. The specification does not provide legal guidance. It does require an organization to designate a legal expert who can assist with legal guidance. Furthermore the specification requires that a process exists that ensures the appropriate attention is given to license obligation analysis and and fulfillment.

Does OpenChain program conformance guarantee license compliance?

No, but it significantly increases the probability that license compliance will be achieved for software releases prepared under a OpenChain conforming program.

Do resources exist to assist my organization in achieving OpenChain Conformance?

The OpenChain Curriculum working group has developed training reference materials that greatly facilitate the creation (or enhancement) of a Open Source compliance training program. The OpenChain Conformance working group has developed a questionnaire to guide an organization in self-certifying a program to be OpenChain conforming. The Linux Foundation sponsors various open source projects and initiatives that provide useful tools and compliance program resources that can help implement an OpenChain Open Source compliance program (e.g., SPDX, FOSSology, …). These resources can be found in the Linux Foundation Open Compliance Program.

What is the license of the OpenChain Specification?

The specification is licensed under the Creative Commons Attribution License 4.0 (CC-BY-4.0). A copy of the license can be obtained here: CC-BY-4.0

What is the different between Conformance vs Compliance

In the specification text we do *not* use the term “Compliance” with respect to satisfying the spec requirements not to confuse it with “license compliance” or “Open Source Compliance program” which is frequently mentioned through out the spec. We use the term “Conformance” instead to mean a program has satisfied all the spec's requirements. It is possible that someone might make reference to the fact that their program “complies” with Spec 1.1 or that the program is “compliant” with version X of the spec which would be equivalent to stating the program “conforms” or has achieved “conformance” with version X.

openchain/specification-questions-and-answers.txt · Last modified: 2017/08/24 23:50 by mgisi