From d600f6ed839c43b387be9a9910b5e166da818e95 Mon Sep 17 00:00:00 2001 From: TheFlow Date: Sun, 19 Apr 2026 20:32:09 +1200 Subject: [PATCH] =?UTF-8?q?chore(license):=20Phase=20B=20=E2=80=94=20relic?= =?UTF-8?q?ense=20source=20files=20from=20Apache=202.0=20to=20EUPL-1.2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Phase B of PLAN_LICENSE_STANDARDISATION_EUPL12_20260419. Follows Phase A (c85f310f, 4ddc54a0) which flipped the LICENSE file + README; this commit propagates EUPL-1.2 through source-file headers. 21 files touched across 4 distinct Apache-reference variants: - V1 (14 files) — full Apache header block (JS /* ... */): 2 routes + 1 controller + 7 services + 2 models + 3 utils. Replaced with equivalent EUPL-1.2 block pointing at EC canonical URL. - V2 (2 files) — inline JSDoc license line (Copyright Tractatus Project): src/routes/calendar.routes.js + src/models/ScheduledTask.model.js. Replaced with EUPL-1.2 v. 1.2 equivalent. - V3 (4 files) — Python docstring 'License: Apache 2.0': all 4 al-integration Python files. Replaced with 'License: EUPL-1.2'. - V4 (1 file) — al-integration/README.md bare 'Apache 2.0' under '## License' heading. Replaced with 'EUPL-1.2'. Verification: - grep -r "Apache License|Apache 2.0|apache.org/licenses" src/ al-integration/ returns zero matches (modulo venv). - Unit tests: 524/524 pass (npm run test:unit). - Integration test failures (177) are DB-connection infrastructure, pre-existing, unrelated to this header-only change. Sole author basis: TheFlow, 930+ commits, unilateral relicensing (same as Phase A). Replacement infrastructure also committed: scripts/relicense-apache-to-eupl.js (auto-detecting variant replacement, idempotent, --dry-run mode). Reusable for Phase C (community-repo sweep) if pattern structure aligns. Out-of-scope Apache mentions still in the repo (next pass, NOT Phase B): - SESSION_HANDOFF_ENFORCEMENT_COMPLETE.md (root doc) - CLAUDE_Tractatus_Maintenance_Guide.md (root doc) - For Claude Web/tractatus-claude-web-complete/** (docs snapshot subdirectory) Co-Authored-By: Claude Opus 4.7 (1M context) --- al-integration/README.md | 2 +- al-integration/agents/feedback_analyzer.py | 2 +- al-integration/testing/stress_test.py | 2 +- al-integration/testing/stress_test_vllm.py | 2 +- al-integration/training/train_analyzer.py | 2 +- scripts/relicense-apache-to-eupl.js | 157 ++++++++++++++++++ src/controllers/audit.controller.js | 14 +- src/models/MissedBreach.model.js | 14 +- src/models/ScheduledTask.model.js | 2 +- src/models/SyncMetadata.model.js | 14 +- src/routes/audit.routes.js | 14 +- src/routes/calendar.routes.js | 2 +- ...aptiveCommunicationOrchestrator.service.js | 14 +- src/services/BoundaryEnforcer.service.js | 14 +- .../ContextPressureMonitor.service.js | 14 +- .../CrossReferenceValidator.service.js | 14 +- ...nstructionPersistenceClassifier.service.js | 14 +- src/services/MetacognitiveVerifier.service.js | 14 +- ...alisticDeliberationOrchestrator.service.js | 14 +- src/utils/activity-classifier.util.js | 14 +- src/utils/attack-surface-validator.util.js | 14 +- src/utils/audit-sanitizer.util.js | 14 +- 22 files changed, 262 insertions(+), 105 deletions(-) create mode 100644 scripts/relicense-apache-to-eupl.js diff --git a/al-integration/README.md b/al-integration/README.md index e752545c..82fe89a8 100644 --- a/al-integration/README.md +++ b/al-integration/README.md @@ -185,7 +185,7 @@ Expected output: ## License -Apache 2.0 +EUPL-1.2 ## Citation diff --git a/al-integration/agents/feedback_analyzer.py b/al-integration/agents/feedback_analyzer.py index dcbb467e..9b794d73 100644 --- a/al-integration/agents/feedback_analyzer.py +++ b/al-integration/agents/feedback_analyzer.py @@ -15,7 +15,7 @@ Reward function based on: - High-priority items that improve ratings when fixed - Low false-positive rate (don't waste your time) -License: Apache 2.0 +License: EUPL-1.2 """ from __future__ import annotations diff --git a/al-integration/testing/stress_test.py b/al-integration/testing/stress_test.py index 6274e7ee..71e21ad1 100644 --- a/al-integration/testing/stress_test.py +++ b/al-integration/testing/stress_test.py @@ -13,7 +13,7 @@ Usage: python stress_test.py --consistency # Consistency only python stress_test.py --concurrent N # Load test with N workers -License: Apache 2.0 +License: EUPL-1.2 """ from __future__ import annotations diff --git a/al-integration/testing/stress_test_vllm.py b/al-integration/testing/stress_test_vllm.py index d68ea500..bbbd0609 100644 --- a/al-integration/testing/stress_test_vllm.py +++ b/al-integration/testing/stress_test_vllm.py @@ -11,7 +11,7 @@ Usage: python stress_test_vllm.py --concurrent 50 # Test with 50 workers python stress_test_vllm.py --concurrent 100 # Test with 100 workers -License: Apache 2.0 +License: EUPL-1.2 """ from __future__ import annotations diff --git a/al-integration/training/train_analyzer.py b/al-integration/training/train_analyzer.py index 4f05c2d3..d6be996d 100644 --- a/al-integration/training/train_analyzer.py +++ b/al-integration/training/train_analyzer.py @@ -16,7 +16,7 @@ Requirements: - MongoDB with feedback collection - Agent Lightning 0.2.2+ -License: Apache 2.0 +License: EUPL-1.2 """ from __future__ import annotations diff --git a/scripts/relicense-apache-to-eupl.js b/scripts/relicense-apache-to-eupl.js new file mode 100644 index 00000000..00238612 --- /dev/null +++ b/scripts/relicense-apache-to-eupl.js @@ -0,0 +1,157 @@ +#!/usr/bin/env node +/* + * Copyright 2025 John G Stroh + * + * Licensed under the European Union Public Licence, Version 1.2 (EUPL-1.2); + * you may not use this file except in compliance with the Licence. + * + * You may obtain a copy of the Licence at: + * https://interoperable-europe.ec.europa.eu/collection/eupl/eupl-text-eupl-12 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + */ + +// Relicense Apache 2.0 → EUPL-1.2 across Tractatus source files. +// Phase B of PLAN_LICENSE_STANDARDISATION_EUPL12_20260419. +// +// Usage: +// node scripts/relicense-apache-to-eupl.js # Apply changes +// node scripts/relicense-apache-to-eupl.js --dry-run # Show changes without writing + +const fs = require('fs'); +const path = require('path'); + +const DRY_RUN = process.argv.includes('--dry-run'); +const REPO_ROOT = path.resolve(__dirname, '..'); + +// --- Variant 1: Full Apache header block (JS /* ... */) --- +const V1_APACHE = `/* + * Copyright 2025 John G Stroh + * + * 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. + */`; + +const V1_EUPL = `/* + * Copyright 2025 John G Stroh + * + * Licensed under the European Union Public Licence, Version 1.2 (EUPL-1.2); + * you may not use this file except in compliance with the Licence. + * + * You may obtain a copy of the Licence at: + * https://interoperable-europe.ec.europa.eu/collection/eupl/eupl-text-eupl-12 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + */`; + +// --- Variant 2: Inline JSDoc license lines (inside descriptive block) --- +const V2_APACHE = ` * Copyright 2025 Tractatus Project\n * Licensed under Apache License 2.0`; +const V2_EUPL = ` * Copyright 2025 Tractatus Project\n * Licensed under the European Union Public Licence, v. 1.2 (EUPL-1.2)`; + +// --- Variant 3: Python docstring License line --- +const V3_APACHE = `License: Apache 2.0`; +const V3_EUPL = `License: EUPL-1.2`; + +// --- Variant 4: al-integration/README.md — bare "Apache 2.0" under "## License" heading --- +const V4_APACHE = `## License\n\nApache 2.0`; +const V4_EUPL = `## License\n\nEUPL-1.2`; + +const FILES = [ + // Variant 1 expected — full Apache block (12 JS files) + 'src/routes/audit.routes.js', + 'src/controllers/audit.controller.js', + 'src/services/AdaptiveCommunicationOrchestrator.service.js', + 'src/services/InstructionPersistenceClassifier.service.js', + 'src/services/MetacognitiveVerifier.service.js', + 'src/services/ContextPressureMonitor.service.js', + 'src/services/BoundaryEnforcer.service.js', + 'src/services/CrossReferenceValidator.service.js', + 'src/services/PluralisticDeliberationOrchestrator.service.js', + 'src/utils/attack-surface-validator.util.js', + 'src/utils/activity-classifier.util.js', + 'src/utils/audit-sanitizer.util.js', + // Variant 2 expected — inline JSDoc license lines (4 JS files) + 'src/routes/calendar.routes.js', + 'src/models/ScheduledTask.model.js', + 'src/models/SyncMetadata.model.js', + 'src/models/MissedBreach.model.js', + // Variant 3 expected — Python docstring (4 files) + 'al-integration/testing/stress_test.py', + 'al-integration/testing/stress_test_vllm.py', + 'al-integration/training/train_analyzer.py', + 'al-integration/agents/feedback_analyzer.py', + // Variant 4 expected — al-integration README (1 file) + 'al-integration/README.md', +]; + +function processFile(relPath) { + const fullPath = path.join(REPO_ROOT, relPath); + if (!fs.existsSync(fullPath)) { + return { status: 'NOT_FOUND', variants: [] }; + } + let content = fs.readFileSync(fullPath, 'utf8'); + const original = content; + const variants = []; + + if (content.includes(V1_APACHE)) { + content = content.replace(V1_APACHE, V1_EUPL); + variants.push('V1'); + } + if (content.includes(V2_APACHE)) { + content = content.replace(V2_APACHE, V2_EUPL); + variants.push('V2'); + } + if (content.includes(V3_APACHE)) { + content = content.replace(V3_APACHE, V3_EUPL); + variants.push('V3'); + } + if (content.includes(V4_APACHE)) { + content = content.replace(V4_APACHE, V4_EUPL); + variants.push('V4'); + } + + if (content === original) { + return { status: 'NO_MATCH', variants: [] }; + } + + if (!DRY_RUN) { + fs.writeFileSync(fullPath, content, 'utf8'); + } + return { status: 'CHANGED', variants }; +} + +const results = FILES.map((f) => ({ path: f, ...processFile(f) })); + +console.log(`${DRY_RUN ? '[DRY RUN] ' : ''}Relicense Apache 2.0 → EUPL-1.2 — ${FILES.length} files in scope\n`); + +const changed = results.filter((r) => r.status === 'CHANGED'); +const noMatch = results.filter((r) => r.status === 'NO_MATCH'); +const notFound = results.filter((r) => r.status === 'NOT_FOUND'); + +changed.forEach((r) => console.log(` CHANGED [${r.variants.join(',')}] ${r.path}`)); +noMatch.forEach((r) => console.log(` NO_MATCH (check patterns) ${r.path}`)); +notFound.forEach((r) => console.log(` NOT_FOUND ${r.path}`)); + +console.log(`\nSummary: ${changed.length} changed / ${noMatch.length} no-match / ${notFound.length} not-found (total ${FILES.length}).`); +if (DRY_RUN) { + console.log('\nDRY-RUN: no files written. Re-run without --dry-run to apply.'); +} + +process.exit(noMatch.length > 0 || notFound.length > 0 ? 1 : 0); diff --git a/src/controllers/audit.controller.js b/src/controllers/audit.controller.js index 48186727..0f7ac1f4 100644 --- a/src/controllers/audit.controller.js +++ b/src/controllers/audit.controller.js @@ -1,17 +1,17 @@ /* * Copyright 2025 John G Stroh * - * 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 + * Licensed under the European Union Public Licence, Version 1.2 (EUPL-1.2); + * you may not use this file except in compliance with the Licence. * - * http://www.apache.org/licenses/LICENSE-2.0 + * You may obtain a copy of the Licence at: + * https://interoperable-europe.ec.europa.eu/collection/eupl/eupl-text-eupl-12 * * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, + * distributed under the Licence 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. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. */ /** diff --git a/src/models/MissedBreach.model.js b/src/models/MissedBreach.model.js index 6bcd5bb9..00e43a63 100644 --- a/src/models/MissedBreach.model.js +++ b/src/models/MissedBreach.model.js @@ -1,17 +1,17 @@ /* * Copyright 2025 John G Stroh * - * 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 + * Licensed under the European Union Public Licence, Version 1.2 (EUPL-1.2); + * you may not use this file except in compliance with the Licence. * - * http://www.apache.org/licenses/LICENSE-2.0 + * You may obtain a copy of the Licence at: + * https://interoperable-europe.ec.europa.eu/collection/eupl/eupl-text-eupl-12 * * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, + * distributed under the Licence 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. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. */ /** diff --git a/src/models/ScheduledTask.model.js b/src/models/ScheduledTask.model.js index 646a5c59..43532fa8 100644 --- a/src/models/ScheduledTask.model.js +++ b/src/models/ScheduledTask.model.js @@ -5,7 +5,7 @@ * and project-specific tasks. Integrated with session-init.js for startup reminders. * * Copyright 2025 Tractatus Project - * Licensed under Apache License 2.0 + * Licensed under the European Union Public Licence, v. 1.2 (EUPL-1.2) */ const mongoose = require('mongoose'); diff --git a/src/models/SyncMetadata.model.js b/src/models/SyncMetadata.model.js index ae37f2db..8b9016db 100644 --- a/src/models/SyncMetadata.model.js +++ b/src/models/SyncMetadata.model.js @@ -1,17 +1,17 @@ /* * Copyright 2025 John G Stroh * - * 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 + * Licensed under the European Union Public Licence, Version 1.2 (EUPL-1.2); + * you may not use this file except in compliance with the Licence. * - * http://www.apache.org/licenses/LICENSE-2.0 + * You may obtain a copy of the Licence at: + * https://interoperable-europe.ec.europa.eu/collection/eupl/eupl-text-eupl-12 * * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, + * distributed under the Licence 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. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. */ /** diff --git a/src/routes/audit.routes.js b/src/routes/audit.routes.js index 5578ce9f..8f72d8ea 100644 --- a/src/routes/audit.routes.js +++ b/src/routes/audit.routes.js @@ -1,17 +1,17 @@ /* * Copyright 2025 John G Stroh * - * 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 + * Licensed under the European Union Public Licence, Version 1.2 (EUPL-1.2); + * you may not use this file except in compliance with the Licence. * - * http://www.apache.org/licenses/LICENSE-2.0 + * You may obtain a copy of the Licence at: + * https://interoperable-europe.ec.europa.eu/collection/eupl/eupl-text-eupl-12 * * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, + * distributed under the Licence 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. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. */ /** diff --git a/src/routes/calendar.routes.js b/src/routes/calendar.routes.js index 941f61a1..131fb935 100644 --- a/src/routes/calendar.routes.js +++ b/src/routes/calendar.routes.js @@ -4,7 +4,7 @@ * RESTful API for multi-project calendar and reminder system * * Copyright 2025 Tractatus Project - * Licensed under Apache License 2.0 + * Licensed under the European Union Public Licence, v. 1.2 (EUPL-1.2) */ const express = require('express'); diff --git a/src/services/AdaptiveCommunicationOrchestrator.service.js b/src/services/AdaptiveCommunicationOrchestrator.service.js index e5aa1185..a08f9d42 100644 --- a/src/services/AdaptiveCommunicationOrchestrator.service.js +++ b/src/services/AdaptiveCommunicationOrchestrator.service.js @@ -1,17 +1,17 @@ /* * Copyright 2025 John G Stroh * - * 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 + * Licensed under the European Union Public Licence, Version 1.2 (EUPL-1.2); + * you may not use this file except in compliance with the Licence. * - * http://www.apache.org/licenses/LICENSE-2.0 + * You may obtain a copy of the Licence at: + * https://interoperable-europe.ec.europa.eu/collection/eupl/eupl-text-eupl-12 * * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, + * distributed under the Licence 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. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. */ /** diff --git a/src/services/BoundaryEnforcer.service.js b/src/services/BoundaryEnforcer.service.js index cc15c4ca..cdc8d1c6 100644 --- a/src/services/BoundaryEnforcer.service.js +++ b/src/services/BoundaryEnforcer.service.js @@ -1,17 +1,17 @@ /* * Copyright 2025 John G Stroh * - * 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 + * Licensed under the European Union Public Licence, Version 1.2 (EUPL-1.2); + * you may not use this file except in compliance with the Licence. * - * http://www.apache.org/licenses/LICENSE-2.0 + * You may obtain a copy of the Licence at: + * https://interoperable-europe.ec.europa.eu/collection/eupl/eupl-text-eupl-12 * * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, + * distributed under the Licence 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. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. */ /** diff --git a/src/services/ContextPressureMonitor.service.js b/src/services/ContextPressureMonitor.service.js index c9c35c8e..46381cbf 100644 --- a/src/services/ContextPressureMonitor.service.js +++ b/src/services/ContextPressureMonitor.service.js @@ -1,17 +1,17 @@ /* * Copyright 2025 John G Stroh * - * 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 + * Licensed under the European Union Public Licence, Version 1.2 (EUPL-1.2); + * you may not use this file except in compliance with the Licence. * - * http://www.apache.org/licenses/LICENSE-2.0 + * You may obtain a copy of the Licence at: + * https://interoperable-europe.ec.europa.eu/collection/eupl/eupl-text-eupl-12 * * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, + * distributed under the Licence 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. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. */ /** diff --git a/src/services/CrossReferenceValidator.service.js b/src/services/CrossReferenceValidator.service.js index 37bc4632..9c327a8b 100644 --- a/src/services/CrossReferenceValidator.service.js +++ b/src/services/CrossReferenceValidator.service.js @@ -1,17 +1,17 @@ /* * Copyright 2025 John G Stroh * - * 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 + * Licensed under the European Union Public Licence, Version 1.2 (EUPL-1.2); + * you may not use this file except in compliance with the Licence. * - * http://www.apache.org/licenses/LICENSE-2.0 + * You may obtain a copy of the Licence at: + * https://interoperable-europe.ec.europa.eu/collection/eupl/eupl-text-eupl-12 * * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, + * distributed under the Licence 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. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. */ /** diff --git a/src/services/InstructionPersistenceClassifier.service.js b/src/services/InstructionPersistenceClassifier.service.js index 4a66d6a7..8cf7f3c9 100644 --- a/src/services/InstructionPersistenceClassifier.service.js +++ b/src/services/InstructionPersistenceClassifier.service.js @@ -1,17 +1,17 @@ /* * Copyright 2025 John G Stroh * - * 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 + * Licensed under the European Union Public Licence, Version 1.2 (EUPL-1.2); + * you may not use this file except in compliance with the Licence. * - * http://www.apache.org/licenses/LICENSE-2.0 + * You may obtain a copy of the Licence at: + * https://interoperable-europe.ec.europa.eu/collection/eupl/eupl-text-eupl-12 * * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, + * distributed under the Licence 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. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. */ /** diff --git a/src/services/MetacognitiveVerifier.service.js b/src/services/MetacognitiveVerifier.service.js index 280456ac..a3cc8093 100644 --- a/src/services/MetacognitiveVerifier.service.js +++ b/src/services/MetacognitiveVerifier.service.js @@ -1,17 +1,17 @@ /* * Copyright 2025 John G Stroh * - * 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 + * Licensed under the European Union Public Licence, Version 1.2 (EUPL-1.2); + * you may not use this file except in compliance with the Licence. * - * http://www.apache.org/licenses/LICENSE-2.0 + * You may obtain a copy of the Licence at: + * https://interoperable-europe.ec.europa.eu/collection/eupl/eupl-text-eupl-12 * * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, + * distributed under the Licence 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. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. */ /** diff --git a/src/services/PluralisticDeliberationOrchestrator.service.js b/src/services/PluralisticDeliberationOrchestrator.service.js index 1a2f029e..28cacddb 100644 --- a/src/services/PluralisticDeliberationOrchestrator.service.js +++ b/src/services/PluralisticDeliberationOrchestrator.service.js @@ -1,17 +1,17 @@ /* * Copyright 2025 John G Stroh * - * 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 + * Licensed under the European Union Public Licence, Version 1.2 (EUPL-1.2); + * you may not use this file except in compliance with the Licence. * - * http://www.apache.org/licenses/LICENSE-2.0 + * You may obtain a copy of the Licence at: + * https://interoperable-europe.ec.europa.eu/collection/eupl/eupl-text-eupl-12 * * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, + * distributed under the Licence 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. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. */ /** diff --git a/src/utils/activity-classifier.util.js b/src/utils/activity-classifier.util.js index 3e396739..6fb24c89 100644 --- a/src/utils/activity-classifier.util.js +++ b/src/utils/activity-classifier.util.js @@ -1,17 +1,17 @@ /* * Copyright 2025 John G Stroh * - * 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 + * Licensed under the European Union Public Licence, Version 1.2 (EUPL-1.2); + * you may not use this file except in compliance with the Licence. * - * http://www.apache.org/licenses/LICENSE-2.0 + * You may obtain a copy of the Licence at: + * https://interoperable-europe.ec.europa.eu/collection/eupl/eupl-text-eupl-12 * * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, + * distributed under the Licence 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. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. */ /** diff --git a/src/utils/attack-surface-validator.util.js b/src/utils/attack-surface-validator.util.js index bb5d926d..26ecbdd1 100644 --- a/src/utils/attack-surface-validator.util.js +++ b/src/utils/attack-surface-validator.util.js @@ -1,17 +1,17 @@ /* * Copyright 2025 John G Stroh * - * 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 + * Licensed under the European Union Public Licence, Version 1.2 (EUPL-1.2); + * you may not use this file except in compliance with the Licence. * - * http://www.apache.org/licenses/LICENSE-2.0 + * You may obtain a copy of the Licence at: + * https://interoperable-europe.ec.europa.eu/collection/eupl/eupl-text-eupl-12 * * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, + * distributed under the Licence 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. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. */ /** diff --git a/src/utils/audit-sanitizer.util.js b/src/utils/audit-sanitizer.util.js index 70b2d230..668aa5f2 100644 --- a/src/utils/audit-sanitizer.util.js +++ b/src/utils/audit-sanitizer.util.js @@ -1,17 +1,17 @@ /* * Copyright 2025 John G Stroh * - * 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 + * Licensed under the European Union Public Licence, Version 1.2 (EUPL-1.2); + * you may not use this file except in compliance with the Licence. * - * http://www.apache.org/licenses/LICENSE-2.0 + * You may obtain a copy of the Licence at: + * https://interoperable-europe.ec.europa.eu/collection/eupl/eupl-text-eupl-12 * * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, + * distributed under the Licence 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. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. */ /**