Due to a ransomware attack, the wiki was reverted to a July 2022 version. . We apologize for the lack of a more recent valid backup.
Child pages
  • Software Licensing

This page details which software licenses are acceptable to be used with ONF software, and notes on how licenses should be applied.

FAQ

Please first review ONF Licensing and IPR FAQ.

Licenses used by ONF

Most of ONF's software is licensed under the Apache License, Version 2.0 (commonly referred to as Apache-2 or APL2).

Some software that is in an incubator phase is licensed under the ONF Member-Only Software License.

Applying Licensing to Files

The Software Package Data Exchange (SPDX) license headers should be applied to every source code file in the system.  These generally look like:

# SPDX-FileCopyrightText: Copyright 2021 Open Networking Foundation <support@opennetworking.org>
# SPDX-License-Identifier: Apache-2.0

To verify correct licensing of code, the REUSE software is run against code checkins, to ensure that every file has the correct licensing applied to it.

License Compatibility

Code Level Linking

Apache 2.0 licensed software can incorporate or link directly against the following licenses. A few examples:

  • BSD with 2, 3, 4 clauses
  • MIT
  • Public Domain licenses

See also the ASF 3rd Party License Policy for more details.

Runtime Usage

Code with these kinds of licenses can be used at runtime, but can't be directly linked to:

  • GPL and most other "Strong Copyleft" licenses

Licenses that should be avoided

The following licenses have various issues and can't be used

  • AGPL
  • BSL - this is a timed license, which is proprietary for a period of time, then automatically relicensed as GPL2
  • SSPL (recent versions of MongoDB, Elasticsearch, some others) - this makes requirements upon business process.
  • Anything not mentioned above, without obtaining approval of the specific license text

Dual Licensing

It may be advantageous to dual-license code in certain circumstances.

Code that serves as an example and templates that a user would copy and modify.  This also could include any code that is within documentation. 

In cases such as this, it may be advantageous to place examples in the public domain, or with a less strict license such as MIT.

License Assignment

The Contributor License Agreement (CLA) that is signed before contributing code gives ONF a copyright and patent grant on all code contributions, and may sublicense the code in the future. 


  • No labels