MySQL 开源证书真比 Postgres 更能带动社区吗?

Ubuntu 18.04 + Docker 部署 Discourse 社区平台实战指南 Discourse 是一款面向深度协作与知识沉淀的现代化开源论坛系统,其核心价值在于将传统BBS升级为具备用户成长体系、实时通知、全文搜索和权限治理能力的社区操作系统。它基于 Ruby on Rails 构建,深度依赖 PostgreSQL、Redis 和 Nginx,并通过 Docker 实现标准化交付。在 Ubuntu 18.04 这一长期支持(LTS)系统上部署 Discourse,既能兼顾稳定性与兼容性,又能借助 overlay2 存储驱动和 systemd 资源调优获得生产级性能。该方案广泛适用于 阅读详情

笔者之前写的「全方位对比 Postgres 和 MySQL」还在持续发酵,最近腾讯的公众号也发布了一篇「MySQL VS PostgreSQL,谁是世界上最成功的数据库?」,其中在对比两者使用的开源证书时写到:

PostgreSQL License 是一个宽松的开源许可证,类似于 MIT 许可证。它允许用户自由使用、修改和分发,无需公开源代码。它也不强制任何特定的版权声明,这使得它与许多其他开源和专有许可证兼容。
MySQL 采用 GPLv2 是一个“传染性”的开源许可证,这意味着任何基于 GPLv2 许可的代码进行修改或扩展,并且要分发的派生作品,也必须在 GPLv2 下发布。这确保了软件的自由性,但也可能限制了与非 GPL 软件的集成。
通俗来说,PostgreSQL License 支持第三方进行修改后商业化,还可以不开源。但 GPLv2 协议要求任何基于 GPLv2 软件的衍生作品也必须是开源的,所以第三方的优化成果最终也会反馈给社区。长期来看,GPLv2 协议更能带动开源社区的发展。

这段话对于两个证书的解释是正确的,但是最后关于 GPLv2 协议更能带动开源社区发展的结论有待商榷。

我们先来看一下 PostgreSQL 使用的证书。

file

再对比一下 MySQL 使用的 GPLv2 证书。

file

证书太长了,在 27 寸的显示器上都没法一屏截完😅。另外属于 Oracle 的 MySQL 还提供单独的商业证书,给那些想使用 MySQL 组件,但又无法遵循 GPL 证书的厂商。

file

Google 的 Open Source 网站也做了一个归类, PostgreSQL 的证书是归在了 notice 之列。

file

而 GPL 证书是归在了 restricted 之列。

file

笔者之前在 Google 维护内部的 MySQL 和 PostgreSQL 分支以及相关联的组件,但凡要引入 restricted 证书的开源项目,也需要提供更多的材料来阐述引入的必要性,让开源部门进行审核。毕竟还是要尽量避免污染 (Taint) Google 自己的代码。
在决定把软件项目开源后,首要考虑的就是选择哪种开源证书。GitHub 还为此做了特意的定制,在 GitHub 上项目的根目录下尝试创建 LICENSE 的文件,就能直接选择流行的开源证书模版。

file

file

这个排序大致是按照当前证书的流行度来的。目前主流的开源证书分几种类型:

  • 你想干啥都行 - MIT, Apache 证书。
  • 你可以用,但一旦用了,就要接受被同化 - GPL 证书。这类证书的特点是传染性 (infectious),项目要是使用 (use) 了这个证书的开源组件,那么项目本身也要把代码开源。自由软件基金会 (Free Software Foundation) 希望通过这种方式把开源软件发扬光大。但「使用 / use」这个词的界定是比较模糊的,法律上也缺乏判例。这个漏洞也催生了补丁版 AGPL 的诞生。
  • GPL 的温和版 - MPL (Mozilla Public License) 证书。被 Google 归类为 reciprocal (互惠)。如果项目依赖了这类证书的开源组件,项目本身是不会被传染的,只是针对使用的开源组件包括对其的修改需要开源出来。
  • 你可以用,但不能用来对付我 - SSPL, BSL (Business Source License) 证书。这个证书一开始是开源商业化公司针对云厂商的白嫖行为而开发的,现在扩展为制约所有其他的商业竞争对手。最近知名开源厂商 HashiCorp 就把旗下产品线的开源证书从 MPL 换成了 BSL。就是针对其他基于 HashiCorp 开源项目构建产品的公司,这些公司的产品和 HashiCorp 的付费版形成了直接竞争。这次改证书的举动也引发了巨大的争议,紧接着社区就 fork 了其最受欢迎的产品 Terraform。

