Q:华为高斯数据库200 基本抄的 PostgreSQL 9.2.4 抄的部分不开源且商用 违反开源协议吗
华为高斯数据库(GaussDB)200 是基于 PostgreSQL 9.2.4 开发的,其合规性需结合 PostgreSQL 的开源协议(PostgreSQL License)来分析。以下是关键点解析:
1. PostgreSQL 的协议核心
PostgreSQL 采用 PostgreSQL License(类似 BSD/MIT 协议),核心条款包括:
-
允许商用闭源:可自由修改代码并闭源发布,无需开源衍生作品。
-
需保留版权声明:若直接使用 PostgreSQL 代码,需在软件中明确标注原始版权信息(如源码、文档或界面中)。
-
无“传染性”:不要求衍生作品必须采用相同协议开源。
因此,华为基于 PostgreSQL 开发闭源商业产品本身不违反协议,前提是遵守版权声明要求。
2. 华为 GaussDB 200 的合规性分析
(1)是否需开源修改部分?
-
否。PostgreSQL License 不要求衍生作品开源,即使华为修改了 PostgreSQL 的代码,只要保留原版权声明,闭源商用是合法的。
-
对比 GPL 协议:若基于 GPL 协议(如 Linux),闭源商用则违反协议,但 PostgreSQL License 无此限制。
(2)华为是否标注了 PostgreSQL 版权?
-
公开信息显示已标注:在 GaussDB 的官方文档和开源分支(openGauss)中,华为明确声明了其对 PostgreSQL 的继承关系,并保留了原始版权声明。
-
风险点:若华为在闭源版本中删除或未标注 PostgreSQL 的版权信息,则违反协议,但目前无公开证据表明存在此行为。
3. 为何存在“违反协议”争议?
争议通常源于对 开源协议类型 的误解:
-
误将 PostgreSQL 协议与 GPL 混淆:GPL 要求衍生作品开源,但 PostgreSQL License 无此要求。
-
对“开源精神”的伦理争议:部分开发者认为“基于开源项目闭源牟利”违背开源精神,但法律上合规。
4. 华为的具体做法
-
开源与闭源并行:
-
将部分改进回馈社区(通过 openGauss 项目,基于 PostgreSQL 9.2.4 优化并开源)。
-
闭源商业版本(GaussDB 200)包含企业级增强功能(如分布式架构、安全加密等)。
-
-
合规性保障:
-
在 openGauss 中保留 PostgreSQL 版权声明。
-
商业版本中通过技术手段(如架构分层)隔离自研代码与 PostgreSQL 基础代码,避免协议传染。
-
5. 同类案例对比
公司/产品 | 基于的开源项目 | 是否闭源商用 | 合规性 |
---|---|---|---|
华为 GaussDB | PostgreSQL | 是 | 合法(BSD协议) |
AWS Aurora | MySQL/PostgreSQL | 是 | 合法(GPL例外*) |
阿里云 PolarDB | MySQL/PostgreSQL | 是 | 合法 |
* MySQL 使用 GPL 协议,但通过“云服务豁免”条款允许闭源(如 AWS 的 Aurora)。
结论
-
法律层面:华为 GaussDB 200 的闭源商用行为 不违反 PostgreSQL License,前提是保留原始版权声明。
-
伦理层面:存在“利用开源社区成果却未充分回馈”的争议,但这属于商业策略选择,而非法律问题。
建议:
-
开发者使用开源代码时,需仔细阅读协议条款(如 MIT/BSD 允许闭源,GPL 要求开源)。
-
企业可参考华为模式,通过开源部分代码(如 openGauss)回馈社区,同时保留核心功能闭源以维持商业竞争力。