Robert Schmidt fef2154525 Merge remote-tracking branch 'Thecave3/rerere-doc' into integration_2026_w28
doc: add a Git guide (commit signing, branch management, rerere) (#202)

Adds doc/git-guide.md, a single entry point for the practical Git
knowledge needed to contribute to OAI: commit signing setup (DCO +
verified commits), branch management (including fixup commits and
--autosquash), submodules, recovering from mistakes, and reusing
conflict resolutions with git rerere.

This started as a rerere-only guide. Review discussion (@luispereira106,
@rorsc, @sgarg00) converged on a broader scope: the Git how-tos are
scattered across the documentation (signing in CONTRIBUTING.md, branch
management in code-style-contrib.md), and configuring commit signing in
particular was reported as hard to get right. This PR consolidates the
how-tos in one guide while the policy documents stay authoritative for
the rules.

Single commit (review rounds squashed per the linear-history policy):

- New doc/git-guide.md with sections on commit signing (moved from
  CONTRIBUTING.md, led by a copy-pasteable SSH recipe), branch
  management (moved from code-style-contrib.md; git switch,
  fixup/--autosquash, --fixup=amend:), submodules (unintended
  pointer-update pitfall), recovering from mistakes
  (restore/reset/reflog), and git rerere.
- CONTRIBUTING.md keeps the normative DCO/Verified requirements and
  links to the guide; code-style-contrib.md keeps the workflow policy
  and links to the guide; doc/README.md lists the guide under Developer
  tools.
- Cross-references (not moved, since they are coupled to their own
  docs): clang-format.md pre-commit hook, GET_SOURCES.md branch/tag
  model, doc_best_practices.md docs: commit prefix.
- Small typo fix in the T tracer addconsoletrace.md documentation.

Reviewed-by: Robert Schmidt <robert.schmidt@openairinterface.org>
Reviewed-by: Francesco Mani <email@francescomani.it>
Reviewed-by: Shubhika Garg <shubhika.garg@openairinterface.org>
2026-07-09 17:27:56 +02:00
2026-07-01 11:37:43 +02:00
2026-06-30 11:34:09 +02:00
2026-07-02 10:18:42 +02:00
2023-08-23 17:15:48 +02:00
2024-10-11 09:12:49 +02:00
2024-03-08 15:53:42 +01:00
2026-04-22 22:34:02 +02:00
2022-10-18 15:24:48 +02:00
2026-06-18 16:38:51 +02:00

Duranta OAI

License Supported OS Ubuntu 22 Supported OS Ubuntu 24 Supported OS Ubuntu 26 Supported OS RHEL9 Supported OS Fedora 44

Docker Pulls Docker Pulls Docker Pulls Docker Pulls Docker Pulls

Duranta - OpenAirInterface

Duranta OpenAirInterface RAN delivers and maintains an open-source cellular wireless software stack for 4G, 5G and future networking technologies. It supports simulation, prototyping, and end-to-end deployments on Commercial-Off-The-Shelf (COTS) hardware. Built for research and experimentation, it provides standard-compliant interfaces and is released under the Collaborative Standards Software License (CSSL).

License

The source code is distributed under CSSL v1.0. Some files, such as for orchestration, are distributed under MIT license. Documentation is distributed under Creative Commons Attribution 4.0 International license.

All the files without an explicit copyright header have an implicit "Copyright of OpenAirInterface Authors".

Please see NOTICE for other licenses which are used in the software.

In the past OAI source code has been re-licensed sometimes, here is the history:

  1. CSSL v1.0 starting tag 2026.w14
  2. OAI Public License v1.1 starting tag v1.0 till af4b0d53
  3. OAI Public License v1.0: starting tag v.04 till v1.0
  4. GPL 3: starting tag v.0 till v.04 (only initial implementation of 4G)

Where to Start

Not all information is available in a central place, and information for specific sub-systems might be available in the corresponding sub-directories. To find all READMEs, this command might be handy:

find . -iname "readme*"

RAN repository structure

The OpenAirInterface (OAI) software is composed of the following parts:

openairinterface5g
├── charts
├── ci-scripts        : Meta-scripts used by the OSA CI process. Contains also configuration files used day-to-day by CI.
├── CMakeLists.txt    : Top-level CMakeLists.txt for building
├── cmake_targets     : Build utilities to compile (simulation, emulation and real-time platforms), and generated build files.
├── common            : Some common OAI utilities, some other tools can be found at openair2/UTILS.
├── doc               : Documentation
├── docker            : Dockerfiles to build for Ubuntu and RHEL
├── executables       : Top-level executable source files (gNB, eNB, ...)
├── maketags          : Script to generate emacs tags.
├── nfapi             : (n)FAPI code for MAC-PHY interface
├── openair1          : Layer 1 (3GPP LTE Rel-10/12 PHY, NR Rel-15 PHY)
├── openair2          : Layer 2 (3GPP LTE Rel-10 MAC/RLC/PDCP/RRC/X2AP, LTE Rel-14 M2AP, NR Rel-15+ MAC/RLC/PDCP/SDAP/RRC/X2AP/F1AP/E1AP), E2AP
├── openair3          : Layer 3 (3GPP LTE Rel-10 S1AP/GTP, NR Rel-15 NGAP/GTP)
├── openshift         : OpenShift helm charts for some deployment options of OAI
├── radio             : Drivers for various radios such as USRP, AW2S, RFsim, 7.2 FHI, ...
├── targets           : Some configuration files; only historical relevance, and might be deleted in the future
└── tools             : Tools for use by the developers/ci machines: code analysis and formatting

How to get support from the Community

You can ask your question on the mailing lists.

Your email should contain below information:

  • A clear subject in your email.
  • For all the queries there should be [Query] in the subject of the email and for problems there should be [Problem].
  • In case of a problem, add a small description.
  • Do not share any photos unless you want to share a diagram.
  • OAI gNB/DU/CU/CU-CP/CU-UP configuration file in .conf format only.
  • Logs of OAI gNB/DU/CU/CU-CP/CU-UP in .log or .txt format only.
  • In case your question is related to performance, include a small description of the machine (Operating System, Kernel version, CPU, RAM and networking card) and diagram of your testing environment.
  • Known/open issues are present on Github, so keep checking.

Always remember a structured email will help us understand your issues quickly.

Languages
C 91.5%
CMake 3.3%
C++ 2.2%
TeX 1%
Python 0.8%
Other 1%