ankidroid / ankidroid/Anki-Android

Move to SPDX for file-level license headers (mono-license GPL/LGPL only)

Open
#20,954 2 comments 0 reactions 1 assignee Claimed by @david-allison View on GitHub
cleanup Keep Open
Dominant language
Kotlin
Stars
11.8k
Forks
2.9k
Avg merge
2d 3h
Merged PRs (30d)
171

Description

My original rationale was that LLMs would be inflating the token count, but it's also 'cleaner' from a code perspective, and makes reviews easier.

- readable
- spec language

```diff
+// SPDX-License-Identifier: GPL-3.0-or-later
+// Copyright (c) 2025 David Allison
-/*
- * Copyright (c) 2025 David Allison
- *
- * This program is free software; you can redistribute it and/or modify it under
- * the terms of the GNU General Public License as published by the Free Software
- * Foundation; either version 3 of the License, or (at your option) any later
- * version.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT ANY
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
- * PARTICULAR PURPOSE. See the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along with
- * this program. If not, see .
- */
```

EDIT: copyright is now optional - https://github.com/ankidroid/Anki-Android/blob/main/docs/contributing/copyright-headers.md

```diff
+ // SPDX-License-Identifier: GPL-3.0-or-later
- // Copyright (c) 2025 David Allison
```

This issue will be completed when all mono-licensed files use SPDX.

----

**Future extensions**

* Handle multi-licensed files
* Mono-licensed files are the majority of the codebase. We are time-limited, and deviations can be handled on a case-by-case basis
* This issue exists to streamline the code submission process, not as a full SPDX implementation
- [x] Make copyright headers optional

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.