file

依然保留了 tf,不过换成了豆腐 (Tofu)

file

目前势头还是挺旺的,5 周的星星数就堪比 Terraform 3 年多的积累。

对于新的开源项目,笔者的建议是选择限制少的证书,也就是所谓的 liberal / permissive license。当下最普遍的是 MIT 和 Apache 证书。这两者的区别在于 Apache 有一个基金会监督该证书的使用,以及对 Apache 这个品牌以及项目知识产权的保护。而如果一个开源项目里采用了双证书 (dual-license),一个 Apache 证书,一个商业版证书,往往也会受到 Apache 基金会的挑战。所以像采用双证书的开源项目,如 GitLab, Sourcegraph 以及 Bytebase 都是 MIT + 商业版证书的方式。

一开始没有必要采用更有限制性的 SSPL, BSL。这类证书在 Google 的归类里也是属于禁用级别。

file

把项目开源是期望能通过开源的传播性获得指数级的增长。让我们再回到 MySQL 和 PostgreSQL 的证书的对比, MySQL 采用的 GPL 系列是通过添加证书的约束,来强制传播。而 PostgreSQL 所属的 MIT 系是通过放弃约束,来形成自然传播。
Free Software Foundation (FSF) 倡导的 GPL 证书,带着理想主义色彩,而 MIT / Apache 这类的证书更遵从人性。在商业已经主导开源世界的今天,GPL 更能带动开源社区的结论是过于武断的。免费 (Free) 之上,更能进一步驱动开源发展的是自由 (Freedom)。而 Free Software Foundation 的官方中文翻译虽是自由软件基金会,可 GPL 证书却显得免费有余,自由不足(free not freedom)。

你怎么看🤨?


💡 你可以访问官网,免费注册云账号,立即体验 Bytebase。

ONLYOFFICE社区版极简部署:NAS/轻量云30分钟落地实战 ONLYOFFICE文档服务器是开源私有化在线办公套件的核心组件,支持Word/Excel/PPT实时协同编辑与JWT鉴权集成。其原理基于单机高性能文档渲染引擎,通过内存缓存、SQLite元数据存储和宿主机网络直连等轻量化设计,显著降低资源依赖与部署复杂度。技术价值在于以最小服务集保障‘打开→编辑→保存→同步’核心链路100%可用,兼顾安全性(JWT_IN_BODY)、中文支持(DejaVu/文泉驿字体)与ARM64兼容性。广泛适用于群晖/绿联/飞牛等NAS平台、阿里云2核4G轻量服务器及中小企业内网环境, 阅读详情

相关推荐

社区资源中转站技术解析:从架构设计到部署实践

资源中转站作为一种网络代理与信息聚合服务,其核心原理是通过中间服务器对资源链接进行转发与加速,解决用户访问不稳定、下载速度慢等痛点。在技术实现上,通常采用前后端分离架构,结合反向代理与用户访问控制机制,构建安全可控的分享环境。这类服务在开发者社区、小型技术团队内部资源共享等场景中具有重要价值,既能提升资源获取效率,又能通过人数上限等策略维持社区质量。本文以典型社区平台为例,深入探讨其技术栈选型、Docker容器化部署方案以及Nginx反向代理配置,为构建类似服务提供完整的工程实践参考。

weixin_30920853的博客 339

PostgreSQL与MySQL开源协议对比

