Software Dissemination

Software Licensing Basics at JPL

Caltech elects ownership of copyrights to all JPL developed software. Although all of the software developed at JPL is protected by copyright, any software has the potential of becoming patentable. If Caltech files for a patent and receives monetary compensation for the software then the innovators at JPL will receive a portion of the royalty collected.

Caltech has agreed to grant the U.S. Government and its contractors a license to use the software at no cost. This is referred to as a "government use" license.

At Caltech and JPL's discretion, other potential users can license the software under the following terms:

  • Research organizations can license software at no cost for research use.

  • Commercial companies can receive evaluation licenses or royalty or fee based licenses for for-profit use.

Consequences of Non-Compliance

  • Criminal penalties exist for the illegal export of technology, including software.

  • Caltech can lose the ability to commercialize software if that software has been disseminated without license terms. Along with that, the developers of the software can lose royalty income.

Use of JPL Developed Software

JPL employees and on-site contractors are entitled to use JPL developed software for projects and programs they are working on.

The U.S. government has a license to all software developed under the prime contract (this includes software developed under reimbursable programs).

Note that the developers of the software do not have an obligation to support the software. Therefore, it is important for licensees to understand that Caltech/JPL software us delivered "as is" and there is no support unless a support contract is negotiated to assist the recipient.

Delivering software to a foreign national on-lab may be considered an export violation. Therefore, it is important to contact the Import/Export Compliance Office (I/ECO) when transferring any software to a foreign national.

Software Licensing Steps at JPL (Non-Commercial Software)

  1. Potential licensee requests software through website. (

  2. SRA verifies that software has been reported into NTR system, or asks software developer to submit one.

  3. SRA verifies information and eligibility of licensee (This often requires the SRA to contact licensee).

    NOTE: If the software is being transferred to a foreign interest then the SRA sends license information to the Import/Export Compliance Office (I/ECO) for approval which can add significant time to the execution of a foreign license.

  4. SRA prepares notification of request for all relevant parties.

  5. Email should include any background that SRA is aware of that parties should know.

  6. Notified parties are given 5 business days to respond via email with concerns or issues.

  7. No response implies concurrence.

  8. The SRA drafts license based on standard templates written by OGC.

  9. SRA sends cover letter to U.S. government agencies since no signature is necessary when sending software to the U.S. government.

    NOTE: If request is an alteration of an existing license, SRA will consult with Office of General Counsel

  10. After receiving the signed license, the SRA uploads it into the JPL Software Download System Database for future reference.

  11. SRA authorizes software developer to transfer software to licensee.

  12. Software Transfer Completed!

Software Licensing Steps at JPL (Commercial Software)

  1. Potential licensee requests software through website. (

  2. SRA verifies that software has been reported into NTR system, or asks software developer to submit one.

  3. SRA verifies information and eligibility of licensee (This often requires the SRA to contact licensee).

  4. SRA contacts License Agent at Caltech Office of Technology Transfer and Corporate Partnerships (OTTCP) and transfers license information to OTTCP.

  5. OTT will work with the licensee to work out the best possibly fee-based commercial license and then work with the PI to transfer to the software to the licensee.

  6. Software Transfer Completed!

JPL Welcomes Open Source Software Development Paradigm

The Open Source paradigm for developing and disseminating software continues to be a growing trend in industry and increasingly, in government. JPL is continuing to develop a clearly articulated and thoughtful policy and set of best practices relating to the Open Source paradigm

Open Source Software Policy at JPL

The current JPL policy is to embrace the open source paradigm for developing and disseminating software in cases where it makes sense to do so. To date JPL endorses open source software releases that are vetted and approved by the Software Release Authority (SRA) using pre-approved licenses such as: Apache 2.0, Eclipse Public License (EPL) and BSD etc.

The significant benefits of an open source policy at Caltech/JPL include:

  • Facilitates exchange of ideas in research thereby fostering exploration and experimentation

  • Facilitates productivity and efficiency in a collaborative development setting based on ease of sharing software artifacts

  • Facilitates ease of interaction and timeliness of software development support in addition to traditional vendors

  • Better positions the institution to attract software engineering fresh-outs who are fully engaged in the open source development paradigm and its application as a modern research and development practice

  • Increases institutional productivity when consuming Open Source software for appropriate uses and applications

For more information on Open Sourcing your software, please contact Brian Morrison, JPL’s Software Release Authority (SRA) at (818) 354-2458.

How to Release Open Source Software at JPL

Ensure that an NTR for the software has been filed with the JPL Technology Transfer Office.

If no NTR exists, file one through the EBIS - Reporting - under New Technology and Software Reporting.

Send email to the JPL Software Release Authority (SRA) with the following information.

  • The name and number of the NTR you wish to release as Open Source (i.e., Calibration Processing System, NTR-45987).

  • The name of PI or developer of the created software.

  • The name of the project or program manager of the created software.

  • The name of the line manager of the people for creating the software.

  • Electronic signatures will be obtained for approval.

  • Once all signatures are collected, an authorization to upload Open Source Software will be sent via email.


Site Manager: Dan Broderick

Webmaster: James Ray