C3: Common Code Community
These pages describe the rules of the road for joining and participating in the Common Code Community (C3) projects. Here you'll find information about:
The mission of the CableLabs Common Code Community program is to provide a framework that facilitates the collaborative development of software implementations and/or other software-based assets for the shared use of the cable community. It targets varied aspects of a cable network, including applications, middleware, test harnesses, and specification reference implementations that can be shared across a community of cable stakeholders, especially CableLabs, its members, and their suppliers.
C3 is governed by the C3 Board, a group of CableLabs employees responsible for its day-to-day operation. The C3 Board has responsibility to address:
- Review and approve the creation, continuity, and conclusion of projects - working to maintain a cable focus and avoid project scope overlap, and proliferation of vendor-specific agendas
- Administration of the membership process, license structure, and compliance
- Management of the common project framework with the goal of providing consistent user experience across projects
- Facilitate effective information sharing and use
Starting a C3 Project: Project Request, Project Charter, Project Governance
C3 Project Requests may be made by any member of the C3 Community. Project Requests are made using the form below, and are approved by the C3 Board. Once approved, the Project will operate under the CableLabs C3 structure using the C3 platform. Projects may include any member of the C3 Community as determined by the Project.
Project Framework and Tools
C3 Projects are organized using a common framework and tools so that stakeholders experience consistency in view and function across C3 Projects. The common project framework facilitates the location of fundamental information including:
- The current status of the project: active, dormant, closed
- Collaboration model: fork and pull, or shared repository and the associated SCM tools
- Project Charter,
- Execution of the Project Charter, including licensing structure, in order to participate in, and contribute to, the Project
- Identification of the Project Chair and Commuters who have authority to add, modify, or remove project content.
- Design documentation. Note that this may or may not be an actual specification for the project.
- Communication tools such as FAQs, blog tools, wikis, or issue trackers
For detailed information on the C3 Toolset, please see:
Participation, Contributions, and Licensing
Participation in a C3 Project is established by signing the C3 Project Charter for each Project the Participant desires to join. Visit the Project page to download and execute the Project Charter. Only Project Participants that execute the Project Charter will be bound by its terms and be permitted to participate in, and contribute to, the Project and any associated Working Groups.
Per the Project Charter, Participants grant a joint copyright ownership interest in any Contributions made to the Project. This creates a homogenous ownership interest of the joint work product in order to facilitate the potential migration of a C3 Project work product to other communities, open source projects, and standards development organizations.
As documented in the Project Charter, each C3 Project may establish it own copyright and patent licensing structure. Common copyright licenses may include BSD 2-clause, Eclipse 1.0, Apache 2.0, Open Web Foundation 1.0, GPL3, or the CableLabs C3 Contribution and License Agreement. Common patent licenses may include Open Web Foundation 1.0, GPL3, RAND-Royalty Free, RAND, ITU-T, W3C,or the CableLabs C3 Contribution and License Agreement. See the Project Charter located under each C3 Project.