Copyright Notice
================

Include a copyright notice with all submissions to LF BB repositories.

- Copyright 2017-2026 Linux Foundation Broadband Contributors

  - NOTE: Range values such as -present are not legally binding
  - Copyright notice should be dated to the last year sources were modified.

.. code-block:: BASH

   :caption: Project Copyright Notice

   # -----------------------------------------------------------------------
   # Copyright 2017-2026 Linux Foundation Broadband Contributors
   #
   # Licensed under the Apache License, Version 2.0 (the "License");
   # you may not use this file except in compliance with the License.
   # You may obtain a copy of the License at
   #
   # http://www.apache.org/licenses/LICENSE-2.0
   #
   # Unless required by applicable law or agreed to in writing, software
   # distributed under the License is distributed on an "AS IS" BASIS,
   # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   # See the License for the specific language governing permissions and
   # limitations under the License.
   # -----------------------------------------------------------------------
   # SPDX-FileCopyrightText: 2017-2026 Linux Foundation Broadband Contributors
   # SPDX-License-Identifier: Apache-2.0
   # -----------------------------------------------------------------------


:doc:`Copyrights <copyright/copyright>`