前言 作为开源数据库的杰出代表,主要来对比PostgreSQL与MySQL的版权。版权可以理解为许可(License),直接与开源协议的描述相关,下面来看一下两者的许可表述。 PostgreSQL许可 PostgreSQL许可是一种自由的开源许可,与BSD或MIT许可证类似。1994年之前的部分版权属于加利福尼亚董事会;1996年-2020年,部分版权属于PostgreSQL全球开发小组;全球开发小组主要成员分散在世界各地,其背后不受任何公司实体控制,这使其成为一个真正的开放项目。 BSD开源协议是一个给于

Focus on PostgreSQL 1万+

【项目实战】FOSS List梳理,MySQL (mysql-connector-j) 是GPL

别说多痛苦了,反正就是非常繁琐的工作那什么是FOSS 以及 FOSS List?FOSS(Free and Open-Source Software)是指自由和开放源代码软件。FOSS List是一个用于收集和整理开源软件的ExcelFOSS List列出了各种开源软件的名称、版本、授权协议等信息。

奶爸的编程之路,也就一周冷个三天 1149

MySQL与PostgreSQL证书对比谁更好?

把项目开源是期望能通过开源的传播性获得指数级的增长。让我们再回到 MySQL 和 PostgreSQL 的证书的对比,MySQL 采用的 GPL 系列是通过添加证书的约束,来强制传播。对于新的开源项目,我的建议是选择限制少的证书,也就是所谓的 liberal /permissive license。之前在 Google 维护内部的 MySQL 和 PostgreSQL 分支以及相关联的组件,但凡要引入 restricted 证书的开源项目,也需要提供更多的材料来阐述引入的必要性,让开源部门进行审核。

程序猿开发日志【学习永无止境】 711

从PWM到精准电流:双光耦与LM317构建的4-20mA隔离输出方案

本文详细介绍了基于双光耦与LM317的4-20mA隔离输出方案,适用于工业自动化中的PWM信号转换。该方案通过电气隔离和精准电流调节,显著提升抗干扰能力和信号传输精度,同时降低成本60%。文章还分享了电路设计、参数计算及调试经验,为工程师提供实用参考。

weixin_32006655的博客 283

雷达工程师避坑指南:STAP处理中,间歇采样转发干扰为什么这么难对付?

本文深入解析了STAP处理中间歇采样转发干扰(ISRJ)的挑战与应对策略。通过分析ISRJ的工作机制和自由度消耗问题,结合仿真数据对比,揭示了其与传统压制干扰的本质差异。文章还探讨了在工程实践中如何构建有效的防御体系,包括降维处理技术选择和混合架构设计,为雷达工程师提供了实用的避坑指南。

weixin_30530339的博客 272

mysql中的gpl是什么意思_GPL是什么意思?急

展开全部GPL,是GNU General Public License的缩写,是GNU通用32313133353236313431303231363533e58685e5aeb931333431363538公共授权非正式的中文翻译。它并非由自由软件基金会所发表,亦非使用GNU通用公共授权的软件的法定发布条款─只有GNU通用公共授权英文原文的版本始具有此等效力。大多数软件许可证决意剥夺你共享和修改软...

weixin_34545862的博客 3266

jmeter小白下载安装步骤

本文仅仅简单介绍了jmeter工具的下载安装,以及基础的操作步骤。

昔年@曦的博客 3497

MySQL

1.什么是MySQL MySQL 是⼀种关系型数据库,在Java企业级开发中⾮常常⽤,因为 MySQL 是开源免费的,并且⽅便扩展。阿⾥巴巴数据库系统也大量⽤到了 MySQL,因此它的稳定性是有保障的。MySQL是开放源代码的, 因此任何⼈都可以在 GPL(General Public License) 的许可下下载并根据个性化的需要对其进⾏修 改。MySQL的默认端⼝号是3306. 2.存储引擎 存储引擎: 数据文件在物理磁盘上不同的组织形式,主要包括InnoDB、MyISAM、MEMORY。 查看MyS

爱撸串的小龙虾的博客 2688

《iOS之一起进大厂》系列-秒杀面试官的RunLoop底层原理面试题

