Running the Code

  1. What do I need to run the OCAP RI software?

Currently, the software on supports Microsoft Windows environment. CableLabs intends to start a Linux-based project shortly, and we hope to enlist the help of the community!

  1. Is all the code for building a reference implementation available at this site?

Yes. Both source code and binary code are available at this site for the OCAP Stack, tru2way SDK and PC Emulator.

  1. How is the OCAP-RI project on related to the PhoneME project on

The OCAP-RI project started with the PhoneME JVM. Several changes were made to the JVM to support the OCAP requirements. The OCAP JVM source code is currently tightly integrated with the OCAP source code. You will need to use the JVM code available from the OCAP-RI project.

The OCAP-RI project contributed the OCAP JVM changes back to the PhoneME project, and we expect the PhoneME community to develop a version of the OCAP JVM with well-defined interfaces.

  1. AC3 Implementations
    Currently there is no support for audio playback in the OCAP Reference Implementation, and an AC3 audio decoder is NOT included in the RI package.


  1. How can I contribute code?

The OCAP-RI project follows contribution processes similar to other projects on Bugs and bug fixes can be submitted through the Bugzilla program under the OCAP-RI project. Larger code contributions will be reviewed and commented on by the project owner as they come up. If the recommendation is outside the current specification, it will be logged as a specification upgrade request and reviewed during that process.

  1. Do I need to sign anything to contribute code?

Yes. If you want to contribute code for inclusion in the OCAP-RI project, or other CableLabs-sponsored open-source projects, then you must sign the CableLabs Contributor Agreement (CCA) so that CableLabs has the right to distribute your contribution if accepted. If you've already signed a CCA for another CableLabs project on, this agreement covers your participation in any of CableLabs-sponsored projects on

  1. Do I give up any rights by signing the CableLabs Contributor Agreement?

No. With this agreement, you commit to jointly sharing your copyright for the contributed code with CableLabs. You still retain your own joint ownership rights.

  1. How do I know if an existing module, program, etc. is okay to use in my contribution?

According to the terms of the CableLabs Contributor Agreement, any contribution you make to the open source project must be owned by you or your representative organization. If there’s additional code you wish to contribute that is owned or licensed by someone else, please send an email to the associated mailing list.

  1. Does the community scrub the code for license, patent, and other encumbrances prior to each release?

All contributions that are included in the final reference implementation must be accompanied by a signed CableLabs Contributor Agreement. This is a legal document where the contributor claims ownership of the contributed code and assigns a joint copyright interest to CableLabs.

  1. I want to contribute features to the OCAP-RI but I don’t see those features defined in the CableLabs specification. What should I do?

The specification is owned and managed by CableLabs. You can submit a request to participate in the CableLabs OpenCable specification drafting process by sending mail to

  1. I have created an application based on the OCAP RI. How can I show it to cable operators?

CableLabs currently provides opportunities for application developers to develop and demonstrate applications. CableLabs and other facilities provide training opportunities for OCAP developers. CableLabs hosts several interoperability and showcase events throughout the year and upon request. A fee-based development lab with connectivity to a cable plant and access to several models of client devices is also available at CableLabs. For more information about any of these opportunities, please direct your questions to

FAQ_Code_and_Contributions v2.doc page 2 of 2