Skip to content

Leveraging Specifications in Open Source Projects

Scott Nicholas

Supply ChainThe Linux Foundation44 minOpen on YouTube ↗

Reviews leveraging Specifications in Open Source Projects and evaluates key implications for security practitioners.

Summary

### Overview In "Leveraging Specifications in Open Source Projects," the speaker (Vice President of Project Formation at the Linux Foundation) discusses how open source communities can collaborate on, implement, and create open specifications. While open source and open specifications are complementary and synergistic, specifications require distinct legal and intellectual property frameworks to ensure clarity around implementations beyond code, patent licensing, and governance.

### Key Topics - **Importance of Specifications:** Specifications have driven industrial and technical collaboration for over 180 years (from the British Standard Whitworth screw thread to modern digital protocols). In software, they ensure code is well-defined, offers predictable performance, and enables interoperability across disparate implementations. - **Open Source vs. Open Specification Licensing:** Open source licenses focus on contributor commitments regarding contributed code and documentation artifacts. Open specification licenses secure commitments from participants to enable implementation across software, hardware, and services beyond the contributed repository code. - **Three Ways Open Source Projects Leverage Specifications:** 1. *Implementing upstream specifications:* Translating external specifications into running code. 2. *Establishing formal communication channels:* Creating liaison agreements, memorandums of understanding (MOUs), or letters of intent with third-party standards development organizations (SDOs). 3. *Developing specifications in-house:* Hosting an open specification effort directly within the open source project.

### Technical Details - **Upstream Implementation Considerations:** When turning an upstream specification into code, projects must evaluate legal and IP risks: whether the specification is governed by trade secret/NDAs, whether contributors have rights to modify and code against the text, trademark rules, notice/attribution requirements, conformance certification fees, and whether patent royalty obligations exist. - **SDO Collaborations:** Formal liaison mechanisms or MOUs help scope collaborations and resolve license incompatibilities (e.g., Linux Foundation collaborations with ETSI, TM Forum, ONAP/MEF, and C2PA/IPTC). - **Linux Foundation Frameworks for Specification Development:** - *Community Specification License (CSL):* A lightweight, repository-based framework designed for collaboration at the speed of open source. Governance, scope, code of conduct, and IP rules live directly in markdown files inside the repo. Joining can be as simple as submitting a pull request. - *Joint Development Foundation (JDF):* A traditional SDO-in-a-box approach using series LLC legal entities, formal signed corporate membership agreements, working group charters, and a formal steering committee. - **Key Terms of the Community Specification License:** - *Copyright Grant:* Authorizes draft development and explicit permission to submit the specification to external standards bodies (e.g., ISO). - *Patent Grants & Scope:* Contributors grant licenses to necessary claims within the defined scope of the project/working group, covering contributions, draft specifications, and approved specifications. - *Patent Exclusion Mechanism:* Contributors can explicitly exclude patent claims by submitting a pull request to a notices file. - *Source Code Licensing:* Code developed alongside the spec defaults to the MIT license unless otherwise specified. - **Case Study: SPDX:** Software Package Data Exchange (SPDX) standardizes software bill of materials (SBOM) data (covering components, licenses, copyrights, and security references). Recognized internationally as ISO/IEC 5962:2021, SPDX migrated future specification versions to the Community Specification License, using a customized governance file to establish its three-team structure (technical, legal, outreach) and steering committee oversight.

### Takeaways Open source communities can substantially broaden their impact by integrating specifications. For communities wanting to initiate a specification quickly, the Community Specification License provides a self-contained, modular template within Git repositories that can be customized to match existing technical steering committees (TSCs) and escalated to more formal legal structures (like JDF or ISO recognition) as the project matures.

Related talks