Runloop是iOS面试中的必考题,不管大厂小厂都会问到。 这里包括了Runloop几乎所有的面试题,还有中肯完整的答案解释。

空杯子 1153

国产麒麟系统各版本镜像下载

以上各链接均为迅雷下载,禁止商业用途!

2302_79474754的博客 6151

PostgreSql数据库介绍和使用

数据库未来领导者

weixin_40847534的博客 3245

emwin与Modbus通信结合:项目实例

通过实际项目讲解emwin界面设计与Modbus通信协议的融合应用,深入剖析数据交互流程。掌握emwin在工业控制场景中的实用技巧,提升系统人机交互与稳定通信能力。

weixin_34618526的博客 483

PostgreSQL也很强大,为何在中国大陆,MySQL成为主流,PostgreSQL屈居二线?

综上所述,尽管PostgreSQL在某些方面具备明显的技术优势,但由于历史沿革、市场需求、教育培训等多重因素的影响,使其在中国大陆暂时落后于MySQL。不过,随着技术进步和社会环境的变化,相信未来两者之间的竞争格局将会发生新的转变。对于广大从业者而言,无论选择哪一款数据库产品,关键在于能否根据实际业务需求做出明智决策,并持续关注行业动态,不断提升自我技术水平。

cda2024的博客 999

基于STM32设计的老人摔倒检测报警系统【升级版】(235)

在 `235 基于STM32设计的老人摔倒检测报警系统(OneNet+MQTT)` 项目基础上增加了心率、血氧、体温测量3个功能。

1511

SAP_MM模块采购价格确定控制简介

SAP MM模块采购价格确定控制是采购管理中的关键功能,系统通过"价格确定日期"判断条件记录有效性并带出正确价格。文章分析了四种常见业务场景及其对应的价格确定方案:普通采购订单(创建日期)、长期合同(交货日期)、特殊业务(手动输入)和接口下单(系统传入)。详细介绍了配置方法和前台操作步骤,并提供了不同业务类型对应的推荐控制方式汇总表。通过合理设置价格确定日期控制,企业可以确保采购价格准确性,满足各种复杂业务场景下价格管理的需求,从而提高采购管理效率和成本控制能力。

我小时候很黑的博客 738

常用关系型数据库优缺点简述

一、mysql 二、oracle 三、sqlserver 四、postgres 五、DB2 六、mongodb

mkgoingup的博客 2126

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

Infisical:开源密钥管理平台的深度探索与实践指南

在当今云原生和微服务架构盛行的时代,密钥管理已成为每个开发团队必须面对的核心安全挑战。如何安全地存储、分发和轮换数据库密码、API密钥、证书等敏感信息?Infisical作为一款开源的安全基础设施平台,为这个问题提供了全面而优雅的解决方案。🎯 ## 为什么你需要重新思考密钥管理方式? 传统的方式——将密钥硬编码在配置文件或环境变量中——已经无法满足现代应用的安全需求。一旦密钥泄露,整个系统都

gitblog_00367的博客 602

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

每日GitCode开源项目推荐:5个高效开发神器完整实战指南

项目名称核心优势推荐指数适合人群AtomCode终端轻量、多模型支持⭐️⭐️⭐️⭐️⭐️极客、后端开发、运维代码推理强、综合性能高⭐️⭐️⭐️⭐️⭐️需要私有化大模型的团队长文本处理、低显存占用⭐️⭐️⭐️⭐️文档分析、长流程任务GLM-5.1长程任务、自主规划⭐️⭐️⭐️⭐️⭐️自动化工程、全栈开发Kimi-K2.6多模态视觉、图文生成⭐️⭐️⭐️⭐️前端开发、数据分析师开源的力量就在于共享与进步。

热爱技术与前沿创新,深耕科技领域,在科创中精进自我;探索技术乐趣,分享技术干货与成长心得,以技术为伴,热爱生活,在科创与生活中双向成长。 492

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

postgresql(pg)数据库(含与mysql对比)

