Switch repository licensing to AGPL-3.0
This commit is contained in:
+3
-3
@@ -235,8 +235,8 @@ curl -s http://127.0.0.1:8000/api/system/status | python3 -m json.tool
|
||||
docker compose logs -f polyweather | egrep "payment event loop started|payment confirm loop started|payment auto-confirmed"
|
||||
```
|
||||
|
||||
## 10. 开源口径说明
|
||||
## 10. AGPL 与公开口径说明
|
||||
|
||||
对外公开文档仅覆盖通用 API 契约。生产商业策略参数不在公开文档披露。
|
||||
本仓库代码自 `2026-03-30` 起采用 `AGPL-3.0-only`。对外公开文档仅覆盖通用 API 契约;生产商业策略参数、私有运营阈值与托管服务能力不在公开文档披露。
|
||||
|
||||
详见:[Open-Core 与商用边界](OPEN_CORE_POLICY.md)
|
||||
详见:[AGPL-3.0 与商用边界](OPEN_CORE_POLICY.md)
|
||||
|
||||
@@ -41,14 +41,14 @@ PolyWeather 是面向温度结算场景的气象决策层,不是通用天气
|
||||
|
||||
> 说明:具体运营策略可按阶段调整,生产参数建议放私有仓库。
|
||||
|
||||
## 5. 建议的开源边界
|
||||
## 5. 许可证与商用边界
|
||||
|
||||
请按 Open-Core 执行:
|
||||
当前仓库代码采用 `AGPL-3.0-only`:
|
||||
|
||||
- 开源:基础能力与通用支付流程。
|
||||
- 私有:商业风控、营销策略、关键运营参数、内部审计策略。
|
||||
- 公开:基础能力与通用支付流程源码。
|
||||
- 不随代码许可证授权:商业风控、营销策略、关键运营参数、内部审计策略、品牌与托管服务资产。
|
||||
|
||||
详见:[Open-Core 与商用边界](OPEN_CORE_POLICY.md)
|
||||
详见:[AGPL-3.0 与商用边界](OPEN_CORE_POLICY.md)
|
||||
|
||||
## 6. 上线检查清单(收费前)
|
||||
|
||||
|
||||
+30
-48
@@ -1,63 +1,45 @@
|
||||
# Open-Core 与商用边界
|
||||
# AGPL-3.0 与商用边界
|
||||
|
||||
最后更新:`2026-03-14`
|
||||
最后更新:`2026-03-30`
|
||||
|
||||
## 1. 目标
|
||||
## 1. 当前许可证
|
||||
|
||||
在保持社区可用性的前提下,保护商业化阶段的核心经营资产。
|
||||
- 本仓库代码自 `2026-03-30` 起采用 **GNU Affero General Public License v3.0 only**(`AGPL-3.0-only`)。
|
||||
- 该许可证适用于仓库中未另行声明许可证的源代码与文档。
|
||||
- 如果你修改本项目并通过网络向用户提供服务,需按 AGPL 第 13 条向用户提供对应源码。
|
||||
|
||||
## 2. 仓库公开范围(可开源)
|
||||
## 2. 旧版本说明
|
||||
|
||||
- 天气数据采集与标准化(METAR / Open-Meteo / MGM 接口层)。
|
||||
- DEB 与基础趋势分析、概率桶计算。
|
||||
- Dashboard 基础体验与 API/BFF 结构。
|
||||
- Telegram Bot 基础命令与基础积分机制。
|
||||
- 合约支付标准流程(钱包绑定、intent、提交、确认、补单)。
|
||||
- 在本次切换前已经发布的 MIT 版本,仍按其原始许可证生效。
|
||||
- 本次变更不会追溯撤销既往已发布版本的 MIT 授权。
|
||||
|
||||
## 3. 生产私有范围(建议不公开)
|
||||
## 3. 仓库公开范围
|
||||
|
||||
- 商业风控参数与规则库:
|
||||
- 错价信号阈值组合、推送阈值、异常检测策略。
|
||||
- 运营策略资产:
|
||||
- 用户分层规则、促销规则、留存策略、活动模板。
|
||||
- 付费系统敏感细节:
|
||||
- 实时对账容错阈值、退款审计策略、内部财务映射规则。
|
||||
- 私有运维资产:
|
||||
- 生产告警路由、内部频道映射、应急脚本与排障手册。
|
||||
- 天气数据采集与标准化(METAR / Open-Meteo / MGM / 官方结算源接口层)。
|
||||
- DEB、基础趋势分析、概率桶、历史对账、前端看板与 Bot 基础能力。
|
||||
- 标准支付流程、链上收款合约与公开 API/BFF 结构。
|
||||
|
||||
## 4. 配置与数据安全红线
|
||||
## 4. 不在仓库许可证授权范围内的资产
|
||||
|
||||
- 不提交:`.env`、私钥、API key、机器人 token。
|
||||
- 不提交:生产数据库、运行时状态文件、支付流水快照。
|
||||
- 不提交:用户身份信息、钱包映射、订阅原始审计日志。
|
||||
- 商标、品牌名、域名、Logo、商店素材与市场宣传文案。
|
||||
- 生产数据库、用户资料、钱包映射、订阅审计日志、内部报表。
|
||||
- 私有运营脚本、增长工具、内部风控参数、收费策略细节与内部阈值。
|
||||
- 托管服务本身、SLA、客服、运维值守与内部告警路由。
|
||||
|
||||
## 5. 推荐发布模式
|
||||
## 5. 配置与数据安全红线
|
||||
|
||||
### 5.1 Community Edition(开源)
|
||||
- 不提交:`.env`、私钥、API key、机器人 token、第三方 service role key。
|
||||
- 不提交:生产数据库、运行态快照、支付流水快照、用户身份信息。
|
||||
- 不提交:仅用于线上商业判断的私有规则库与内部操作手册。
|
||||
|
||||
- 提供基础分析与基础看板。
|
||||
- 可选保留只读市场扫描。
|
||||
- 默认关闭商业化运营规则。
|
||||
## 6. 对部署者的要求
|
||||
|
||||
### 5.2 Production Edition(私有)
|
||||
- 若你提供公开网络服务,应在产品界面中提供清晰可访问的源码入口。
|
||||
- 若你修改了本项目再对外提供网络服务,应公开与你实际运行版本对应的源码。
|
||||
- 若你使用了仓库外的私有数据、商标或运营资产,这些额外资产不因 AGPL 自动获得授权。
|
||||
|
||||
- 启用收费、订阅、积分抵扣、风控、私有监控。
|
||||
- 仅在私有仓库维护运营策略与敏感参数。
|
||||
## 7. 法务与运营建议
|
||||
|
||||
## 6. 文档口径规范
|
||||
|
||||
对外文档仅描述:
|
||||
|
||||
- 能力边界与使用方式。
|
||||
- 可公开的技术架构。
|
||||
- 不包含可被直接复刻的商业参数。
|
||||
|
||||
不对外文档描述:
|
||||
|
||||
- 具体策略阈值、用户分层细则、收益归因规则。
|
||||
|
||||
## 7. 许可证与法务建议(简版)
|
||||
|
||||
- 建议保持仓库代码许可证与商标/品牌授权分离。
|
||||
- 若提供商业服务,建议在官网补充服务条款与隐私政策。
|
||||
- 对“订阅权益”与“可用性”做明确 SLA 与免责边界。
|
||||
- 代码许可证与商标/品牌授权应继续分离管理。
|
||||
- 官网应补充服务条款、隐私政策与付费权益说明。
|
||||
- 若后续接受外部贡献,再次调整许可证前应先确认贡献者版权归属与再许可条件。
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
## 执行摘要
|
||||
|
||||
PolyWeather(仓库:`yangyuan-zhen/PolyWeather`)定位为**面向温度类结算预测市场(如 Polymarket 的温度结算合约)**的“生产级气象情报系统”,核心在于把多源天气观测/预报转化为**结算导向的概率桶(μ + bucket distribution)**,并进一步映射到市场报价完成**错价扫描**;同时提供 Web 仪表盘与 Telegram Bot 两套交互入口,并包含 Polygon 链上 USDC/USDC.e 支付、自动补单与订阅/积分体系。项目 README 明确其“Open-Core”边界:仓库公开天气聚合、基础分析、看板、Bot、标准支付流程;生产私有部分包含商业风控、阈值与运营工具等。
|
||||
PolyWeather(仓库:`yangyuan-zhen/PolyWeather`)定位为**面向温度类结算预测市场(如 Polymarket 的温度结算合约)**的“生产级气象情报系统”,核心在于把多源天气观测/预报转化为**结算导向的概率桶(μ + bucket distribution)**,并进一步映射到市场报价完成**错价扫描**;同时提供 Web 仪表盘与 Telegram Bot 两套交互入口,并包含 Polygon 链上 USDC/USDC.e 支付、自动补单与订阅/积分体系。项目 README 现明确仓库代码采用 `AGPL-3.0-only`,同时将品牌、商标、生产私有数据与运营阈值保留在代码许可证之外。
|
||||
从工程实现看,截至 `2026-03-21`,项目已经完成一轮明确的工程化收口:多源天气采集仍保持现有业务能力,同时已完成采集层与 Web API 大文件拆分、CI 质量门禁、配置分级(`.env.example` / `.env.secrets.example` / 中文部署文档)、EMOS/CRPS 校准链路、运行态状态与缓存向 SQLite 的渐进迁移,以及基础可观测性接口(`/healthz`、`/api/system/status`、`/metrics`)。
|
||||
这意味着报告里最初最突出的“工程地基缺失”问题,已经有一部分被关闭:`src/data_collection/weather_sources.py` 与 `web/app.py` 不再是原来的超大单文件;GitHub Actions 已覆盖 Python、前端和 Docker build;配置与密钥治理已成体系;运行态状态不再只能依赖 JSON/JSONL 文件;EMOS 也不再只是概念,而是进入了可训练、可评估、可 shadow、可门禁判断的阶段。
|
||||
但项目仍处在“从可用走向稳态”的中段,而不是终局。当前真正的高优先级问题已收敛为三类:第一,**SQLite 迁移仍处于推荐的 dual 过渡模式**,线上真正切主读路径前仍需跑一段时间验证;第二,**可观测性只完成了轻量级指标层**,还没有形成完整的外部监控、阈值告警与趋势面板;第三,**EMOS 仍未达到生产切换标准**,当前门禁结论明确为 `hold`,阻塞原因是 shadow bucket brier 明显退化。支付链路方面,链下审计与容灾已明显增强:事件重放、SQLite 审计事件、RPC 多节点容灾、合约静态检查、`/ops` 支付异常单、按邮箱恢复脚本都已补齐;当前剩余风险主要集中在**链上合约本身仍是最小实现**,尚未升级到 SafeERC20、Pausable、链上套餐绑定等更强防护版本。
|
||||
@@ -18,7 +18,7 @@ DEB(Dynamic Error Balancing)基于过去 N 天模型误差(MAE)倒数加
|
||||
**市场层(Polymarket 行情对照)**:只读模式从 Gamma API 发现市场、从 CLOB(`py-clob-client` 或 REST 回退)读取价格/盘口并计算 edge(模型概率 − 市场概率)生成信号标签。
|
||||
**商业化与支付**:订阅(`Pro Monthly 5 USDC`)、积分抵扣、Polygon 链上收款合约(USDC/USDC.e),并提供“事件监听 + 周期确认”的自动补单机制。
|
||||
**支持的数据集/数据源**:项目不是传统“训练数据集+模型训练”的机器学习仓库;其“数据集”本质是外部实时/预报 API 与站点观测数据。对外部数据的使用需要遵守来源方的访问与速率限制,例如 AviationWeather Data API 明确限制请求频率(含每分钟请求上限/建议降低频率与使用缓存文件)。
|
||||
**许可证**:仓库根目录 `LICENSE` 为 MIT。 同时 README 强调 Open-Core 策略与生产私有组件边界,意味着“可复现/可审计”的范围以公开部分为准。
|
||||
**许可证**:仓库根目录 `LICENSE` 当前为 `AGPL-3.0-only`。同时 README 与策略文档明确:品牌、商标、生产私有数据与运营策略不随代码许可证一并授权。
|
||||
(插图:项目 README 中包含产品截图,可用于快速理解信息架构与 UI 形态)
|
||||

|
||||
|
||||
@@ -147,7 +147,7 @@ Web/Telegram 请求 → FastAPI 调用采集器抓取/复用缓存 → 分析引
|
||||
项目强依赖外部 API(Open-Meteo、AviationWeather、NWS、HKO、CWA、Polymarket、Supabase)。其中 AviationWeather Data API 有明确速率限制;Polymarket 官方说明 Gamma/Data/CLOB 三套 API 分属不同域,CLOB 交易端点需鉴权且策略可能变化;Supabase 明确强调 `service_role`/secret keys 绝不可暴露。若缺乏集中治理(重试/退避/熔断/降级/配额监控/密钥轮换),稳定性与合规不可控。
|
||||
**可观测性已起步,但仍不构成完整监控体系**:项目现在已有 `/healthz`、`/api/system/status`、`/metrics`,并为 HTTP 与关键第三方源增加了轻量指标;但仍缺少 Prometheus/Grafana 级别的外部抓取、告警阈值、趋势面板和运行日报。这部分现在属于“已开始,不算完成”。
|
||||
**EMOS 已完成工程接入,但未完成生产发布**:EMOS/CRPS 校准、shadow 观测、rollout report、上线门禁都已实现;当前真实门禁结果为 `hold`,阻塞原因是 shadow bucket brier 明显退化。因此概率引擎标准化并非未做,而是“工程完成、发布未通过”。
|
||||
**许可证/商业使用的潜在冲突点**:仓库自身是 MIT,但如果未来尝试引入外部 AI 预报模型,需要非常谨慎:GraphCast 仓库代码 Apache-2.0,但权重使用 CC BY-NC-SA 4.0(非商业),Pangu-Weather 权重同样 BY-NC-SA 且明确禁止商业用途;不加区分地把这些模型用于付费产品会留下法律风险。
|
||||
**许可证/商业使用的潜在冲突点**:仓库自身现为 `AGPL-3.0-only`,但如果未来尝试引入外部 AI 预报模型,仍需单独核验第三方代码与权重的商用条件:GraphCast 仓库代码 Apache-2.0,但权重使用 CC BY-NC-SA 4.0(非商业),Pangu-Weather 权重同样 BY-NC-SA 且明确禁止商业用途;不加区分地把这些模型用于付费产品会留下法律风险。
|
||||
## 对标分析
|
||||
|
||||
为满足“至少 3 个相似开源项目或近期论文”对标,本报告选择三类代表:
|
||||
@@ -158,7 +158,7 @@ Web/Telegram 请求 → FastAPI 调用采集器抓取/复用缓存 → 分析引
|
||||
|
||||
| 项目/论文 | 解决的问题 | 输出形态 | 性能/效果(公开描述) | 易用性与依赖 | 许可证要点 |
|
||||
| --------------------------------------------------------- | ---------------------------------------------------- | ------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- |
|
||||
| **PolyWeather**(本仓库) | 温度结算市场气象情报:多源→概率桶→错价扫描→订阅/支付 | 生产级应用(Web+Bot+API+支付) | 以工程能力为主;内置 DEB、概率桶、死盘判定、市场扫描;覆盖 20 城市。 | 主要依赖外部 API;Docker Compose 一键启动。 | 仓库 MIT;Open-Core(部分生产规则私有)。 |
|
||||
| **PolyWeather**(本仓库) | 温度结算市场气象情报:多源→概率桶→错价扫描→订阅/支付 | 生产级应用(Web+Bot+API+支付) | 以工程能力为主;内置 DEB、概率桶、死盘判定、市场扫描;覆盖 20 城市。 | 主要依赖外部 API;Docker Compose 一键启动。 | 仓库 `AGPL-3.0-only`;品牌、生产私有数据与运营规则不随代码许可证授权。 |
|
||||
| **GraphCast**(google-deepmind/graphcast) | 10 天全球中期预报(ML 替代/增强 NWP) | 模型代码+权重+notebooks | 论文与介绍提到在大量指标上优于主流确定性系统;仓库提供预训练权重与示例数据入口,并提示 ERA5/HRES 数据条款需另行遵守。 | 完整训练需 ERA5 等;更适合科研/平台级推理,不是产品级 BFF。 | 代码 Apache-2.0;权重 CC BY-NC-SA 4.0(商业限制)。 |
|
||||
| **FourCastNet**(NVlabs/FourCastNet) | 高分辨率 data-driven 全球预报(AFNO/ViT) | 模型训练/推理代码+数据/权重链接 | README 描述:0.25° 分辨率、周尺度推理非常快,并可做大规模集合;适合平台型预报。 | 训练/数据依赖大(ERA5 子集 TB 级);工程集成成本高。 | BSD 3-Clause(代码)。 |
|
||||
| **Pangu-Weather**(198808xc/Pangu-Weather + Nature 论文) | 3D Transformer 架构的中期全球预报 | ONNX 推理代码+预训练模型 | Nature 论文称在 reanalysis 上对比 IFS 有更强确定性预报表现,并强调速度优势;仓库提供 ONNX 推理与 lite 版训练说明。 | 模型文件大(多份 ~GB 级),训练资源需求高;更适合科研推理或内部平台。 | 权重 BY-NC-SA 4.0、明确禁止商业用途。 |
|
||||
@@ -244,7 +244,7 @@ PolyWeather 的评测应围绕“结算场景”而非传统数值天气预报
|
||||
**密钥泄露与权限滥用**:Supabase 明确强调 `service_role` 属高权限密钥,绝不可出现在前端或公开环境。缓解:密钥分级、CI secret scan、运行时最小权限、日志脱敏。
|
||||
**支付链路最终一致性与链上不确定性**:链上事件索引延迟、RPC 不稳定、交易确认数不足都会导致误判。当前项目已经补齐“事件监听 + 确认补单”双路径、事件重放脚本、SQLite 审计事件与多 RPC fallback;现阶段的主要剩余风险不再是“没有防护”,而是链上合约仍为最小实现,owner 为单地址管理,且没有 pause 开关与 SafeERC20。
|
||||
**引入外部 AI 预报模型的商业合规风险**:GraphCast/Pangu-Weather 的权重许可均带非商业限制(CC BY-NC-SA/BY-NC-SA);若 PolyWeather 是付费产品,必须先做法务与授权评审。缓解:只在研究环境评估;商用优先选择可商用权重/购买授权/自研。
|
||||
**Open-Core 边界导致的“公开仓库与生产行为不一致”**:README 明确生产存在私有风控与阈值。缓解:把“公开核心”的可复现与评测做扎实(接口/数据 schema/测试/评测),私有策略只作为可插拔 policy layer 接入。
|
||||
**代码公开与生产私有资产边界导致的“公开仓库与生产行为不一致”**:README 明确品牌、商标、生产私有数据与运营阈值不在代码许可证授权范围内。缓解:把“公开核心”的可复现与评测做扎实(接口/数据 schema/测试/评测),私有策略只作为可插拔 policy layer 接入。
|
||||
## 参考链接
|
||||
|
||||
- PolyWeather 仓库(本次评估对象):https://github.com/yangyuan-zhen/PolyWeather
|
||||
|
||||
Reference in New Issue
Block a user