diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 17fc994bbf..52b5e0c3d7 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -66,6 +66,12 @@ bun run quality:smoke --provider-model 来自 fork 的 PR 不会获得仓库 secrets,也不应被要求运行真实模型。贡献者只需在 PR 中明确写 `live model: not run (untrusted fork / no provider)`;这不是确定性 PR gate 的失败理由。 +## 贡献的许可边界 + +贡献前请阅读 [LICENSE](LICENSE) 和[许可说明](LICENSING.md)。提交新贡献时,请明确同意将你有权授权的新增部分按当前的 cc-haha Community Source License 1.0 提供;如果你希望使用其他许可,请在 PR 中明确说明,由维护者在合入前确认。此说明不追溯变更既有 MIT 贡献,也不转移版权或授予维护者无限制重新许可权。 + +引入或修改第三方代码时,保留原许可及版权通知,并说明来源。不要把已有第三方许可改成项目当前许可。 + ## 更多 完整质量门禁和覆盖率说明见 [贡献指南](docs/internals/contributing.md);`AGENTS.md` 仅保留 Agent 的高信号入口与路由。 diff --git a/LICENSE b/LICENSE index 41982c6168..1c29ab1b51 100644 --- a/LICENSE +++ b/LICENSE @@ -1,21 +1,157 @@ -MIT License +cc-haha Community Source License 1.0 Copyright (c) 2026 cc-haha -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +Project: https://github.com/NanmiCoder/cc-haha +Commercial licensing: relakkes@gmail.com + +This is a custom source-available license, not the MIT License, Apache +License, Business Source License, or an OSI-approved open-source license. +The English text in this file is the governing license. LICENSING.md is an +explanatory guide, not an additional grant or restriction. + +1. Scope and existing rights + +"Software" means the cc-haha source code and accompanying documentation to +which the applicable copyright holders apply this license. "Licensor" means +each copyright holder granting rights under this license, and "you" means +the individual or legal entity exercising those rights. + +This license grants only rights the Licensor is entitled to grant. Third-party +code, dependencies, and contributions available under a separate license +remain subject to that license, including their existing notices. See +THIRD_PARTY_LICENSES.md and any file-level or directory-level license notices. +This license does not cancel, narrow, or replace rights already granted under +MIT or another license for previously distributed code. In particular, +LICENSE-MIT-legacy records the historical MIT terms; it does not grant MIT +rights to later additions available only under this license. + +2. Permitted use + +Subject to sections 3 and 4, the Licensor grants you a worldwide, +non-exclusive, royalty-free copyright license to use, reproduce, study, +and modify the Software for noncommercial personal use, education, +research, and the limited internal business use described below. You may +redistribute the Software and modifications, or provide remote access to +them, only for noncommercial purposes and subject to section 4. + +Internal business use means use within an organization solely for its own +internal operations, including internal deployments, internal tools, and +modifications kept for its own internal needs. It does not authorize paid +client work, developing software or other deliverables for commercial sale +or licensing, or any other activity reserved under section 3. An employee's +ordinary salary for otherwise permitted internal work does not by itself +make that work a prohibited commercial use. Internal deployment or access +by an employee does not exempt an otherwise prohibited activity. + +These terms do not claim ownership of, or require disclosure of, your +inputs or generated outputs. However, permission to use the Software to +create outputs remains subject to section 3. Software code copied into an +output also remains subject to its applicable license. + +3. Commercial monetization requires written permission + +Except for the limited internal business use expressly permitted in +section 2, commercial monetization using the Software, its modifications, +or a substantial portion of it requires a separate written commercial +license from the applicable rights holders. Without that license, you +may not: + +(a) Sell, license for a fee, rent, or otherwise commercially distribute +the Software or a product that contains, embeds, or is derived from it. + +(b) Provide paid hosting, SaaS, managed services, or remote access to the +Software or its capabilities to third parties. + +(c) Use the Software to perform paid client work or create software or +other deliverables for commercial sale or licensing, including contracted +development and commissioned work, whether or not the Software itself is +included in the delivered work. + +(d) Carry out or supply paid customization, secondary development, +integration, deployment, or maintenance of the Software for third parties, +or commercially provide the resulting modifications or derivative works. + +(e) Monetize a product or service using the Software indirectly through +advertising, commissions, or bundling with a paid product or service, even +if access to the Software is described as free. + +These restrictions do not depend on whether the product or service competes +with cc-haha. Keeping attribution, changing names, logos, interfaces, or +implementation details, or making source code public does not remove them. +A commercial license is required before carrying out a restricted activity. + +Free, noncommercial community forks, redistribution, and remote access +remain permitted subject to section 4. Voluntary donations solely supporting +a noncommercial community project's maintenance, without paid access, +features, or services in return, do not by themselves make it a prohibited +commercial use. + +4. Redistribution and visible attribution + +Whenever you distribute the Software or a substantial portion of it, with +or without modifications, in source or binary form, or provide permitted +remote access to it, you must: + +(a) Include this complete license, the applicable copyright notices, and +all applicable third-party license notices with the distributed materials. +For remote access, make them available through a normally accessible legal +or license page. Do not remove or obscure existing legal or source notices. + +(b) Clearly display the following source attribution, with a working link +where the medium supports links: + + Based on cc-haha: https://github.com/NanmiCoder/cc-haha + Copyright (c) 2026 cc-haha + +Place it near the beginning of the main README of a source distribution, +in an ordinarily accessible About or legal page of a graphical application, +and in the product description or accompanying documentation of a binary +distribution. For a command-line-only distribution, include it in the normal +help or license output. For an integrated component, identify the cc-haha +component in the host product's corresponding notices. It must remain +legible and must not be hidden behind an additional purchase or login solely +to view the notice. + +(c) If you modify the Software, prominently identify your distribution as +a modified or unofficial version in its README and corresponding About, +legal, or CLI notice, and provide a description of your material changes. +Do not imply that your distribution is an official cc-haha release or is +endorsed by its maintainers. + +(d) Pass these terms to recipients for the covered Software. You may license +your own additions separately only insofar as doing so does not remove or +contradict these conditions on the covered Software. This section does not +require you to publish private modifications or your independently written +code, and does not grant commercial rights withheld by section 3. + +5. Names and marks + +No trademark or logo rights are granted except the limited use of the +cc-haha name needed for truthful source attribution under section 4. +You may give a modified distribution its own name and branding, but must +retain the required source attribution and legal notices. This license +does not require reuse of the cc-haha logo or any minimum amount of code +modification. + +6. Termination + +Rights under this license terminate automatically if you violate its +conditions. If this is your first violation and you fully cure it within +30 days after receiving written notice from the Licensor, your rights under +this license are reinstated. Otherwise, reinstatement requires the +Licensor's written permission. Termination under this license does not +revoke independently granted rights under MIT or another license. + +7. Disclaimer + +TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THE SOFTWARE IS PROVIDED +"AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT +LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR +PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE LICENSOR OR COPYRIGHT +HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +All rights not expressly granted under this license are reserved, without +limiting rights available under a separate license or applicable law. diff --git a/LICENSE-MIT-legacy b/LICENSE-MIT-legacy new file mode 100644 index 0000000000..41982c6168 --- /dev/null +++ b/LICENSE-MIT-legacy @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2026 cc-haha + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/LICENSING.md b/LICENSING.md new file mode 100644 index 0000000000..cc41e9ece9 --- /dev/null +++ b/LICENSING.md @@ -0,0 +1,114 @@ +# cc-haha 许可说明 / Licensing guide + +当前许可为 **cc-haha Community Source License 1.0**,完整英文条款见 +[LICENSE](LICENSE)。这是自定义的源码可用许可,不是 MIT、Apache-2.0、BUSL, +也不是 OSI 认可的开源许可证。本页仅解释条款,实际授权以 LICENSE 及适用的独立许可为准。 + +## 允许与需要授权的用途 + +| 场景 | 当前许可的处理 | +| --- | --- | +| 个人非商业使用、学习、研究、修改 | 允许 | +| 企业内部自用:内部部署、内部工具、仅供自身内部需要的修改 | 允许;不包括下列需要授权的商业盈利活动 | +| 员工因正常内部工作领取工资 | 不会仅因此被认定为需要授权的商业盈利活动 | +| 免费发布非商业社区 fork、修改版或提供非商业远程访问 | 允许,须履行来源署名、许可保留和修改说明要求 | +| 使用 cc-haha 接单、承接付费委托、开发或交付收费的代码、文档、设计等成果 | 需事先取得书面商业授权,即使交付物不包含 cc-haha 源码 | +| 使用 cc-haha 开发用于对外商业销售或许可的软件或其他成果 | 需事先取得书面商业授权 | +| 对 cc-haha 或其衍生版本进行收费定制、二次开发、集成、部署或维护 | 需事先取得书面商业授权 | +| 换皮售卖、收费分发、商业集成或商业再分发 cc-haha 或其衍生版本 | 需事先取得书面商业授权,不以是否构成竞争产品为条件 | +| 面向第三方提供付费托管、SaaS、托管服务或远程访问 | 需事先取得书面商业授权 | +| 表面免费,但通过广告、佣金或捆绑收费产品、服务变现 | 同样需事先取得书面商业授权 | + +**企业内部自用可用;接单、对外商业盈利、收费修改和二次开发须事先取得书面商业授权。** +内部部署、员工操作、公开源码或保留署名,均不能豁免上述需要授权的活动。 +限制不以是否与 cc-haha 竞争为条件,不保留“非竞争性商业集成或再分发”的免费例外。 +输入、输出的所有权不会仅因使用工具转移给本项目,但使用工具生成商业交付物仍须遵守上述用途限制; +直接复制的软件代码还受其适用许可约束。私人修改及独立代码不因此被要求公开。 +仅为非商业社区项目维护提供自愿捐赠、且不换取付费访问、功能或服务,本身不视为需要授权的商业盈利活动。 +商业授权联系:**relakkes@gmail.com**。第三方权利人拥有的部分可能还需另行取得其授权。 + +## 二次分发必须显著标明来源 + +对于适用新许可的代码和修改版,应包含完整 LICENSE、版权和第三方许可声明,并展示: + +```text +Based on cc-haha: https://github.com/NanmiCoder/cc-haha +Copyright (c) 2026 cc-haha +``` + +- 源码分发:放在主 README 靠前位置。 +- 图形界面应用:放在正常可访问的“关于”或法律信息页面。 +- 二进制分发:在产品介绍或随包文档中展示,并随包附带许可文件。 +- 纯命令行分发:在正常帮助或许可输出中展示。 +- 远程访问:通过正常可访问的法律或许可页面提供完整声明;嵌入组件在宿主相应位置明确该组件来源。 +- 修改版:明确标记为非官方或修改版,并说明实质性修改,不得暗示官方背书。 + +这些要求不意味着必须使用 cc-haha 的 Logo,也不要求“修改一定比例的代码”。 +修改名称、界面或大量代码不能自动豁免商业限制和署名义务。 +本许可没有强制公开私人修改或独立编写代码的条款。 + +## 从 MIT 迁移的边界 + +1. 此次变更前的主分支提交 + [`755a18edb7e7519a12f5c7ee4265c9eb4f2ed508`](https://github.com/NanmiCoder/cc-haha/commit/755a18edb7e7519a12f5c7ee4265c9eb4f2ed508) + 使用 MIT;后续若在迁移前有其他 MIT 提交,也以相应版本实际分发的许可为准。 +2. 旧版 MIT 授权继续有效;已经按 MIT 获得的代码不会因替换根目录 LICENSE 而失去原授权。 + 历史全文原样保存在 [LICENSE-MIT-legacy](LICENSE-MIT-legacy),该文件不向后续新增代码授予 MIT 权利。 +3. 新许可只在相应权利人有权授权的范围内生效。第三方依赖、内嵌代码、单独授权的文件及既有 MIT 贡献, + 继续保留适用的许可与通知,参见 [THIRD_PARTY_LICENSES.md](THIRD_PARTY_LICENSES.md) 及文件、目录中的声明。 +4. 本变更不能追溯要求旧版 MIT 使用者在 README 或界面新增署名,也不能阻止其按 MIT 对旧代码进行合规商用。 + 旧版 MIT 原本要求的版权和许可保留义务仍然存在。 +5. 对新增贡献,应在接受前明确贡献者的授权;不能仅靠修改根目录文件宣称取得所有贡献者的版权或重新许可权。 + +本次迁移没有新增业务代码,不能把已经按 MIT 发布的代码变成只能按新许可使用。 +任何人仍可从历史版本取得这些代码并按 MIT 合规修改、分发和商用。 +新增限制主要作用于未来由有权授权者按新许可发布、且没有其他独立授权的新增内容。 + +本次迁移仅更新源码仓库的许可文本和说明,不发布新的安装包。 +后续分发适用新许可的安装包时,应随包携带 LICENSE、NOTICE、历史及第三方许可声明, +并核查上面的可见署名要求;既有发布包不会被本次源码变更自动更新。 + +## English summary + +The governing terms are in [LICENSE](LICENSE). Noncommercial personal, +educational, and research use, and an organization's own internal operations, +internal tools, and internal-only modifications are allowed. Ordinary employee +salary for otherwise permitted internal work is not by itself prohibited. + +Separate prior written commercial permission is required for paid client work, +commissioned development, creating software or other deliverables for commercial +sale or licensing, paid customization or secondary development, commercial +integration or redistribution, and paid hosting, SaaS, or managed access. +These restrictions also cover monetization through advertising, commissions, +or paid bundles, whether or not the offering competes with cc-haha. They apply +to paid client work even when the delivered output contains no cc-haha code. +Internal deployment, employee access, attribution, or public source code does +not exempt a restricted activity. Output ownership is not transferred, but +using the Software to create commercial deliverables is still restricted. + +Free noncommercial community forks, redistribution, and remote access are allowed +with the required notices, visible source attribution, and identification of +material modifications. + +Redistributions must carry the license and applicable notices. Source attribution +belongs near the beginning of the main README, in an accessible About or legal +page for graphical applications, in binary product descriptions or accompanying +documentation, and in normal help or license output for CLI-only distributions. +Private changes and independently written code need not be published. + +Existing MIT grants remain valid. The historical MIT text is preserved in +[LICENSE-MIT-legacy](LICENSE-MIT-legacy) and does not grant MIT rights to later +additions. Third-party code and separately licensed contributions keep their own +terms. This is a source-available license, not an OSI-approved open-source license. +Future contributions must be accepted under clearly agreed terms; this change +does not transfer contributors' copyright or blanket relicensing authority. + +This change adds no product code and cannot make previously MIT-licensed code +exclusive to the new terms. Historical versions remain available for compliant +MIT use, modification, redistribution, and commercialization. The new restrictions +primarily cover future additions that their rights holders release only under +the new license. + +This source-only change does not publish or update installers. Future binary +releases must carry the applicable license files and meet the attribution +requirements. Commercial licensing: **relakkes@gmail.com**. diff --git a/NOTICE b/NOTICE new file mode 100644 index 0000000000..c861c7cb66 --- /dev/null +++ b/NOTICE @@ -0,0 +1,18 @@ +cc-haha +https://github.com/NanmiCoder/cc-haha +Copyright (c) 2026 cc-haha + +Current project licensing: cc-haha Community Source License 1.0 (LICENSE). +Historical MIT terms: LICENSE-MIT-legacy. Existing MIT grants remain valid; +the legacy file does not license later additions under MIT. +Third-party licenses remain applicable: see THIRD_PARTY_LICENSES.md and +file-level or directory-level notices. + +Source attribution for redistributions covered by the current license: +Based on cc-haha: https://github.com/NanmiCoder/cc-haha +Copyright (c) 2026 cc-haha + +Internal business use is permitted within LICENSE section 2. Paid client work, +commercial deliverables, paid customization or secondary development, commercial +distribution, and paid services require prior written commercial permission. +Commercial licensing: relakkes@gmail.com diff --git a/README.en.md b/README.en.md index fb2225ffbe..017479f786 100644 --- a/README.en.md +++ b/README.en.md @@ -1,7 +1,7 @@ # cc-haha

