diff --git a/.github/workflows/cla.yaml b/.github/workflows/cla.yaml deleted file mode 100644 index 1d94df205..000000000 --- a/.github/workflows/cla.yaml +++ /dev/null @@ -1,30 +0,0 @@ -name: CLA - -# Every contributor signs CLA.md once, by commenting on a pull request; the signatures are kept on the cla-signatures -# branch (CLA Assistant Lite). -on: - issue_comment: - types: [created] - pull_request_target: - types: [opened, closed, synchronize] - -permissions: - actions: write - contents: write - pull-requests: write - statuses: write - -jobs: - cla: - name: Check CLA signature - runs-on: ubuntu-latest - steps: - - if: (github.event.comment.body == 'recheck' || github.event.comment.body == 'I have read the CLA Document and I hereby sign the CLA') || github.event_name == 'pull_request_target' - uses: contributor-assistant/github-action@v2.6.1 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - path-to-document: https://github.com/kdroidFilter/Zayit/blob/dev/CLA.md - path-to-signatures: signatures/version1/cla.json - branch: cla-signatures - allowlist: kdroidFilter,dependabot[bot],github-actions[bot] diff --git a/CLA.md b/CLA.md deleted file mode 100644 index 2990c56ec..000000000 --- a/CLA.md +++ /dev/null @@ -1,59 +0,0 @@ -# Zayit Individual Contributor License Agreement - -Version 1.0 - -Thank you for contributing to Zayit (the "Project"), maintained by Elie Gambache (the "Maintainer"). This Contributor -License Agreement ("Agreement") states the terms under which you ("You") contribute to the Project. It does not -transfer your copyright: You keep it, and You may use your Contributions for any other purpose. - -Sign it once by commenting on your first pull request as the CLA bot asks; it then covers all your Contributions. - -## 1. Definitions - -- **"Contribution"**: any original work of authorship, including code, documentation, translations and data, and any - modification of the Project, that You submit to the Project in any form (pull request, patch, issue, email...). -- **"Submit"**: any form of electronic, verbal or written communication sent to the Project or the Maintainer for - inclusion in the Project. - -## 2. Copyright license - -You grant the Maintainer, and any recipient of software distributed by the Maintainer, a perpetual, worldwide, -non-exclusive, no-charge, royalty-free, irrevocable license to reproduce, prepare derivative works of, publicly -display, publicly perform, sublicense and distribute your Contributions and such derivative works, **under any license -terms, including proprietary terms**, in addition to the GNU AGPL v3 (with its §7(b) attribution term) under which the -Project is published. - -This lets the Maintainer distribute the Project's official builds together with proprietary modules (see "Open core" -in the README) and change the Project's license in the future. - -## 3. Patent license - -You grant the Maintainer, and any recipient of software distributed by the Maintainer, a perpetual, worldwide, -non-exclusive, no-charge, royalty-free, irrevocable patent license to make, have made, use, offer to sell, sell, -import and otherwise transfer your Contributions, where such license applies only to the patent claims licensable by -You that are necessarily infringed by your Contribution alone or by its combination with the Project. - -## 4. Your representations - -You represent that: - -- each Contribution is your original creation, or You have the right to Submit it under this Agreement (and You - identify in it any third-party work and its license); -- if your employer has rights to intellectual property You create, You have received permission to make the - Contribution on its behalf, or your employer has waived such rights; -- to your knowledge, your Contribution does not infringe any third party's rights. - -## 5. The Project's commitment - -The Maintainer will keep publishing the Project's core under an open source license. Your Contribution may be part of -the official builds, which can include proprietary modules. - -## 6. No warranty - -Unless required by applicable law or agreed in writing, You provide your Contributions "AS IS", without warranties or -conditions of any kind. You are not expected to provide support for your Contributions. - -## 7. Notice - -You agree to notify the Maintainer of any facts or circumstances of which You become aware that would make these -representations inaccurate in any respect. diff --git a/CLAUDE.md b/CLAUDE.md index 4f0037a22..2323ee937 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -212,7 +212,7 @@ See `TAB_SYSTEM_README.md` for complete details. Key points: ### Git & Pull Requests - **DCO sign-off required**: every commit needs a `Signed-off-by:` trailer (`git commit -s`); the "Check DCO sign-off" CI job blocks PRs otherwise. Fix unsigned commits with `git rebase --signoff ` then `git push --force-with-lease`. -- **CLA**: contributors sign `CLA.md` once (CLA Assistant bot on their first PR); the maintainer is allowlisted. +- **License**: the Zayit Public License (`LICENSE`): the AGPL v3 plus a grant back (Section 3) that gives the maintainer every submitted or forked modification under any terms, so there is no CLA. - **PRs target `master`** (`gh pr create --base master`); releases are tagged from `master`. ## Development Tips diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index a5d1080cb..1794a662d 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -5,41 +5,31 @@ clean and legally clear. ## License of your contributions (inbound = outbound) -Zayit is licensed under the **GNU AGPL v3** together with the **additional -attribution term** under Section 7(b) of that license (the "Powered by the -technologies that drive Zayit — https://zayitapp.com/" requirement). See +Zayit is licensed under the **Zayit Public License**: the GNU AGPL v3, +plus a grant back to the maintainer, the "Powered by the technologies that drive +Zayit — https://zayitapp.com/" attribution and a trademark clause. See [`LICENSE`](LICENSE) for the full text. -By submitting a contribution (pull request, patch, or any other form), you agree -that your contribution is licensed under the same terms as the project, namely -the GNU AGPL v3 **and** the additional attribution term under Section 7(b), and -under the Contributor License Agreement below. +By submitting a contribution (pull request, patch, or any other form), you +license it under the same terms as the project. There is no CLA to sign. -## Contributor License Agreement (CLA) +## Open core and the grant back Zayit is **open core** (see "Open core" in the [README](README.MD)): its core is -free under the AGPL v3, and its official builds also include proprietary modules, -such as the smart siddur. So that your contribution can be part of those builds, -you sign the [Zayit Contributor License Agreement](CLA.md) once: +free under the Zayit Public License, and its official builds also include +proprietary modules, such as the smart siddur. Section 3 of the license lets +your contribution be part of those builds too: - You **keep the copyright** on your contribution — there is no copyright assignment. -- You grant the maintainer a broad license on it, which allows distributing it - under other terms too (including with proprietary modules), and a patent - license. - -On your first pull request, the CLA bot asks you to sign by commenting: - -``` -I have read the CLA Document and I hereby sign the CLA -``` - -Your signature covers all your later pull requests. A CI check blocks a pull -request until all its authors have signed. +- By submitting it (or by distributing a modified version, in a fork for + instance), you grant the maintainer a broad license on it, which allows + distributing it under other terms too (including with proprietary modules), + and a patent license. ## Developer Certificate of Origin (DCO) -Every commit must also be signed off under the +Every commit must be signed off under the [Developer Certificate of Origin 1.1](https://developercertificate.org/). By signing off, you certify that you wrote the code or otherwise have the right to submit it under the project's license. diff --git a/LICENSE b/LICENSE index ae11b3976..6d625e472 100644 --- a/LICENSE +++ b/LICENSE @@ -1,39 +1,136 @@ ================================================================================ -ADDITIONAL TERMS pursuant to Section 7 of the GNU AGPL v3 + ZAYIT PUBLIC LICENSE + Version 1.0 ================================================================================ -Copyright (C) 2025 Elie Gambache. +SPDX identifier: LicenseRef-Zayit-PL-1.0 -This program is licensed under the GNU Affero General Public License, version 3 -(the full text of which follows below). In accordance with Section 7 of that -license, the following ADDITIONAL TERMS apply and must be preserved in all -copies, modified versions, and derivative works of this software: +Copyright (C) 2025-2026 Elie Gambache. - ATTRIBUTION REQUIREMENT (AGPL v3, §7b) +PREAMBLE - Any use, reproduction, modification, or distribution of this software, or of - any work derived from it in whole or in part, must conspicuously display the - following attribution: +Zayit is open core: its core is free software, and its official builds also +include proprietary modules. This license keeps the core under the terms of the +GNU Affero General Public License, version 3, so that anyone can use, study, +modify and share it, and so that every modified version, including one offered +over a network, stays free. - "Powered by the technologies that drive Zayit — https://zayitapp.com/" +In exchange, and in the spirit of the Q Public License under which Qt was once +published, whoever distributes a modified version of the Software gives the +original author the right to reuse those modifications in Zayit's official +builds, without having to sign anything. - This requirement applies to every form of use of the source code or any - portion thereof, INCLUDING BUT NOT LIMITED TO its ingestion, processing, or - reuse by an automated system, a machine-learning model, or a large language - model (LLM). Any output, derivative work, or product generated with the - assistance of such a system that incorporates or is based on this code must - carry the attribution above. +This license is not the GNU AGPL and is not endorsed by the Free Software +Foundation. It uses the unmodified text of the GNU AGPL v3, reproduced at the +end of this file, as its base terms and adds the terms below. - The attribution must appear in a location reasonably visible to end users - (for example, an application "About" screen, the project documentation, or - source-file headers) and must not be removed, hidden, or obscured. +1. DEFINITIONS -These additional terms are authorized by Section 7 of the GNU AGPL v3 and form -an integral part of the license governing this software. The full text of the -GNU Affero General Public License, version 3, follows. + "Licensor": Elie Gambache, and any successor or assignee of the Licensor's + rights in the Software. -================================================================================ + "Software": the work that the Licensor distributes under this License, in + source or object form, and any part of it. Modules that the Licensor + distributes under other terms are not part of the Software. + + "Modification": any change to, addition to or deletion from the Software, + and any work based on the Software within the meaning of the Base Terms. + + "Modified Version": the Software together with one or more Modifications. + + "Convey" and "Propagate": as defined in the GNU AGPL v3. + + "Submit": to send a Modification to the Licensor or to the Software's + official repository, in any form (pull request, patch, issue, email...), + with a view to its inclusion in the Software. + + "You": the person or entity exercising rights under this License. + +2. BASE TERMS + +The Licensor grants You the rights of the GNU Affero General Public License, +version 3 (the "Base Terms"), whose unmodified text is reproduced at the end of +this file, subject to Sections 3 to 5 of this License. For this purpose: + + a) Every reference in the Base Terms to "this License" means this Zayit + Public License, and the Software is "the Program". + + b) You may Convey the Software and any Modified Version, and make them + available under Section 13 of the Base Terms, only under this License. + The option of the Base Terms to use any later version of the GNU AGPL + does not apply. + + c) Sections 3 to 5 of this License are conditions of the license granted to + You, not "further restrictions" or "additional terms" within the meaning + of Sections 7 and 10 of the Base Terms: no recipient may remove them. + + d) In case of conflict between the Base Terms and Sections 3 to 5 of this + License, Sections 3 to 5 prevail. + +3. GRANT BACK TO THE LICENSOR + +When You Convey a Modified Version, make it available to users interacting +with it remotely through a computer network, or Submit a Modification, You +grant the Licensor, for each of Your Modifications it contains: + + a) Copyright. A perpetual, worldwide, non-exclusive, no-charge, + royalty-free, irrevocable license to reproduce, prepare derivative works + of, publicly display, publicly perform, distribute and sublicense Your + Modifications and such derivative works, under any terms, including + proprietary terms, in addition to this License. + b) Patents. A perpetual, worldwide, non-exclusive, no-charge, royalty-free, + irrevocable license, under the patent claims licensable by You that are + necessarily infringed by Your Modifications alone or by their combination + with the Software, to make, have made, use, offer to sell, sell, import + and otherwise transfer Your Modifications as part of any work distributed + by the Licensor. + +You represent that You have the right to grant these licenses. If a +Modification includes a third party's work, You identify it and its license, +and these grants cover only what You have the right to grant. + +These grants do not require You to send Your Modifications to the Licensor. +They cover any copy of them that the Licensor obtains lawfully, for instance as +a recipient of Your Modified Version, through the source code offered under +Section 13 of the Base Terms, or from a public repository. + +The licenses granted under this Section remain in force even after this +License terminates for You. + +4. ATTRIBUTION + +Any use, reproduction, modification or distribution of the Software, or of any +work derived from it in whole or in part, must conspicuously display the +following attribution: + + "Powered by the technologies that drive Zayit — https://zayitapp.com/" + +This requirement applies to every form of use of the source code or any +portion thereof, including its ingestion, processing or reuse by an automated +system, a machine-learning model or a large language model. Any output, +derivative work or product generated with the assistance of such a system that +incorporates or is based on the Software must carry the attribution above. + +The attribution must appear in a location reasonably visible to end users (for +example an application "About" screen, the project documentation or +source-file headers) and must not be removed, hidden or obscured. + +5. TRADEMARKS + +This License grants no right to use the names "Zayit" or "זית", their logos, +or any other trademark of the Licensor, except as required to comply with +Section 4 and to describe the origin of the Software. A Modified Version +Conveyed to the public must not be presented as an official build of Zayit. + +6. DISCLAIMER AND LIMITATION OF LIABILITY + +Sections 15 and 16 of the GNU AGPL v3 (Disclaimer of Warranty, Limitation of +Liability) apply to the Software and to this License. + +================================================================================ +BASE TERMS: the GNU Affero General Public License, version 3, unmodified. +================================================================================ GNU AFFERO GENERAL PUBLIC LICENSE Version 3, 19 November 2007 diff --git a/README.MD b/README.MD index e20dc06e1..6878cfffb 100644 --- a/README.MD +++ b/README.MD @@ -192,7 +192,7 @@ Zayit welcomes contributions from the community: bug fixes and features listed i **Note:** PRs introducing new features not listed in the roadmap will likely be declined. -Please read [`CONTRIBUTING.md`](CONTRIBUTING.md) first. In short: contributions are licensed under the same terms as the project (AGPL v3 + the §7b attribution term), you keep your copyright, you sign the [CLA](CLA.md) once (the bot asks on your first pull request), and every commit must be signed off (`git commit -s`, DCO). +Please read [`CONTRIBUTING.md`](CONTRIBUTING.md) first. In short: contributions are licensed under the same terms as the project (the Zayit Public License), you keep your copyright, there is no CLA to sign, and every commit must be signed off (`git commit -s`, DCO). ### Getting started @@ -263,17 +263,21 @@ with permission from **[The ImageMaster](https://www.theimagemaster.com/)**) and **[Culmus project](https://culmus.sourceforge.io/)** (their own licenses). ## License and sharing -Zayit is free and open source, published under **[AGPL v3](https://raw.githubusercontent.com/kdroidFilter/SeforimApp/refs/heads/master/LICENSE)**. +Zayit's core is free software, published under the **[Zayit Public License](LICENSE)**: the GNU AGPL v3, plus a grant back to the maintainer, an attribution term and a trademark clause. Sharing is encouraged - it is a good deed. -**Additional attribution term (AGPL v3, §7b).** Any use, reproduction, modification, or distribution of this software — or of any work derived from it, in whole or in part — must conspicuously display the attribution: +**Attribution (Section 4).** Any use, reproduction, modification, or distribution of this software — or of any work derived from it, in whole or in part — must conspicuously display the attribution: > Powered by the technologies that drive Zayit — https://zayitapp.com/ This applies to every form of use of the source code or any portion thereof, **including its ingestion, processing, or reuse by an automated system, a machine-learning model, or a large language model (LLM)**. Any output or derivative produced with the help of such a system that incorporates or is based on this code must carry the attribution above. See the top of [`LICENSE`](LICENSE) for the full text. +**Grant back (Section 3).** Whoever distributes a modified version (a fork, for instance), offers it over a network, or submits a contribution, gives the maintainer the right to reuse those modifications in Zayit's official builds, under any terms. That is why there is no CLA to sign. + +The Zayit Public License is not the GNU AGPL: because of these terms, it is not an OSI-approved license. + ## Open core -Zayit is **open core**. Everything in this repository is free and open source under the AGPL v3 (with the §7b term +Zayit is **open core**. Everything in this repository is free under the Zayit Public License (see above), and builds into a complete application. The **official builds** (the releases of this repository and of [zayitapp.com](https://zayitapp.com/)) also include @@ -305,7 +309,7 @@ gh auth refresh -h github.com -s read:packages gh api users/kdroidFilter/packages/maven/io.github.kdroidfilter.seforim-siddur --jq .name ``` -Contributions go into the open core; the [CLA](CLA.md) lets them ship in the official builds as well. +Contributions go into the open core; Section 3 of the license lets them ship in the official builds as well. --- diff --git a/README_HE.md b/README_HE.md index a08409630..7c10ebb85 100644 --- a/README_HE.md +++ b/README_HE.md @@ -261,15 +261,15 @@ Apache (Lucene), וכל מחברי הקוד הפתוח. **[Culmus](https://culmus.sourceforge.io/)** (הרישיונות שלהם). ## רישיון ושיתוף -זית היא חינמית וקוד פתוח, מפורסמת תחת **[AGPL v3](https://raw.githubusercontent.com/kdroidFilter/SeforimApp/refs/heads/master/LICENSE)**. +זית היא חינמית וקוד פתוח בליבתה, מפורסמת תחת **[רישיון זית הציבורי (Zayit Public License)](https://raw.githubusercontent.com/kdroidFilter/SeforimApp/refs/heads/master/LICENSE)**: רישיון AGPL v3, בתוספת רישיון חוזר למפתח, חובת ייחוס וסעיף סימני מסחר. שיתוף מעודד - זו מצווה. --- ## ליבה פתוחה (Open core) -זית בנויה כ"ליבה פתוחה": כל מה שבמאגר הזה חינמי וקוד פתוח תחת AGPL v3, ונבנה לאפליקציה שלמה. הגרסאות הרשמיות כוללות +זית בנויה כ"ליבה פתוחה": כל מה שבמאגר הזה חינמי וקוד פתוח תחת רישיון זית הציבורי, ונבנה לאפליקציה שלמה. הגרסאות הרשמיות כוללות גם מודולים קנייניים שאינם קוד פתוח, כמו **הסידור החכם**; גרסה שנבנית בלעדיהם פועלת בדיוק אותו דבר, רק בלי אותם -מודולים. תרומות נכנסות לליבה הפתוחה, ו[הסכם התורמים (CLA)](CLA.md) מאפשר לכלול אותן גם בגרסאות הרשמיות. +מודולים. תרומות נכנסות לליבה הפתוחה, וסעיף 3 של הרישיון (הרישיון החוזר) מאפשר לכלול אותן, וגם את השינויים של כל פורק, בגרסאות הרשמיות, בלי לחתום על הסכם תורמים (CLA). זית היא חינמית וקוד פתוח בליבתה. לפרטי הרישיון, ראו `LICENSE`. diff --git a/SeforimApp/src/commonMain/composeResources/files/CONDITIONS.md b/SeforimApp/src/commonMain/composeResources/files/CONDITIONS.md index 558d0a50b..03b13543d 100644 --- a/SeforimApp/src/commonMain/composeResources/files/CONDITIONS.md +++ b/SeforimApp/src/commonMain/composeResources/files/CONDITIONS.md @@ -20,7 +20,7 @@ ## 💡 רישיון היישום יישום זית חינמי, ובנוי כ"ליבה פתוחה": הליבה שלו היא קוד פתוח, המופץ תחת רישיון -[**AGPL v3**](https://raw.githubusercontent.com/kdroidFilter/SeforimApp/refs/heads/master/LICENSE). +[**רישיון זית הציבורי (Zayit Public License)**](https://raw.githubusercontent.com/kdroidFilter/SeforimApp/refs/heads/master/LICENSE), המבוסס על AGPL v3. הגרסאות הרשמיות כוללות בנוסף מודולים קנייניים שאינם קוד פתוח, כגון **הסידור החכם** ו**החיפוש הסמנטי**. מודולים אלו מוגנים בזכויות יוצרים, ואין להעתיקם, להפיצם או לעשות בהם שימוש מחוץ ליישום זית. diff --git a/SeforimApp/src/commonMain/composeResources/values/strings.xml b/SeforimApp/src/commonMain/composeResources/values/strings.xml index 6ce6ab2fe..4c9a0093c 100644 --- a/SeforimApp/src/commonMain/composeResources/values/strings.xml +++ b/SeforimApp/src/commonMain/composeResources/values/strings.xml @@ -663,7 +663,7 @@ גרסה: %1$s נוצר על ידי אליהו גמבש - יישום זה בנוי כליבה פתוחה (open core): הליבה שלו היא קוד פתוח תחת רישיון AGPL-3.0 + יישום זה בנוי כליבה פתוחה (open core): הליבה שלו היא קוד פתוח תחת רישיון זית הציבורי (Zayit Public License), המבוסס על AGPL-3.0 המודולים הקנייניים (הסידור החכם, החיפוש הסמנטי) אינם קוד פתוח, ואין להפיצם מחוץ ליישום. diff --git a/website/src/i18n/en.json b/website/src/i18n/en.json index 29111980f..c2a455692 100644 --- a/website/src/i18n/en.json +++ b/website/src/i18n/en.json @@ -142,7 +142,7 @@ "createdByName": "Elie Gambache", "sourceCode": "Source Code", "support": "Support the Project", - "license": "Zayit's core is open source under AGPL v3. The smart siddur and the semantic search are Zayit's own work, included free in the official builds.", + "license": "Zayit's core is open under the Zayit Public License, based on the AGPL v3. The smart siddur and the semantic search are Zayit's own work, included free in the official builds.", "openCore": "How the open core works" }, "comparison": { diff --git a/website/src/i18n/he.json b/website/src/i18n/he.json index bdccd5168..47cc6de33 100644 --- a/website/src/i18n/he.json +++ b/website/src/i18n/he.json @@ -142,7 +142,7 @@ "createdByName": "אליהו גמבש", "sourceCode": "קוד מקור", "support": "תמכו בפרויקט", - "license": "ליבת זית בקוד פתוח תחת AGPL v3. הסידור החכם והחיפוש הסמנטי פותחו במיוחד עבור זית, ונכללים בחינם בגרסאות הרשמיות.", + "license": "ליבת זית בקוד פתוח תחת רישיון זית הציבורי, המבוסס על AGPL v3. הסידור החכם והחיפוש הסמנטי פותחו במיוחד עבור זית, ונכללים בחינם בגרסאות הרשמיות.", "openCore": "איך עובדת הליבה הפתוחה" }, "comparison": {