目录1.什么是PostgreSql2.为什么要使用PostgreSQL3.下面是PostgreSQL中的各种功能介绍数据类型数据的完整性并发性,性能可靠性,灾难恢复安全性可扩展性国际化,文本搜索对比Mysql 1.什么是PostgreSql PostgreSQL是一个功能强大的开源对象关系型数据库系统,他使用和扩展了SQL语言,并结合了许多安全存储和扩展最复杂数据工作负载的功能。PostgreSQL的起源可以追溯到1986年,作为加州大学伯克利分校POSTGRES项目的一部分,并且在核心平台上进行了30多年

weixin_49780168的博客 5293

PostgreSQ及与MySQL对比

1.什么是PostgreSql: PostgreSQL是一个功能强大的开源对象关系型数据库系统,他使用和扩展了SQL语言,并结合了许多安全存储和扩展最复杂数据工作负载的功能。PostgreSQL的起源可以追溯到1986年,作为加州大学伯克利分校POSTGRES项目的一部分,并且在核心平台上进行了30多年的积极开发。 PostgresSQL凭借其经过验证的架构,可靠性,数据完整性,强大的功能集,...

apriaaaa的博客 551

Kubernetes Operator 是什么,以及它们的用途

Operator 概念由 CoreOS Linux(后来的 Container Linux)开发团队于 2016 年提出。Kubernetes 项目对“Operator”的定义很简单:“Operator 是使用自定义资源来管理应用程序及其组件的软件扩展”。换句话说,使用 Operator 使我们能够将应用程序视为一个单一对象,该对象仅公开对应用程序有意义的调整,而不是一组原语(例如 Pod、Deployment、Service 或 ConfigMap)。

介绍AWS Azure GCP devops Terraform 等技术 1222

构建社区激励系统:从零部署量化贡献的排行榜Web应用

在社区运营和开发者生态中,量化贡献与激励协作是提升活跃度的关键。其核心原理是通过一套可配置的算法,将用户行为数据转化为可比较的分数,从而实现贡献可视化。这项技术的价值在于能够数据驱动社区运营,通过公开透明的排名激发成员的荣誉感与参与度,形成正向反馈循环。典型的应用场景包括开源项目社区、企业内部知识分享平台以及教育机构的协作学习环境。本文以热门的“慷慨排行榜”项目为例,深入探讨如何利用现代Web技术栈(如Node.js、React与PostgreSQL)实现一个全栈应用,涵盖从Docker容器化部署、REST

weixin_34245749的博客 314

如何快速部署开源元数据平台:OpenMetadata完整实践指南

OpenMetadata是一个强大的开源元数据管理平台,它为数据工程师和AI系统提供统一的语义上下文层,帮助组织构建可信的数据治理体系。通过120+连接器、开放元数据标准、语义搜索和API,OpenMetadata让每个用户和AI系统都能发现、理解、信任和使用数据。 ## 🚀 环境准备与系统要求 ### 硬件与软件要求 在开始部署之前,请确保您的系统满足以下要求: **操作系统支持:**

gitblog_00059的博客 829

PG数据库简介

1.什么是PostgreSql PostgreSQL是一个功能强大的开源对象关系型数据库系统,他使用和扩展了SQL语言,并结合了许多安全存储和扩展最复杂数据工作负载的功能。PostgreSQL的起源可以追溯到1986年,作为加州大学伯克利分校POSTGRES项目的一部分,并且在核心平台上进行了30多年的积极开发。 PostgresSQL凭借其经过验证的架构,可靠性,数据完整性,强大的功能集,可扩展性以及软件背后的开源社区的奉献精神赢得了良好的声誉,以始终如一地提供高性能和创新的解决方案。PostgreS

Unique_index的博客 2万+
上一篇: Bytebase 2.8.0 - ​全新升级的数据脱敏功能
下一篇: Bytebase x Hacktoberfest 2023 黑客啤酒节开源挑战邀请
Bytebase
博客等级 码龄5年 1348粉丝 258原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值