- cc-haha — Open-source desktop for Claude Code + cc-haha — Source-available desktop for Claude Code

@@ -10,7 +10,7 @@ [![GitHub Forks](https://img.shields.io/github/forks/NanmiCoder/cc-haha?style=social)](https://github.com/NanmiCoder/cc-haha/network/members) [![GitHub Issues](https://img.shields.io/github/issues/NanmiCoder/cc-haha)](https://github.com/NanmiCoder/cc-haha/issues) [![GitHub Pull Requests](https://img.shields.io/github/issues-pr/NanmiCoder/cc-haha)](https://github.com/NanmiCoder/cc-haha/pulls) -[![License](https://img.shields.io/badge/License-MIT-blue)](https://github.com/NanmiCoder/cc-haha/blob/main/LICENSE) +[![License](https://img.shields.io/badge/License-Community_Source-orange)](https://github.com/NanmiCoder/cc-haha/blob/main/LICENSE) [![English](https://img.shields.io/badge/🇺🇸_English-Current-blue)](README.en.md) [![中文](https://img.shields.io/badge/🇨🇳_简体中文-Available-green)](README.md) [![Docs](https://img.shields.io/badge/📖_Documentation-Visit-FF7A00)](https://cchaha.ai) @@ -214,3 +214,9 @@ If this project helps you, please support it with a ⭐ Star so more people can Star History Chart + +--- + +## License + +Current terms are the [cc-haha Community Source License 1.0](LICENSE). Noncommercial personal use and internal business operations are allowed; paid client work, commercial deliverables, paid customization or secondary development, commercial distribution, and paid services require prior written commercial permission; redistributions require visible source attribution. Existing MIT grants and third-party licenses remain valid. See the [licensing guide](LICENSING.md). This is source-available, not an OSI-approved open-source license. diff --git a/README.md b/README.md index 1ea90d73ba..8e5ea9c1c6 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ # cc-haha

- cc-haha — Claude Code 开源桌面端 + cc-haha — Claude Code 源码可用桌面端

@@ -10,7 +10,7 @@ [![GitHub Forks](https://img.shields.io/github/forks/NanmiCoder/cc-haha?style=social)](https://github.com/NanmiCoder/cc-haha/network/members) [![GitHub Issues](https://img.shields.io/github/issues/NanmiCoder/cc-haha)](https://github.com/NanmiCoder/cc-haha/issues) [![GitHub Pull Requests](https://img.shields.io/github/issues-pr/NanmiCoder/cc-haha)](https://github.com/NanmiCoder/cc-haha/pulls) -[![License](https://img.shields.io/badge/License-MIT-blue)](https://github.com/NanmiCoder/cc-haha/blob/main/LICENSE) +[![License](https://img.shields.io/badge/License-Community_Source-orange)](https://github.com/NanmiCoder/cc-haha/blob/main/LICENSE) [![中文](https://img.shields.io/badge/🇨🇳_简体中文-当前-blue)](README.md) [![English](https://img.shields.io/badge/🇺🇸_English-Available-green)](README.en.md) [![Docs](https://img.shields.io/badge/📖_文档站点-Visit-FF7A00)](https://cchaha.ai) @@ -214,3 +214,9 @@ cp .env.example .env Star History Chart + +--- + +## 许可说明 + +当前采用 [cc-haha Community Source License 1.0](LICENSE)。允许个人非商业使用及企业内部自用;接单、对外商业盈利、收费修改或二次开发、商业分发及付费服务须事先取得书面商业授权;二次分发须显著保留来源署名。历史 MIT 授权与第三方许可继续有效。详见[许可说明](LICENSING.md)。当前许可属于源码可用许可,不是 OSI 认可的开源许可证。