diff --git a/AGENTS.md b/AGENTS.md index ac76eb73df..e1295cb9eb 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -2,3 +2,46 @@ - Do not run build commands automatically for verification. - When finishing work, state that the task is complete and ask the user to verify it manually. + +## Copyright headers + +See [Licensing](./README.md#licensing) for the full picture. Two cases: + +**New file, wholly TraceX-original (no code derived from Huly)** — use the PolyForm Shield header: + +``` +// +// Copyright © TraceX SAS. +// +// Licensed under the PolyForm Shield License 1.0.0 (the "License"); +// you may not use this file except in compliance with the License. You may +// obtain a copy of the License at https://polyformproject.org/licenses/shield/1.0.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. +``` + +**Existing file carried over or modified from Huly** — never relicense it. Keep the original EPL 2.0 header and its original copyright line(s) (e.g. `Hardcore Engineering Inc.`, `Anticrm Platform Contributors`) untouched. If you materially modify the file, add a second copyright line below the original one, but keep the license paragraph as EPL 2.0: + +``` +// +// Copyright © Hardcore Engineering Inc. +// Copyright © TraceX SAS. +// +// Licensed under the Eclipse Public 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 https://www.eclipse.org/legal/epl-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. +``` + +When in doubt whether a file is "new" or "derived," check git blame / whether it started from an upstream Huly commit — not just whether it currently looks new. diff --git a/LICENSE-POLYFORM-SHIELD b/LICENSE-POLYFORM-SHIELD new file mode 100644 index 0000000000..8f4f7995f2 --- /dev/null +++ b/LICENSE-POLYFORM-SHIELD @@ -0,0 +1,162 @@ +Required Notice: Copyright © 2026 TraceX SAS. (https://github.com/TraceX-dev/TraceX) + +PolyForm Shield License 1.0.0 + + + +## Acceptance + +In order to get any license under these terms, you must agree +to them as both strict obligations and conditions to all +your licenses. + +## Copyright License + +The licensor grants you a copyright license for the +software to do everything you might do with the software +that would otherwise infringe the licensor's copyright +in it for any permitted purpose. However, you may +only distribute the software according to Distribution License and make changes or new works +based on the software according to Changes and New Works License. + +## Distribution License + +The licensor grants you an additional copyright license +to distribute copies of the software. Your license +to distribute covers distributing the software with +changes and new works permitted by Changes and New Works License. + +## Notices + +You must ensure that anyone who gets a copy of any part of +the software from you also gets a copy of these terms or the +URL for them above, as well as copies of any plain-text lines +beginning with `Required Notice:` that the licensor provided +with the software. For example: +> Required Notice: Copyright Yoyodyne, Inc. (http://example.com) + +## Changes and New Works License + +The licensor grants you an additional copyright license to +make changes and new works based on the software for any +permitted purpose. + +## Patent License + +The licensor grants you a patent license for the software that +covers patent claims the licensor can license, or becomes able +to license, that you would infringe by using the software. + +## Noncompete + +Any purpose is a permitted purpose, except for providing any +product that competes with the software or any product the +licensor or any of its affiliates provides using the software. + +## Competition + +Goods and services compete even when they provide functionality +through different kinds of interfaces or for different technical +platforms. Applications can compete with services, libraries +with plugins, frameworks with development tools, and so on, +even if they're written in different programming languages +or for different computer architectures. Goods and services +compete even when provided free of charge. If you market a +product as a practical substitute for the software or another +product, it definitely competes. + +## New Products + +If you are using the software to provide a product that does +not compete, but the licensor or any of its affiliates brings +your product into competition by providing a new version of +the software or another product using the software, you may +continue using versions of the software available under these +terms beforehand to provide your competing product, but not +any later versions. + +## Discontinued Products + +You may begin using the software to compete with a product +or service that the licensor or any of its affiliates has +stopped providing, unless the licensor includes a plain-text +line beginning with `Licensor Line of Business:` with the +software that mentions that line of business. For example: +> Licensor Line of Business: YoyodyneCMS Content Management +> System (http://example.com/cms) + +## Sales of Business + +If the licensor or any of its affiliates sells a line of +business developing the software or using the software +to provide a product, the buyer can also enforce Noncompete for that product. + +## Fair Use + +You may have "fair use" rights for the software under the +law. These terms do not limit them. + +## No Other Rights + +These terms do not allow you to sublicense or transfer any of +your licenses to anyone else, or prevent the licensor from +granting licenses to anyone else. These terms do not imply +any other licenses. + +## Patent Defense + +If you make any written claim that the software infringes or +contributes to infringement of any patent, your patent license +for the software granted under these terms ends immediately. If +your company makes such a claim, your patent license ends +immediately for work on behalf of your company. + +## Violations + +The first time you are notified in writing that you have +violated any of these terms, or done anything with the software +not covered by your licenses, your licenses can nonetheless +continue if you come into full compliance with these terms, +and take practical steps to correct past violations, within +32 days of receiving notice. Otherwise, all your licenses +end immediately. + +## No Liability + +As far as the law allows, the software comes as is, without +any warranty or condition, and the licensor will not be liable +to you for any damages arising out of these terms or the use +or nature of the software, under any kind of legal claim. + +## Definitions + +The **licensor** is the individual or entity offering these +terms, and the **software** is the software the licensor makes +available under these terms. + +A **product** can be a good or service, or a combination +of them. + +**You** refers to the individual or entity agreeing to these +terms. + +**Your company** is any legal entity, sole proprietorship, +or other kind of organization that you work for, plus all +its affiliates. + +**Affiliates** means the other organizations than an +organization has control over, is under the control of, or is +under common control with. + +**Control** means ownership of substantially all the assets of +an entity, or the power to direct its management and policies +by vote, contract, or otherwise. Control can be direct or +indirect. + +**Your licenses** are all the licenses granted to you for the +software under these terms. + +**Use** means anything you do with the software requiring one +of your licenses. + +© PolyForm Project Inc. diff --git a/README.md b/README.md index 04e340cc46..098366f8f6 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # TraceX -![GitHub License](https://img.shields.io/github/license/hcengineering/platform?style=for-the-badge) +[![License](https://img.shields.io/badge/license-EPL--2.0%20%2B%20PolyForm%20Shield-blue?style=for-the-badge)](#licensing) Built for compliance and productivity across regulated industries. ![TraceX screenshot](./docs/assets/tracex.png) @@ -72,6 +72,14 @@ The TraceX platform uses two types of version tags to distinguish between produc For detailed information about the platform architecture, services, and their interactions, see our [Architecture Overview](./ARCHITECTURE_OVERVIEW.md). +## Licensing + +TraceX is built on the open-source [Huly Platform](https://github.com/hcengineering/platform). Code inherited or modified from Huly remains licensed under the [Eclipse Public License 2.0](./LICENSE). + +Some new, wholly TraceX-original files are licensed separately under the [PolyForm Shield License 1.0.0](./LICENSE-POLYFORM-SHIELD), which permits use and modification but restricts building competing products with them. This currently covers. + +Each source file's header states which license applies to it; that header is authoritative over a package's `license` field, which for mixed packages uses the SPDX `AND` form (e.g. `(EPL-2.0 AND LicenseRef-PolyForm-Shield-1.0.0)`). + ## Table of Contents - [TraceX Platform](#tracex-platform) @@ -81,6 +89,7 @@ For detailed information about the platform architecture, services, and their in - [Changelog](#changelog) - [Versions](#versions) - [Architecture](#architecture) + - [Licensing](#licensing) - [Table of Contents](#table-of-contents) - [Pre-requisites](#pre-requisites) - [Verification](#verification)