Coding style & general guidelines

General

Labels

We assign labels to issues and pull requests to make it easy to find them and to signal what needs to be done. Some of these are assigned by the developers, others by QA, bug triagers, project lead or maintainers and so on. It is not desired that users/reporters of bugs assign labels themselves, unless they are developers/contributors to Nextcloud.

The most important labels and their meaning:

User interface

Coding standards

The most part of Nextcloud is written in PHP, Typescript / JavaScript, so we have some more fine grained coding standards for those languages:

License headers

Nextcloud is licensed under the GNU Affero General Public License v3.0. From 16 June 2016, we switched to "GNU Affero General Public License v3.0 or later" for better long-term maintainability.

If you create a new file please use this header:

/**
 * SPDX-FileCopyrightText: [year] [your name] [<your email address>]
 * SPDX-License-Identifier: AGPL-3.0-or-later
 */

The year should then be the creation time and the email address is optional.

If you edit an existing file please, please keep the existing license header as it is and just add your copyright notice, if you consider your changes substantial enough to claim copyright.

In order to do so there are two options:

An example of a generic license header where adding yourself to the AUTHORS.md file is preferred please see the example below

/**
 * SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors
 * SPDX-License-Identifier: AGPL-3.0-or-later
 */

The Nextcloud GmbH part only applies to employees of the company not to contributors.

For more, general information on SPDX headers and their usage for reuse-compliance, please see