## **Oracle 免费版数据库(RPM / Docker)的授权范围** 这就是俗称的 Oracle Free / Oracle Database Free (23c Free)。 它的授权规则是: **✓ 任何人都可以免费使用,商用也可以** Oracle 官方明确:Oracle Database Free 可以用于开发、测试、部署、生产环境,商业用途也不收费。 只要你使用的是以下版本: * Oracle Database Free for Linux(RPM 安装包) * Oracle Database Free for Docker(官方镜像) * Oracle Database Free for Windows(zip 安装包) * Oracle Database XE(11g XE、18c XE,但现在已被 Free 取代) 这些都是 0 授权费用。 **✓ 允许在免费数据库上安装并免费使用 APEX**   Oracle APEX 从 2006 年开始就是: Oracle 免费产品,包含:安装、开发、部署、商用。 关键点: * APEX 不收费 * APEX Runtime 不收费 * APEX 自带的 REST(Embedded ORDS)也不收费 * 免费数据库中带的所有特性(比如 JSON、PL/SQL、自动索引-lite)也不收费 **⚠️ 但免费数据库本身有功能限制** 这些限制是 Oracle 用来区分 Free 与 Enterprise Edition 的手段,例如: * 最大可用内存 2GB * 单实例数据库 * 不支持 RAC * 不支持 Data Guard * 不支持并行执行 * 不支持全套企业版特性(如高级安全、分区等) 但对于 APEX 应用开发来说,这些大多数不是硬限制。 所以结论: 👉 你完全可以在 Oracle Database Free 上免费搭建 APEX + ORDS + Nginx,全程 0 成本可商用 --- ## **基于 APEX 开发的应用所有权归谁?能否申请软著?能否售卖?** **✓ APEX 是一个开发平台,平台本身不干涉代码所有权** 你写的: * PL/SQL 包 * Oracle 表/视图/权限体系 * APEX 应用(Static Files、JS/CSS、Page、Region、Process…) * 业务逻辑、UI 逻辑 全部归你自己。Oracle 不干涉。 **✓ 可以申请软件著作权** 很多企业用 APEX 做产品,也都申请了软著(软件著作权),这是独立的知识产权。 申请软著的重点在于: * 你提交的应用逻辑代码必须是你原创的 * 数据库对象设计必须是你设计的 * APEX 只是开发工具,不影响权利归属 现实案例有很多(国内外都有 APEX SaaS 产品拿了软著)。 **✓ 可以售卖给第三方** Oracle 不限制你: * 售卖你的 APEX 应用 * 售卖源码 * 做成 SaaS 产品 * 挂到 Marketplace * 做成教育课程 * 在 APEX 基础上构建商用系统 你只需要确保: * 对方使用的平台(数据库/ORDS)本身遵守 Oracle 的授权规则 * 你的产品本身不包含未经授权的 Oracle 软件文件打包再分发(例如 ORDS.jar,数据库二进制等) 你的 APEX 应用本质上是你自己的软件产权,不属于 Oracle。 --- ## **你无法控制、受 Oracle 约束的授权内容是什么?** 这里是最容易踩雷的地方,我会讲得实实在在: **① Oracle 数据库的版本** * 你用 Free / XE → 永远免费 * 你用 Standard Edition(SE)或 Enterprise Edition(EE) → 必须付费 且一旦使用某些企业版特性: * 分区 * 高级安全 * 高级压缩 * OLAP * In-Memory * Data Guard * RAC Oracle 可能会审计你是否启用付费功能。 **② ORDS 的授权(如果对外提供 REST)** 如果你以 Web Server 模式使用 ORDS: * 作为 APEX 前端(应用展示) → 免费 * 作为 REST API Gateway 给第三方访问 → 可能涉及收费(见下一节) **③ 禁止重新分发 Oracle 软件** 你不能把: * Oracle 数据库安装包 * ORDS jar * APEX 安装 zip * Oracle JDBC jar 打包到你售卖的应用程序里直接提供给客户。 客户必须: * 自己从 Oracle 官网下载 * 或自己有 Oracle 授权 你提供你的应用即可。 **④ Oracle 云服务的计费模式** 使用 OCI APEX(免费的 Always Free)也 ok, 但如果你使用额外的付费资源(如 ATP、Object Storage 超限、LB、OCPU 增加),则按照 OCI 费用计费。 --- ## **ORDS 的收费规则** ORDS 的授权逻辑有一个简单的金科玉律: 作为 APEX 的 Web 层使用 ORDS → 永远免费 作为 REST API 中间层给外部访问 → 取决于数据库授权 我拆成两个场景说: **场景 A:你用 ORDS 只为了运行 APEX** 也就是: * ORDS + Tomcat/Nginx * 浏览器访问 APEX * 一般的 APEX 页面交互、Process、Dynamic Action * APEX 自己的 PL/SQL API 调用 **✓ 完全免费** 无论你的数据库是: * Free * XE * Standard Edition * Enterprise Edition 只要你把 ORDS 当成 APEX 的 Web Server,就不用付钱。 Oracle 明确写在 Licensing Guide 和 APEX 官方 FAQ 中。 **场景 B:你让 ORDS 对外暴露 REST API,让第三方访问你的数据** 比如: * /ords/hr/employees/ → 给其他公司调用 * /ords/custom\_api/get\_orders → 给外部系统提供 API * 把 ORDS 当 API Gateway 用 那么规则变成: **关键判断:底层数据库是免费还是收费版?** **情况 1:底层数据库 = Oracle Free / XE** 👉 对外暴露 REST 也免费 因为 Free/XE 的授权已经包含全部 ORDS 使用。 **情况 2:底层数据库 = SE / EE** 👉 必须按照数据库授权计费 为什么?因为 ORDS = “数据库访问方式”,不单独收费,但外部访问量属于数据库使用范围。也就是说: * 按核数 * 按 Named User Plus * 按服务器数量 * 按 CPU(如果 EE + RAC) 这时 ORDS 本身不收费,但数据库授权会收费。 --- ## **最终结论** **✓ Oracle Database Free + APEX + ORDS** * 你完全可以免费商用 * APEX 应用 100% 归你所有 * 可以申请软著 * 可以售卖 * 可以部署 SaaS * 不会触发任何 Oracle 审计风险 这是目前全世界 APEX 开发者最爱的“0 成本商业平台”方案。 **✓ 如果你使用的是 SE/EE → 必须遵守数据库授权** 但这和 APEX、ORDS 不直接收费。 **✓ ORDS 本身永远不收费** 收费与否取决于数据库授权,而不是 ORDS 软件。 --- ## Oracle APEX 补丁下载和使用有什么限制? **1)Oracle APEX 补丁本身是免费的** 这是第一原则: APEX 是 Oracle 免费产品,补丁本身也免费,不单独收费。 也就是说: * 补丁不收费 * 不区分免费/付费数据库 * 不会因为你在商用场景使用 APEX 补丁而收费 但是—— * 补丁 免费不等于你可以从任何渠道获取。 * 补丁的使用权 ≠ 补丁文件的获取权。 这两个是不同的法律含义。 **2)补丁必须来自 Oracle 官方渠道才是“合法授权可使用”** Oracle 规定“合法获得的软件”,才能合法使用。 APEX 补丁目前只有三种官方合法渠道: **✓ 官方 APEX Download 页面** https://apex.oracle.com/download/ 例如: * 完整安装包(内含最新补丁) * Release Update(RU)补丁已经直接包含在安装包中(24.2 开始就是这种) 这种情况:完全合法,不需要 My Oracle Support 账号。 **✓ Oracle Autonomous Database(云服务自动补丁)** 如果你用 OCI ATP/ADW/Free Tier: * APEX 补丁由 Oracle 自动维护 * 不需要你下载 * 当然是合法授权 **✓ My Oracle Support (MOS)** 用于: * 针对某些旧版本(如 21.x / 22.x)的 Patch Set Bundle * 针对企业客户的安全补丁 如果你有有效的数据库支持协议: * 可以合法下载、安装、使用补丁 **3)来自“其他渠道”的补丁 = 授权不合法** 比如: * 别人发给你 ZIP * 在非官方论坛找到压缩包 * 某个QQ群里的补丁文件 * 某些“镜像站” * GitHub 上有人上传的 这些都属于未经授权的软件分发。 结论非常明确:只要补丁文件来源不是官方渠道,即使补丁本身免费,你也无权使用。 原因很简单: * 补丁 = Oracle 软件 * Oracle 软件只能通过 Oracle 官方授权渠道分发 * 你使用非官方来源补丁 = 使用“盗版/未授权软件” 这在法律上叫做:Unauthorized Software Distribution / Use Oracle 对这类事情在审计中态度很严格。 **4)那么:补丁本身是否收费?** 不收费,是免费的,但“免费” ≠ “任何来源都能用”。 你可以理解为: * 价格 = 免费 * 许可 = 必须合法渠道获取 **5)使用非官方补丁可能导致的风险** **① 法律风险** 使用未经授权的软件 → 属于违反 Oracle License Agreement 企业审计会直接判定为 unauthorized use。 **② 安全风险** 非官方补丁可能被修改: * 带后门 * 带木马 * 插入恶意 PL/SQL * 增加隐蔽用户 * 在 ORDS 映射里加入恶意 REST 端点 **③ 技术风险** 非官方补丁可能: * 与当前 APEX 版本不匹配 * PL/SQL 脚本被改动 * APEX Workspace 元数据不一致 * 出现“内部错误”、“包校验失败” Oracle Support 遇到错误时会反问:Did you install the patch from MOS or apex.oracle.com?  如果你回答不能确认,Support 将拒绝服务。 **6)如果你没有 MOS 账号,但需要补丁怎么办?** Oracle APEX 官方的策略是:从 23.1 之后,APEX 所有补丁都被打包进完整安装包。 直接下载最新版本的完整包 = 已经包含最新补丁 (有待验证) ✔ 这样你不需要 MOS,仍然合法、安全、免费。 如果你现在用的版本是旧的(如 19.2、21.x、22.x),可选方案: 1)升级到新版本(24.1 / 24.2):无需 MOS、无需授权。 2)如果必须用旧版本,只能通过 MOS 获取补丁。 没有 MOS → Oracle 不提供补丁获取途径 → 你不能合法下载、安装。这就是它的授权边界。 --- ## **关于APEX补丁的最终总结** **APEX 补丁本身:免费使用** **补丁的合法性:必须来自 Oracle 官方渠道** 合法渠道有: 1. apex.oracle.com/download(推荐) 2. Oracle Autonomous Database 自动补丁 3. My Oracle Support(需企业付费支持协议) 任何 非官方来源的补丁都是“无授权使用”,即便补丁本身不收费。