Change OAI license to CSSL v1.0 (and others)

- all RAN code, CI code, configuration files, dockerfiles, in CSSL v1.0
- all deployment code (openshift, charts, ancillary files like shell
  scripts), in MIT
- documentation in CC-BY-4.0
- exceptions might apply and are listed in NOTICE
- there is a new LICENSES folder with all licenses
- CONTRIBUTIONS.md has been updated accordingly

For automated changes based on OAI PL v1.1:

    perl -i~ -0pe 's/\/\*.*Licensed to the OpenAirInterface.*openairinterface.org\n#?/\/*\n * SPDX-License-Identifier: LicenseRef-CSSL-1.0\n/s' **/*.{c,h,cpp}
    perl -i~ -0pe 's/\/\*.*Licensed to the OpenAirInterface.*openairinterface.org\n#?/\/*\n * SPDX-License-Identifier: LicenseRef-CSSL-1.0\n/s' **/*.ts
    perl -i~ -0pe 's/<!--.*Licensed to the OpenAirInterface.*openairinterface.org\n.*-->/<!-- SPDX-License-Identifier: LicenseRef-CSSL-1.0 -->/s' **/*.xml

The rest (cmake, files with missing license, cmake) manually.
This commit is contained in:
Robert Schmidt
2026-03-27 16:36:37 +01:00
parent 6ae4ec37ca
commit 8107939f08
3257 changed files with 6102 additions and 41423 deletions
+3 -1
View File
@@ -1,3 +1,5 @@
<!-- SPDX-License-Identifier: CC-BY-4.0 -->
# OAI shared library loader
Shared libraries usage is modularization mechanism which provides the following advantages:
@@ -14,4 +16,4 @@ The main drawback is a performance cost at init time, when loading libraries.
* [developer usage](loader/devusage.md)
* [module architecture](loader/arch.md)
[oai Wikis home](https://gitlab.eurecom.fr/oai/openairinterface5g/wikis/home)
[oai Wikis home](https://gitlab.eurecom.fr/oai/openairinterface5g/wikis/home)
+2
View File
@@ -1,3 +1,5 @@
<!-- SPDX-License-Identifier: CC-BY-4.0 -->
# loader source files
The oai shared library loader is implemented in two source files, located in [common/utils](https://gitlab.eurecom.fr/oai/openairinterface5g/tree/develop/common/utils)
+2
View File
@@ -1,3 +1,5 @@
<!-- SPDX-License-Identifier: CC-BY-4.0 -->
The loader objectives are
1. provides a common mechanism to prevent an executable to include code that is only used under specific configurations, without rebuilding the code
1. Provide a common mechanism to allow to choose between different implementations of a given set of functions, without rebuilding the code
+2
View File
@@ -1,3 +1,5 @@
<!-- SPDX-License-Identifier: CC-BY-4.0 -->
Loader API is defined in the [common/utils/load_module_shlib.h](https://gitlab.eurecom.fr/oai/openairinterface5g/blob/develop/common/utils/load_module_shlib.h) include file.
```c
int load_module_shlib(char *modname,loader_shlibfunc_t *farray, int numf)
@@ -1,3 +1,5 @@
<!-- SPDX-License-Identifier: CC-BY-4.0 -->
Implementing a shared library dynamic load using the oai loader is a two steps task:
1. define the `loader_shlibfunc_t` array, describing the list of externally available functions implemented in the library. This is the interface of the module.
1. Call the `load_module_shlib` function, passing it the previously defined array and the number of items in this array. The first argument to `load_module_shlib` is the name identifying the module, which is also used to format the corresponding library name, as described [here](loader/rtusage#shared-library-names)
@@ -1,3 +1,5 @@
<!-- SPDX-License-Identifier: CC-BY-4.0 -->
# `loader_shlibfunc_t`structure
It is defined in include file [ common/util/load_module_shlib.h ](https://gitlab.eurecom.fr/oai/openairinterface5g/blob/develop/common/utils/load_module_shlib.h#L38). This structure is used to list the symbols that should be searched by the loader when calling the `load_module_shlib` function.
+2
View File
@@ -1,3 +1,5 @@
<!-- SPDX-License-Identifier: CC-BY-4.0 -->
## shared library names
Shared library full names are built by the loader using the format:
> < *path* >/lib< *module name* >< *module version* >.so