diff --git a/incubator/README.md b/incubator/README.md index ecb6830..0d34965 100644 --- a/incubator/README.md +++ b/incubator/README.md @@ -4,18 +4,20 @@ ## 1. Purpose & Scope -This directory is the single entry point for **external project donations** to the FlagOS community. It defines the full lifecycle from donation proposal through incubation, graduation, and archiving. Design principle: **take IP in cleanly, let projects exit gracefully** — keep everything else simple. +This directory is the single entry point for **external project contributions** to the FlagOS community. It defines the full lifecycle from contribution proposal through incubation, graduation, and archiving. Design principle: **take IP in cleanly, let projects exit gracefully** — keep everything else simple. -This process applies to externally donated projects; governance of existing FlagOS subprojects is not affected by this directory. +This process applies to externally contributed projects; governance of existing FlagOS subprojects is not affected by this directory. + +**Terminology.** In this directory, **project contribution** means contributing an existing external project into the FlagOS lifecycle; it does not refer to ordinary code, documentation, issue, or pull-request contributions, which follow the normal repository contribution process. The **contributing party** is the organization or individual submitting and legally granting the project contribution; **contributing organization** is used only where a rule is specific to organizations. **Language.** English is the working language of this directory. Policy and runbook documents are authoritative in English — the `_CN` translations are provided for convenience, and if the versions differ, the English version prevails. Canonical project records (proposals, IP checklists, graduation proposals, annual reviews) are written in English. Legally executed documents such as the SGA define their own governing-language rule. Changes to any policy or runbook must update the English and `_CN` files in the same PR. -## 2. Quick Start for Donors +## 2. Quick Start: Contribute a Project -If you plan to donate a project to FlagOS: +If you plan to contribute a project to FlagOS: 1. **Confirm the fit**: Read the acceptance principles in Section 4 and confirm the project fits the FlagOS technical scope, has a maintainer team, and its code and assets can in principle pass IP clearance. -2. **Prepare and submit the proposal**: Copy the [donation proposal template](proposal-template.md) to `incubator/projects//proposal.md`, fill in the project, maintainer team, donation scope, IP status, and post-donation plan, then submit a PR to the community repo. The proposal and canonical process records (IP checklist, graduation proposal, and annual reviews) are written in English; executed legal documents define their own language rule. +2. **Prepare and submit the proposal**: Copy the [contribution proposal template](proposal-template.md) to `incubator/projects//proposal.md`, fill in the project, maintainer team, contribution scope, IP status, and post-contribution plan, then submit a PR to the community repo. The proposal and canonical process records (IP checklist, graduation proposal, and annual reviews) are written in English; executed legal documents define their own language rule. 3. **Public review and TSC presentation**: The proposal is publicly reviewed for at least 14 days; we will then contact you to arrange a ~30-minute TSC presentation. On approval the project is conditionally approved and enters the SGA and IP due-diligence stage. 4. **Complete the SGA and IP clearance**: With help from the Mentors, the TSC-designated verifier, and the legal receiving entity, complete the [IP clearance checklist](ip-checklist.md) and sign the SGA. Conditional approval is valid for 12 months. 5. **Formal acceptance and asset migration**: Once the SGA is effective and IP clearance is complete, the community records Final Acceptance in the proposal, and **the project enters incubation as of that date**; both sides then migrate repositories, release channels, domains, and other agreed assets per the [acceptance runbook](acceptance-runbook.md). @@ -31,7 +33,7 @@ Questions before submitting: . **Do not submit contract scans ## 3. Project Lifecycle ``` -Donation Proposal → Incubating → Graduated +Contribution Proposal → Incubating → Graduated └─────→ Archived ``` @@ -39,13 +41,13 @@ Only two levels: **Incubating** / **Graduated**. Archiving is the neutral exit p ### Project List -| Project | Status | Donor | Mentors | Proposal | +| Project | Status | Contributed by | Mentors | Proposal | |---------|--------|-------|---------|----------| | _None yet_ | | | | | ## 4. Acceptance Principles -The TSC reviews donation proposals against the following principles, and the reasons for acceptance or rejection are recorded publicly. A candidate project must at minimum: +The TSC reviews contribution proposals against the following principles, and the reasons for acceptance or rejection are recorded publicly. A candidate project must at minimum: - Fit the FlagOS mission and technical scope (the multi-chip AI system software stack and its ecosystem); - Use an open source license compliant with the license policy in Section 9; @@ -56,20 +58,20 @@ The TSC reviews donation proposals against the following principles, and the rea ## 5. Decision Body -- Donation acceptance, graduation, and archiving are **major decisions** of the community, decided by **TSC vote under the major-decision rules defined in [GOVERNANCE.md](../GOVERNANCE.md)**. Before the first TSC meeting, the FlagOS founding community acts on its behalf under the same rules. +- Project contribution acceptance, graduation, and archiving are **major decisions** of the community, decided by **TSC vote under the major-decision rules defined in [GOVERNANCE.md](../GOVERNANCE.md)**. Before the first TSC meeting, the FlagOS founding community acts on its behalf under the same rules. - Routine matters follow the lazy consensus rules in GOVERNANCE. -- **Conflict of interest**: Directly interested parties in a donation matter (TSC members from the donor or its affiliated organizations) **must recuse** from the vote. This is a special rule for donation matters on top of the GOVERNANCE conflict-of-interest policy; see [GOVERNANCE.md](../GOVERNANCE.md#conflict-of-interest-coi). +- **Conflict of interest**: Directly interested parties in a project contribution matter (TSC members from the contributing party or its affiliated organizations, or a TSC member who is the individual contributing party) **must recuse** from the vote. This is a special rule for project contribution matters on top of the GOVERNANCE conflict-of-interest policy; see [GOVERNANCE.md](../GOVERNANCE.md#conflict-of-interest-coi). - All decisions are recorded publicly on GitHub. -## 6. Donation & Formal Acceptance Process +## 6. Project Contribution & Formal Acceptance Process ``` ① Proposal PR → ② 2-week public review → ③ TSC conditional approval → ④ SGA + IP clearance → ⑤ Formal acceptance, incubation begins ``` -1. **Proposal PR**: The donor fills out [proposal-template.md](proposal-template.md) and submits it as a PR to `incubator/projects//proposal.md`. Questions before submitting can go to . +1. **Proposal PR**: The contributing party fills out [proposal-template.md](proposal-template.md) and submits it as a PR to `incubator/projects//proposal.md`. Questions before submitting can go to . 2. **2-week public review**: The PR stays open for at least 14 days to collect community feedback. Meanwhile the TSC identifies 1–2 Mentors for the project. -3. **TSC conditional approval**: The donor presents at a TSC meeting (~30 minutes); the TSC votes under the rules in Section 5. On approval, the proposal PR is merged. +3. **TSC conditional approval**: The contributing party presents at a TSC meeting (~30 minutes); the TSC votes under the rules in Section 5. On approval, the proposal PR is merged. - **Conditional approval only authorizes proceeding to IP due diligence; it does not constitute formal acceptance.** - **Validity**: Conditional approval is valid for **12 months** from the vote, extendable by TSC resolution. If the SGA and IP clearance are not completed in time, the proposal is closed (closed/withdrawn) and the project **enters no lifecycle state**; it may be resubmitted later. - **If rejected**: The TSC provides written reasons in the PR; the project may resubmit after 6 months. @@ -94,7 +96,7 @@ Graduation is assessed against the following **six fixed dimensions**, which pro 3. **Releases & security**: a steady release cadence and basic security-response capability; 4. **Real adoption**: real users or production usage exists; 5. **Compliance**: IP and licensing remain continuously compliant, with no unresolved violating dependencies; -6. **Reduced single-party dependence**: dependence on the original donor is clearly reduced (maintainers not concentrated in a single organization). +6. **Reduced single-party dependence**: dependence on the original contributing party is clearly reduced (maintainership and critical project knowledge are not concentrated in a single individual or organization). Graduation is initiated by project maintainers or the Mentor using the [graduation proposal template](graduation-template.md) (evidence per dimension + written Mentor recommendation), takes effect after a TSC vote under the rules in Section 5, and drops the `(incubating)` label. @@ -111,7 +113,7 @@ Archiving is the neutral exit mechanism for a **formally accepted project** (Inc - Inability to sustain basic release and security-response capability; - The project's maintainer team voluntarily requests to exit. -After archiving, the repository becomes **read-only and remains available**; execution details (notice period, channel disposition, trademarks, reactivation) are in the [archiving runbook](archiving-runbook.md). **Commitment to donors**: the code license granted under the SGA is **irrevocable**; archiving does not affect anyone's right to fork and use the code. Project trademarks may be returned to the donor by negotiation. +After archiving, the repository becomes **read-only and remains available**; execution details (notice period, channel disposition, trademarks, reactivation) are in the [archiving runbook](archiving-runbook.md). **Commitment to contributing parties**: the code license granted under the SGA is **irrevocable**; archiving does not affect anyone's right to fork and use the code. Project trademarks may be returned to the contributing party by negotiation. ## 9. Licensing, Security & Supporting Files @@ -131,7 +133,7 @@ Please report security vulnerabilities in incubating and graduated projects **pr | File | Purpose | |------|---------| -| [proposal-template.md](proposal-template.md) | Donation proposal template | +| [proposal-template.md](proposal-template.md) | Contribution proposal template | | [ip-checklist.md](ip-checklist.md) | IP clearance checklist (hard gate for acceptance) | | [sga-outline.md](sga-outline.md) | Software Grant Agreement term sheet (pending legal counsel) | | [license-policy.md](license-policy.md) | License policy details (classification, CI scanning, AI artifacts) | diff --git a/incubator/README_CN.md b/incubator/README_CN.md index 7c1fbf5..5a330ea 100644 --- a/incubator/README_CN.md +++ b/incubator/README_CN.md @@ -8,9 +8,11 @@ 本制度适用于外部捐赠项目;FlagOS 现有子项目的治理不受本目录约束。 +**术语说明。**本目录所称**项目捐赠**(英文文档用 project contribution)指将现有外部项目整体捐入 FlagOS 生命周期,不指日常的代码、文档、issue 或 PR 贡献——后者遵循各仓库常规贡献流程。**捐赠方**(contributing party)指提交并在法律上授予本次项目捐赠的机构或个人。 + **语言说明。**本目录以英文为工作语言。政策与手册类文档**以英文版本为准**——中文 `_CN` 版本供阅读便利,两者不一致时以英文版本为准。项目流程档案(提案、IP 清理清单、转正提案、年度 review)**须以英文填写**。正式签署的 SGA 等法律文件按其自身约定的语言效力条款执行。修改政策或手册须在同一 PR 中同步更新英文与 `_CN` 两个版本。 -## 2. 捐赠方快速开始 / Quick Start for Donors +## 2. 捐赠方快速开始 / Quick Start: Contribute a Project 如果您计划向 FlagOS 捐赠项目: @@ -94,7 +96,7 @@ TSC 依据以下原则评审捐赠提案,接收与否的理由公开记录。 3. **发布与安全**:有稳定的发布节奏,具备基本的安全漏洞响应能力; 4. **真实采用**:存在真实用户或生产使用; 5. **合规**:IP 与许可证持续合规,无未处理的违规依赖; -6. **去单点依赖**:对原始捐赠方的单点依赖已明显降低(maintainer 不集中于单一机构)。 +6. **去单点依赖**:对原始捐赠方的单点依赖已明显降低(maintainer 与关键项目知识不集中于单一个人或机构)。 转正由项目 maintainer 或 Mentor 按[转正提案模板](graduation-template.md)发起(逐维度附证据 + Mentor 书面推荐),TSC 按第 5 节规则投票通过后生效,去掉 `(incubating)` 标识。 diff --git a/incubator/acceptance-runbook.md b/incubator/acceptance-runbook.md index bdcc542..ec48726 100644 --- a/incubator/acceptance-runbook.md +++ b/incubator/acceptance-runbook.md @@ -2,7 +2,7 @@ [English](acceptance-runbook.md) | [中文](acceptance-runbook_CN.md) -> Operational runbook for step ⑤ of the donation process in Section 6 of the [README](README.md): after Final Acceptance is recorded, the execution team completes asset migration and announcements per this document. +> Operational runbook for step ⑤ of the project contribution process in Section 6 of the [README](README.md): after Final Acceptance is recorded, the execution team completes asset migration and announcements per this document. ## 0. Preconditions @@ -12,7 +12,7 @@ ## 1. Repository Transfer -1. The donor hands over repository owner rights or uses GitHub **Transfer ownership** to move the repository into the `flagos-ai` org (stars, forks, issue and PR history are preserved; GitHub auto-redirects the old URL). +1. The contributing party hands over repository owner rights or uses GitHub **Transfer ownership** to move the repository into the `flagos-ai` org (stars, forks, issue and PR history are preserved; GitHub auto-redirects the old URL). 2. Multi-repository projects migrate one by one; once all are done, append a migration-completion confirmation under the Final Acceptance record in proposal.md. 3. Post-transfer setup: - Branch protection (main: no force pushes, PR review required); @@ -31,20 +31,20 @@ Execute the actual handover item by item, following the asset inventory and migration plan confirmed in the "Asset Verification & Migration Readiness" section of the IP clearance checklist: -- PyPI / npm / Docker Hub etc.: add the alliance machine account as owner; downgrade the donor's personal accounts to maintainer or remove them; +- PyPI / npm / Docker Hub etc.: add the alliance service account as owner; retain, downgrade, or remove existing organization and individual accounts according to the approved migration plan; - Domains: complete the transfer or hand over DNS control; - Social media / community channels: complete the handover or update ownership in the channel profile. ## 4. Community Onboarding -- Update the project list in the incubator [README](README.md) / [README_CN.md](README_CN.md) (status Incubating, donor, Mentors, proposal link); +- Update the project list in the incubator [README](README.md) / [README_CN.md](README_CN.md) (status Incubating, contributing party, Mentors, proposal link); - Assign the project to the appropriate SIG (where none fits, the TSC manages it directly per the GOVERNANCE transition rules); - Register the maintainer roster in MAINTAINERS.md or the project OWNERS file; - Invite the project maintainers to the open agenda of TSC meetings. ## 5. Announcement -- Publish the acceptance announcement in the community repo's GitHub Discussions (project intro, donor, incubating-status note); +- Publish the acceptance announcement in the community repo's GitHub Discussions (project intro, contributing party, incubating-status note); - Syndicate to official channels such as the WeChat official account; - Wording: refer to the project as a "FlagOS incubating project"; avoid phrasing that could be read as final endorsement. diff --git a/incubator/acceptance-runbook_CN.md b/incubator/acceptance-runbook_CN.md index 2857b0f..02998b8 100644 --- a/incubator/acceptance-runbook_CN.md +++ b/incubator/acceptance-runbook_CN.md @@ -31,7 +31,7 @@ 按 IP 清理清单"资产核验与迁移准备"节确认的资产清单与迁移方案,逐项执行实际移交: -- PyPI / npm / Docker Hub 等:将联盟机器账号加为 owner,捐赠方个人账号降为 maintainer 或移除; +- PyPI / npm / Docker Hub 等:将联盟服务账号添加为 owner;根据已批准的迁移方案,保留、降权或移除现有的机构账号和个人账号; - 域名:完成转移或 DNS 控制权移交; - 社交媒体/社区渠道:完成交接或在渠道简介中更新归属。 diff --git a/incubator/archiving-runbook.md b/incubator/archiving-runbook.md index 51bd827..5486a14 100644 --- a/incubator/archiving-runbook.md +++ b/incubator/archiving-runbook.md @@ -6,7 +6,7 @@ ## 1. Notice Period -- Before an archiving proposal goes to a TSC vote, it is publicized in the project repository and the community repository for **≥30 days**, with best-effort direct contact to the project maintainers and the donor contact; +- Before an archiving proposal goes to a TSC vote, it is publicized in the project repository and the community repository for **≥30 days**, with best-effort direct contact to the project maintainers and the contributing party contact; - During the notice period the project may present an improvement plan; the TSC decides whether to halt the archiving process; - After the vote passes, downstream users get a **≥30-day** migration notice before the repository goes read-only. @@ -29,7 +29,7 @@ ## 5. Trademark Disposition -- Negotiated with the donor per the SGA trademark terms: return to the donor, retain under the alliance, or let registration lapse; +- Negotiated with the contributing party per the SGA trademark terms: return to the contributing party, retain under the alliance, or let registration lapse; - The outcome is recorded in the process records of `projects//proposal.md`. ## 6. Announcement diff --git a/incubator/ip-checklist.md b/incubator/ip-checklist.md index 49766ab..6ad5cf5 100644 --- a/incubator/ip-checklist.md +++ b/incubator/ip-checklist.md @@ -13,19 +13,19 @@ incubator/projects//. ## Legal Documents - [ ] Recipient entity information and signing authorization verified by legal counsel: registered name and unified social credit code, capacity to contract independently and to hold copyright licenses / trademarks / domains, authorized signatory and sealing procedure -- [ ] Software Grant Agreement (SGA) signed by the donor's legal entity -- [ ] Donor has provided a code ownership declaration covering outsourced / prior-employer / unclear-origin code risks, with a resolution for each item if any +- [ ] SGA signed by the contributing party (by its authorized signatory where the contributing party is a legal entity) +- [ ] The contributing party has provided a code ownership declaration covering outsourced / prior-employer / unclear-origin code risks, with a resolution for each item if any - [ ] The software-copyright arrangement agreed in the SGA (assignment / exclusive license / non-exclusive perpetual sublicensable license, as the executed SGA specifies) is effective, or the corresponding registration/recording has been initiated with a defined completion date ## Contribution Rights Chain - - [ ] Historical contributor / commit provenance list generated and archived - [ ] The authorization basis for historical external contributions verified (CLA / DCO / original project license terms) -- [ ] Confirmed that the donor plus the contribution authorization chain together cover the right to license all donated code under the target outbound license +- [ ] Confirmed that the contributing party plus the historical authorization chain together cover the right to license all contributed code under the target outbound license - [ ] Contributions whose authorization cannot be obtained handled item by item: kept under a compatible original license / authorization obtained retroactively / rewritten or removed ## License Compliance @@ -49,7 +49,7 @@ incubator/projects//. ## AI-Specific Items (if applicable) -- [ ] Whether model weights are donated along with the code is settled, and their license determined +- [ ] Whether model weights are contributed along with the code is settled, and their license determined - [ ] Provenance, licenses, and actual usage/distribution mode of training/eval datasets confirmed lawful: datasets **redistributed** with the project must carry redistribution rights; those without must **not enter the repository** and may only be provided via compliant acquisition (download script + source citation) ## Compliance Review diff --git a/incubator/license-policy.md b/incubator/license-policy.md index e34f625..c96fad1 100644 --- a/incubator/license-policy.md +++ b/incubator/license-policy.md @@ -6,7 +6,7 @@ ## 1. Outbound License -All projects release under **Apache-2.0**. Donated projects under other licenses must switch during IP clearance. **The SGA covers only what the donor itself has the right to license**; whether the project can switch its outbound license as a whole is determined by the "Contribution Rights Chain" verification in the [IP clearance checklist](ip-checklist.md) — copyright retained by historical external contributors must be resolved item by item via original-license compatibility, retroactive authorization, or rewrite/removal. Exceptions (e.g., MulanPSL-2.0) must be justified in the proposal and approved by the TSC. +All projects release under **Apache-2.0**. Contributed projects under other licenses must switch during IP clearance. **The SGA covers only what the contributing party itself has the right to license**; whether the project can switch its outbound license as a whole is determined by the "Contribution Rights Chain" verification in the [IP clearance checklist](ip-checklist.md) — copyright retained by historical external contributors must be resolved item by item via original-license compatibility, retroactive authorization, or rewrite/removal. Exceptions (e.g., MulanPSL-2.0) must be justified in the proposal and approved by the TSC. ## 2. Dependency License Categories @@ -48,9 +48,9 @@ How to apply: open an issue in the affected repository stating the dependency na ## 4. Licensing of AI Artifacts -For projects donating or distributing model weights or datasets: +For projects contributing or distributing model weights or datasets: -- **Model weights**: Whether weights are donated with the code must be stated in the proposal. Weight licenses are independent of code licenses; Apache-2.0 or a clearly defined open-weights license is recommended. Licenses with usage restrictions (e.g., research-only) must be declared prominently in the README and must not be conflated with "open source" claims. +- **Model weights**: Whether weights are contributed with the code must be stated in the proposal. Weight licenses are independent of code licenses; Apache-2.0 or a clearly defined open-weights license is recommended. Licenses with usage restrictions (e.g., research-only) must be declared prominently in the README and must not be conflated with "open source" claims. - **Datasets**: Provenance must be lawful and licenses must permit redistribution; datasets that cannot be redistributed may only be provided as a download script plus source citation, and must not enter the repository. - **Fine-tuned derivatives of third-party models**: Must comply with the base model's license terms (derivative naming, use-policy pass-through, etc.), verified item by item in the IP clearance checklist. diff --git a/incubator/mentor-guide.md b/incubator/mentor-guide.md index c1fbfa5..a9836d7 100644 --- a/incubator/mentor-guide.md +++ b/incubator/mentor-guide.md @@ -7,13 +7,13 @@ ## 1. Who Mentors Are - Mentors are **appointed by the TSC from senior community members** (TSC members, SIG Chairs/Tech Leads, or senior contributors recognized by the TSC), 1–2 per incubating project. -- Mentors act **in a personal capacity**, not on behalf of their employers; members of the same organization as the project's donor **do not serve** as that project's Mentor. +- Mentors act **in a personal capacity**, not on behalf of their employers. The contributing party **does not serve** as a Mentor for its own project; where the contributing party is an organization, members of that organization or its affiliates do not serve as Mentors for the project. - A Mentor is a coach and a bridge, **not the project's decision maker** — technical decisions remain with the project's maintainer team. ## 2. Responsibilities -**Donation stage (conditional approval → formal acceptance)** -- Help the donor understand the process and refine the proposal; +**Contribution stage (conditional approval → formal acceptance)** +- Help the contributing party understand the process and refine the proposal; - Participate in verifying the IP clearance checklist (which carries a Mentor sign-off). **During incubation** diff --git a/incubator/mentor-guide_CN.md b/incubator/mentor-guide_CN.md index 3ac90b8..64cd6d8 100644 --- a/incubator/mentor-guide_CN.md +++ b/incubator/mentor-guide_CN.md @@ -7,7 +7,7 @@ ## 1. Mentor 是谁 - Mentor 由 **TSC 从社区资深成员中指派**(TSC 成员、SIG Chair/Tech Lead、或 TSC 认可的资深贡献者),每个孵化项目 1~2 名。 -- Mentor 以**个人身份**行事,不代表雇主;与项目捐赠方同属一个机构的成员**不担任**该项目的 Mentor。 +- Mentor 以**个人身份**行事,不代表雇主。捐赠方本人**不担任**自己项目的 Mentor;捐赠方为机构的,该机构及其关联机构的成员不担任该项目的 Mentor。 - Mentor 是辅导者与桥梁,**不是项目的决策者**——项目技术决策仍由其 maintainer 团队作出。 ## 2. 职责 diff --git a/incubator/projects/README.md b/incubator/projects/README.md index dc2b010..f1835bf 100644 --- a/incubator/projects/README.md +++ b/incubator/projects/README.md @@ -4,7 +4,7 @@ One directory per project, holding its full process records: ``` projects// -├── proposal.md # Donation proposal (from ../proposal-template.md), +├── proposal.md # Contribution proposal (from ../proposal-template.md), │ # with Final Acceptance and execution records appended ├── ip-checklist.md # Completed and verified IP clearance checklist copy └── reviews/ # Archived annual reviews (per ../annual-review-template.md) diff --git a/incubator/proposal-template.md b/incubator/proposal-template.md index aead65b..6a27cf8 100644 --- a/incubator/proposal-template.md +++ b/incubator/proposal-template.md @@ -1,4 +1,4 @@ -# Donation Proposal: +# Contribution Proposal: > **Language requirement:** All submitted content must be written in English. @@ -6,9 +6,9 @@ Copy this template to incubator/projects//proposal.md and submit as a PR (process in /incubator/README.md Section 6; questions to contact@flagos.io). - Fill in all fields truthfully — especially the "IP Status Disclosure" section. Issues disclosed early can be worked out; issues concealed will block acceptance at IP clearance. +Write "N/A" where a field does not apply; do not delete sections. --> ## Basic Information @@ -16,12 +16,12 @@ Issues disclosed early can be worked out; issues concealed will block acceptance - **Project name**: - **Website (if any)**: - **Current license**: -- **Donor & signing entity**: -- **Donor contact**: +- **Contributing party & signing entity**: +- **Contact**: -**Donation scope (repository list)**: +**Contribution scope (repository list)**: - | Repository | Description | @@ -30,7 +30,9 @@ Issues disclosed early can be worked out; issues concealed will block acceptance ## Project Description - + **Relationship to existing FlagOS projects**: + ==================== Contributing parties: please do not edit. ========================= --> ## Process Records diff --git a/incubator/sga-outline.md b/incubator/sga-outline.md index 9c8177b..fa61154 100644 --- a/incubator/sga-outline.md +++ b/incubator/sga-outline.md @@ -16,33 +16,33 @@ 1. **代码版权权利安排 / Code copyright arrangement** 具体权利模型——**转让、独占许可、或非独占且可再许可的永久授权**——由正式 SGA 针对每个项目确定(默认推荐:捐赠方保留版权,授予受赠方**永久、全球、非独占、免费、不可撤销、可再许可**的版权及专利许可)。无论采用何种模型,均须允许受赠方以 Apache-2.0(或 TSC 批准的其他出口许可证)对外分发。本条仅覆盖捐赠方自身有权处分的权利;历史外部贡献者保留的权利按 [IP 清理清单](ip-checklist.md)"贡献权利链"一节处理。 - The specific rights model — **assignment, exclusive license, or a non-exclusive perpetual sublicensable license** — is determined per project in the executed SGA (recommended default: the donor retains copyright and grants the recipient a **perpetual, worldwide, non-exclusive, royalty-free, irrevocable, sublicensable** copyright and patent license). Whichever model applies, it must permit outbound distribution under Apache-2.0 (or another TSC-approved license). This clause covers only rights the donor itself may dispose of; rights retained by historical external contributors are handled per the "Contribution Rights Chain" section of the [IP clearance checklist](ip-checklist.md). + The specific rights model — **assignment, exclusive license, or a non-exclusive perpetual sublicensable license** — is determined per project in the executed SGA (recommended default: the contributing party retains copyright and grants the recipient a **perpetual, worldwide, non-exclusive, royalty-free, irrevocable, sublicensable** copyright and patent license). Whichever model applies, it must permit outbound distribution under Apache-2.0 (or another TSC-approved license). This clause covers only rights the contributing party itself may dispose of; rights retained by historical external contributors are handled per the "Contribution Rights Chain" section of the [IP clearance checklist](ip-checklist.md). 2. **不可撤销承诺 / Irrevocability** 上述许可不因项目归档、捐赠方退出社区或双方合作终止而撤销或终止。 - The license granted survives project archiving, the donor's departure from the community, and termination of cooperation. + The license granted survives project archiving, the contributing party's departure from the community, and termination of cooperation. 3. **软件著作权登记 / Software copyright registration** 如项目已进行软著登记,捐赠方配合办理**与第 1 条约定的权利模型相对应**的登记或备案手续(转让登记 / 独占许可备案 / 许可备案),以满足国内司法实践中的权属证据要求。 - Where software copyright is registered, the donor cooperates in the registration or recording procedure **corresponding to the rights model agreed under Clause 1** (assignment registration / exclusive-license recording / license recording) to meet domestic ownership-evidence requirements. + Where software copyright is registered, the contributing party cooperates in the registration or recording procedure **corresponding to the rights model agreed under Clause 1** (assignment registration / exclusive-license recording / license recording) to meet domestic ownership-evidence requirements. 4. **商标 / Trademarks** 项目名称与 Logo 的已注册商标**转让**至受赠方,或授予独占许可;未注册的,捐赠方承诺不另行注册并配合受赠方注册。项目归档时商标可协商返还捐赠方。 - Registered trademarks for the project name and logo are **assigned** to the recipient, or exclusively licensed; for unregistered marks, the donor agrees not to register them separately and to assist the recipient's registration. Upon archiving, trademarks may be returned to the donor by negotiation. + Registered trademarks for the project name and logo are **assigned** to the recipient, or exclusively licensed; for unregistered marks, the contributing party agrees not to register them separately and to assist the recipient's registration. Upon archiving, trademarks may be returned to the contributing party by negotiation. 5. **权属声明与保证 / Ownership representations & warranties** 捐赠方声明:其有权作出本捐赠;所捐代码不侵犯第三方权利;已披露全部已知的第三方代码、专利与许可证义务;对外包代码与雇员职务作品已完成权属确认。 - The donor represents: it has the right to make this grant; the code does not infringe third-party rights; all known third-party code, patents, and license obligations are disclosed; ownership of outsourced code and employee works-for-hire has been confirmed. + The contributing party represents: it has the right to make this grant; the code does not infringe third-party rights; all known third-party code, patents, and license obligations are disclosed; ownership of outsourced code and employee works-for-hire has been confirmed. 6. **专利防御性终止 / Defensive patent termination** 任何一方(含捐赠方)就本项目对受赠方、贡献者或用户提起专利诉讼的,**该方基于本项目所获得的全部专利许可**(含依出口许可证 Apache-2.0 第 3 条获得的专利授权)自诉讼提起之日终止。具体机制由法务定稿时确定:直接依赖出口许可证 Apache-2.0 第 3 条,或在 SGA 中另行设计双向专利许可及其终止条款——若选后者,须先明确授予对象与范围。 - If any party (including the donor) initiates patent litigation over the project against the recipient, contributors, or users, **all patent licenses that party has received for the project** (including those under Apache-2.0 §3 of the outbound license) terminate as of the filing date. Legal counsel will settle the exact mechanism at drafting: rely directly on Apache-2.0 §3 of the outbound license, or design a reciprocal patent grant with its own termination clause in the SGA — in the latter case, the grantees and scope must be defined first. + If any party (including the contributing party) initiates patent litigation over the project against the recipient, contributors, or users, **all patent licenses that party has received for the project** (including those under Apache-2.0 §3 of the outbound license) terminate as of the filing date. Legal counsel will settle the exact mechanism at drafting: rely directly on Apache-2.0 §3 of the outbound license, or design a reciprocal patent grant with its own termination clause in the SGA — in the latter case, the grantees and scope must be defined first. 7. **无附加义务 / No further obligations** 受赠方不承担继续开发、维护或推广项目的义务;捐赠不构成任何形式的商业对价或背书承诺。 - The recipient assumes no obligation to continue developing, maintaining, or promoting the project; the donation constitutes no commercial consideration or endorsement. + The recipient assumes no obligation to continue developing, maintaining, or promoting the project; the contribution constitutes no commercial consideration or endorsement. 8. **附件 / Schedules** - - 附件 A:捐赠代码范围(仓库列表、commit 哈希基线)/ Schedule A: donated code scope (repository list, baseline commit hashes) + - 附件 A:捐赠代码范围(仓库列表、commit 哈希基线)/ Schedule A: contributed code scope (repository list, baseline commit hashes) - 附件 B:已披露的第三方组件与许可证清单 / Schedule B: disclosed third-party components and licenses - 附件 C:商标、域名及账号资产清单 / Schedule C: trademarks, domains, and account assets