TL;DR
The 17 Euro-Office-authored files added by the Grunt→webpack migration under build/ all carry (c) Copyright Ascensio System SIA 2010-2024. These are new Euro-Office files; Ascensio System has no authorship claim on them, and the date range is stale even against ONLYOFFICE's own current headers. They should carry SPDX Euro-Office headers instead.
The same issue exists in Euro-Office/sdkjs — see Euro-Office/sdkjs#65, where the migration copied this repo's convention. Raising here so both get fixed.
Affected files
All under build/, all with the same header:
replacements.manifest.mjs
vendor.manifest.mjs
webpack.editor.factory.mjs
scripts/build-pipeline.js
scripts/deploy-common.js
scripts/deploy-embed.js
scripts/deploy-html.js
scripts/deploy-mobile.js
scripts/deploy-reporter.js
scripts/deploy-resources.js
scripts/deploy-theme-images.js
scripts/inline-svgs.js
scripts/lib/build-utils.js
scripts/verify-browser-target.mjs
scripts/verify-bundles.mjs
scripts/verify-deploy.mjs
scripts/verify-replacements.mjs
Excludes deploy/ and develop/ output and node_modules. theme.config.mjs has no copyright line at all.
Why it matters
- It's factually wrong. These files were written in 2026 by Euro-Office. Attributing them to Ascensio System asserts third-party copyright over work that party did not author.
- The date range is stale —
2010-2024, where ONLYOFFICE's current headers read 2009-2026 / 2012-2025. So the assertion is not even a faithful copy of the thing it was copied from.
- It's the wrong side of an active dispute. Euro-Office's position is that ONLYOFFICE's AGPLv3 Section 7 attribution clauses are unenforceable. Over-attributing new Euro-Office work to them is not a good look while making that argument.
Suggested fix
Replace with an SPDX header on the files listed above:
/**
* SPDX-FileCopyrightText: 2026 Euro-Office contributors
* SPDX-License-Identifier: AGPL-3.0-or-later
*/
I could not find an established SPDX example elsewhere in the Euro-Office tree, so treat that string as a proposal, not the house form — worth settling the exact wording once and applying it consistently across repos.
Genuine upstream source files under apps/ and vendor/ should keep their Ascensio headers untouched. This is only about files Euro-Office authored.
Note for whoever picks this up
This repo has no tests/code-style/check.py, so nothing enforces the header here and the change is straightforward.
Euro-Office/sdkjs is different — tests/code-style/check.py:37 requires the literal string Copyright Ascensio System in every .js/.cjs/.mjs file, so a new Euro-Office file there currently cannot pass CI without attributing itself to Ascensio. That check needs widening to accept either an Ascensio header or an SPDX identifier before the headers can be corrected. Sequencing matters there; it doesn't here.
TL;DR
The 17 Euro-Office-authored files added by the Grunt→webpack migration under
build/all carry(c) Copyright Ascensio System SIA 2010-2024. These are new Euro-Office files; Ascensio System has no authorship claim on them, and the date range is stale even against ONLYOFFICE's own current headers. They should carry SPDX Euro-Office headers instead.The same issue exists in
Euro-Office/sdkjs— see Euro-Office/sdkjs#65, where the migration copied this repo's convention. Raising here so both get fixed.Affected files
All under
build/, all with the same header:Excludes
deploy/anddevelop/output andnode_modules.theme.config.mjshas no copyright line at all.Why it matters
2010-2024, where ONLYOFFICE's current headers read 2009-2026 / 2012-2025. So the assertion is not even a faithful copy of the thing it was copied from.Suggested fix
Replace with an SPDX header on the files listed above:
I could not find an established SPDX example elsewhere in the Euro-Office tree, so treat that string as a proposal, not the house form — worth settling the exact wording once and applying it consistently across repos.
Genuine upstream source files under
apps/andvendor/should keep their Ascensio headers untouched. This is only about files Euro-Office authored.Note for whoever picks this up
This repo has no
tests/code-style/check.py, so nothing enforces the header here and the change is straightforward.Euro-Office/sdkjsis different —tests/code-style/check.py:37requires the literal stringCopyright Ascensio Systemin every.js/.cjs/.mjsfile, so a new Euro-Office file there currently cannot pass CI without attributing itself to Ascensio. That check needs widening to accept either an Ascensio header or an SPDX identifier before the headers can be corrected. Sequencing matters there; it doesn't here.