Skip to content

Update copyright to incorporate AGPL3.0+#3712

Open
pljones wants to merge 1 commit into
jamulussoftware:mainfrom
pljones:fixes-3711/move-to-agpl3+
Open

Update copyright to incorporate AGPL3.0+#3712
pljones wants to merge 1 commit into
jamulussoftware:mainfrom
pljones:fixes-3711/move-to-agpl3+

Conversation

@pljones
Copy link
Copy Markdown
Collaborator

@pljones pljones commented May 25, 2026

Short description of changes

Update copyright on all existing files to GPL3.0+ and add a notice that all new contributions must be licensed under AGPL3.0+.

Initial changes made by Cursor Composer 2.5.

  • Diffs checked manually for consistency with intended changes.
  • Files list checked manually for consistency with intended changes.
  • Manually added headers and corrected dates where they looked wrong (legacy issue).

CHANGELOG: Update copyright to incorporate AGPL3.0+

Context: Fixes an issue?

Fixes: 3711

Does this change need documentation? What needs to be documented and how?

No - documented by the issue.

Status of this Pull Request

Hopefully there's nothing changed in the code or build here...

What is missing until this pull request can be merged?

Someone needs to read what I wrote in various places until bored...

Checklist

  • I've verified that this Pull Request follows the general code principles
  • I tested my code and it does what I want
  • My code follows the style guide
  • I waited some time after this Pull Request was opened and all GitHub checks completed without errors.
  • I've filled all the content above

AUTOBUILD: Please build all targets

@pljones pljones added this to Tracking May 25, 2026
@github-project-automation github-project-automation Bot moved this to Triage in Tracking May 25, 2026
@pljones pljones added the needs documentation PRs requiring documentation changes or additions label May 25, 2026
@pljones pljones added this to the Release 4.0.0 milestone May 25, 2026
@pljones pljones force-pushed the fixes-3711/move-to-agpl3+ branch 2 times, most recently from 7911255 to 1ce6be3 Compare May 25, 2026 13:28
@ann0see
Copy link
Copy Markdown
Member

ann0see commented May 25, 2026

I've added some more users which are part of the organization and should - if they have thoughts on this respond.

@pljones
Copy link
Copy Markdown
Collaborator Author

pljones commented May 25, 2026

  • I tested my code and it does what I want

I am not a lawyer and I hope we never have to test the changes, to be honest.

I've also not checked the signing isn't broken... @ann0see -- I'd need to merge this on your tree, I think, before the Auto-Build there will do the signing. Is there any other way?

@ann0see
Copy link
Copy Markdown
Member

ann0see commented May 25, 2026

  • I'd need to merge this on your tree, I think, before the Auto-Build there will do the signing. Is there any other way?

Feel free to push it even as the latest release. The repo is safe to experiment with and nobody should be using the binaries from there anyway (except for us copying the signed build)

Comment thread .github/autobuild/android.sh Outdated
Comment on lines 18 to 46
#
# 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 2 of the License, or (at your option) any later
# version.
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero 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 Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <https://www.gnu.org/licenses/>.
#
# ---------------------------------------------------------------------------
#
# 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.
# 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, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <https://www.gnu.org/licenses/>.
#
Copy link
Copy Markdown
Member

@softins softins May 26, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is there a reason we need to have both sections, one for AGPL3+ and one for GPL3+? Even if both licences need to be mentioned explicitly (if so, why?), couldn't we refactor to eliminate duplication, e.g. with the disclaimer paragraph, at least?

What about for new files?

Copy link
Copy Markdown
Collaborator Author

@pljones pljones May 30, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We have three states:

  • existing code in existing files -> was GPL2.0+, now GPL3.0+
  • new code in existing files -> existing code remains GPL3.0+, new contributions AGPL3.0+
  • new code in new files -> new contributions AGPL3.0+

So the explanation at the top is only needed for existing files, as is the copy of the GPL3.0+ notice.

Comment thread CONTRIBUTING.md Outdated
If you add new (source code) files, please add a header with the license to the file. This clarifies how your work is licensed. Please use the same format as in e.g. the source files in the `src/` directory. A license header must include:
**As of Jamulus 3.12.1dev:** All new source code contributions must be licensed under AGPL 3.0 or any later version.

**Existing code:** Code contributed before 3.12.1dev was licensed under GPL 2.0+.
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The dev version is just a placeholder. There should probably be a commit hash.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yep, updated.

CONTRIBUTING.md uses the commit hash for fixing the version mostly now (as well as saying 3.12.1dev):

eb172d47 2026-05-17 Set version to 3.12.1dev [Peter L Jones]

diff --git a/ChangeLog b/ChangeLog
index eedbb098..b2e5ee95 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,7 @@
 ### 3.12.1dev <- NOTE: the release version number will be 4.0.0 ###

+### 3.12.1 (2026-05-17) ###
+
 - Client: Fix occasional spurious version updated message display (#3691).
   (contributed by @softins)

+**As of Jamulus 3.12.1dev commit eb172d47:** All new source code contributions must be licensed under AGPL 3.0 or any later version.
+
+**Existing code:** Code contributed before commit eb172d47 was licensed under GPL 2.0+.
+This code will be licenced under GPL 3.0 (or any later version) from commit eb172d47.

Existing files say

+ * Existing code: Code contributed before 3.12.1dev (commit eb172d47) was licensed under GPL 2.0+.
+ * This code will be licenced under GPL 3.0 (or any later version) from
+ * 3.12.1dev (commit eb172d47).  When distributed as part of Jamulus, the AGPL 3.0 terms govern
+ * the combined work, including network use provisions.

Comment thread docs/README.md Outdated
Comment thread src/translation/translation_de_DE.ts
Comment thread tools/generate_json_rpc_docs.py
Comment thread tools/qt5_to_qt6_country_code_table.py
Comment thread tools/qt5_to_qt6_country_code_table.py
@github-project-automation github-project-automation Bot moved this from Triage to Waiting externally in Tracking May 27, 2026
@pljones pljones force-pushed the fixes-3711/move-to-agpl3+ branch 2 times, most recently from a35967e to 5bb6da5 Compare May 30, 2026 08:35
@pljones pljones force-pushed the fixes-3711/move-to-agpl3+ branch from 5bb6da5 to 6707f04 Compare May 30, 2026 08:41
@pljones pljones force-pushed the fixes-3711/move-to-agpl3+ branch from 6707f04 to 93585e1 Compare May 30, 2026 08:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

needs documentation PRs requiring documentation changes or additions

Projects

Status: Waiting externally

Development

Successfully merging this pull request may close these issues.

Move Jamulus from GPL 2.0 (or any later version) to AGPL 3.0 (or any later version)

6 participants