授权与合规约束
PyPRT / CityEngine PRT / RPK 的许可边界逐条解读
1. PyPRT 的免费范围
Esri PyPRT 是 CityEngine PRT(Procedural Runtime)的 Python 绑定,官方授权允许以下用途免费使用:
- 个人学习、实验与研究。
- 教育机构的教学与学术研究。
- 非商业性质的项目与 Demo。
简言之,免费许可面向“自用”和“非商业”场景,不覆盖面向第三方的商业服务。
2. 商业使用的硬性条件
若将 PyPRT / PRT 用于商业用途,授权条款要求:
- 组织内部必须安装至少一份有效的 CityEngine 商业许可。
- CityEngine 许可通常按席位/年订阅,价格较高且受区域与行业版本限制。
- 商业使用范围一般限定于该组织内部或该许可持有方的项目交付。
这意味着,即使 Urban 公司自己买了一套 CityEngine,也不能自然地把 PyPRT 执行能力卖给全网用户。
3. Web Service 禁令
Esri 对 PRT/PyPRT 的再分发与网络服务有明确限制:
- 禁止未经授权将 PyPRT 或 PRT 运行时代码再分发给第三方。
- 禁止未经授权通过 Web Service、API、SaaS 等形式向外部用户提供 PRT 执行能力。
- 如果客户通过 Urban 的接口上传 RPK 并获取 GLB,执行发生在平台服务器,则落入该禁令范围。
“向公众或订阅客户提供 CityEngine procedural runtime 的在线执行能力,需要 Esri 的书面商业授权。”
4. RPK 文件本身的版权
RPK 是 CGA 规则编译后的二进制包,其版权归属规则创作者:
- 平台若聚合第三方 RPK,需要明确取得上传者的分发/销售授权。
- 创作者可设置自己的许可协议(MIT、商业独占、按项目授权等),平台需配合展示与执行。
- 禁止上传盗版、破解或包含 Esri 示例资源二次封装后违规销售的 RPK。
5. 对 Urban 的影响
| 业务动作 | 风险等级 | 说明 |
|---|---|---|
| 用户下载 RPK 后在本地 CityEngine/PyPRT 使用 | 低 | 用户自行承担授权责任 |
| 平台提供 PyPRT 在线执行 API | 高 | 违反 Web Service 禁令 |
| 企业购买本地部署包,在自有服务器+CityEngine许可运行 | 低 | 执行端授权由客户负责 |
| 平台定制 RPK 并交付给客户 | 中 | 需确认交付场景在客户许可范围内 |
6. 合规建议
- 在网站显著位置声明:平台不对第三方 RPK 的授权合规性负责,执行端需用户自行取得 CityEngine/PyPRT 许可。
- 任何云端执行服务上线前,先与 Esri 或本地代理商取得书面授权。
- 优先发展“文件交易”和“企业本地部署”两类低合规风险业务。
- 保留所有授权沟通记录,避免口头承诺。