非法加冯

WordPress社区内战:论共同体划界问题

“我想直率地说:多年来,我们就像个傻子一样,他们拿着我们开发的东西大赚了一笔”。—— Redis Labs 首席执行官 Ofer Bengal 的这句名言,成为 WordPress 社区内战,以及开源社区与商业利益之间的冲突的生动注脚。

我认为这个事件非常有代表性和启发意义 —— 当开源理想与商业利益出现冲突时,应该怎么做?一个开源项目的创始人,应当用什么样的方式来保护自己的利益,并维护社区的健康与可持续发展?这对 PostgreSQL 社区和其他开源软件社区与云厂商之间的冲突又能带来什么启示?


前因后果

最近,WordPress 风波沸沸扬扬,已经有不少文章报道过了。简单来说就是两家 WordPress 社区的两家主要公司发生了公开冲突。一方是 Automattic,另一方是 WP Engine,这俩公司都卖 WP 托管服务,年营收都是五亿美元左右。不过,A 公司的老板 Matt Mullenweg 是 WordPress 项目的联合创始人。

事情的导火索是 WordPress 联合创始人兼 Automattic CEO Matt Mullenweg 在最近的 WordCamp 大会上公开批评 WP Engine ,将 WP Engine 形容为社区的 “癌症”,质疑其对 WordPress 生态系统的贡献。他指出 WP Engine 和 Automattic 每年的收入均约为 5 亿美元,但 WP Engine 每周仅贡献 40 小时的开发资源,而 Automattic 则每周贡献了 3,988 小时。Mullenweg 认为,WP Engine 通过修改版的 GPL 代码盈利,却未能充分回馈社区。

然后,嘴炮很快升级成为了法律纠纷,双方都向对方发出了律师函;然后威吓又进一步升级为行动:Automattic 控制着 Word Press 网站,基础设施,包括扩展插件的 Registry,所以直接把 WP Engine (收购)的一个扩展插件截胡了。更具体来说,是 WP Engine 收购的一个 WP 扩展插件,ACF,有两百多万活跃安装用户,A 公司把这个扩展分叉了,然后占用了 WP 上老扩展的名字。

最后,在各路社交媒体上,都出现了两遍公司的骂战,这我就不放了,反正各种 Drama 满天飞。这里面最有名的要数下云先锋, Ruby on Rails 作者 DHH 得两篇博客了,以下是 DHH 两篇博客原文:

Image

https://world.hey.com/dhh/automattic-is-doing-open-source-dirty-b95cf128

Image

https://world.hey.com/dhh/open-source-royalty-and-mad-kings-a8f79d16

然后是当事人 Mullenweg 的两篇博客回应

Image

Image


老冯评论

我跟 WordPress 没啥利益关系,但作为一个开源社区的创始人,参与者,维护者,我在感情上是同情 Automattic 和其老板 ——  WP 项目创始人 Matt Mullenweg ,我能理解他的愤怒沮丧心情,但确实没法苟同他在收到律师函之后的失智冲动举动。

从道德层面来说,WP Engine 白嫖社区却鲜有贡献合不合情理?不合情理。但从法律上来说,你用的 GPL 协议,按这个协议,别人在遵守开源协议的前提下,通过托管服务赚大钱是不是合法的?你向别人收取什一税,截胡插件有什么法律依据?没有!


那么问题在哪里呢?开源本质上是一种礼物馈赠,赠与者不应该对受赠人的回报有什么期待。如果你预期到,受赠人会拿着你送的礼物大赚一笔让你自己心里失衡,或者受赠人干脆用你的礼物回头抢你自己的生意,那你在第一天就不应该送给他。然而问题在于,传统的开源模型中没有办法实现这一点,即歧视性划界问题。

开源软件作为一个礼物,默认的赠送范围是 —— 整个人类世界,Public Domain!因为开源“不允许”歧视性条款。但你只想把你的软件礼物赠送给用户,而不是商业竞争对手,在传统开源协议下有什么办法呢?没有什么好办法,你写了一个很好的软件,使用 Apache 2.0 协议,很好,云厂商和竞争对手把你的软件装到他们的服务器上卖给用户大赚一笔,而你这个开发者得到了商业对手的鼓励(嘲讽) —— 请再接再厉,继续给我们打白工吧。


上古竞于道德,中世逐于智谋,当今争于气力。在上古时代,开源软件的参与者基本上都属于所谓的 “Prosumer”(产消合一者)。每个人都从其他人的贡献中获益,参与者也基本上都属于少部分没有经济压力的精英阶层,所以这种模式可以玩得转。繁荣健康的开源软件社区可以容得下一批纯消费者,并期待他们最终会有一部分成为产消合一者。

但以经典公有云厂商为代表的托管服务,通过掌控最终的交付环节,攫取捕获了开源生态的大部分价值。如果他们愿意成为体面的开源社区参与者积极回馈,这个模式还可以勉强继续运转下去,否则就会失衡 —— 一旦社区秩序的消费者(白嫖者)超出生产者的能力,开源模式就会面临危机。


怎么解决这个问题呢?开源社区其实已经给出了自己的答案。在 Redis不开源是“开源”之耻,更是公有云之耻 中我已经详细分析过了 —— 例如在数据库领域,不难发现近几年头部的数据库公司/社区与云厂商之间的关系都在进一步紧张升级中。 

Redis 修改开源协议为 RSAL/SSPL,ElasticSearch 修改协议为 AGPLv3,MongoDB 使用更严苛的 SSPL,MinIO 和 Grafana 也转换到了更严苛的 AGPLv3 上来。Oracle 在 MySQL 开源版上摆烂,包括最为友善的 PostgreSQL 生态,也开始出现了不一样的声音。

我们要知道,开源许可证对于开源社区来说,就像章程一样。切换开源许可证本质上来说,就是一种重新划分社区共同体边界的行为。通过 AGPLv3 / SSPL 或者其他更严苛开源协议中的 “隐性歧视条款”,将不符合开源社区价值观的参与者,通过法律排除在外。


共同体边界的问题,是所有开源社区面临的最重要的问题 —— 它的重要性甚至在 “是否开源” 和 “独裁还是民主” 之上。很多“开源软件”社区/公司非常愿意为更深度地歧视与划界需求,而丧失 “开源” 的名分 —— 例如使用不被 OSI 认定为开源的 “SSPL“ 等协议。

Image

“谁是我们?谁是我们的朋友,谁是我们的敌人?” 这是构建社区,建立秩序的基本问题。为开源软件做贡献的贡献者显然是核心,使用、消费软件的用户可以是社区主体;而架空,白嫖,吸血远大于贡献的竞争对手显然是社区的敌人。当然,开源社区/公司应该更精准地划分敌友,扩大自己的朋友圈,孤立自己的敌人:卖服务器的Dell浪潮,提供托管服务器的 Hentzer,Linode,DigitalOcean,世纪互联,甚至是公有云 IaaS 部门,提供接入/CDN 服务的 Cloudflare / Akamai 都可以是朋友,而把社区吭哧吭哧开发的开源软件拿去卖而不做对等回馈 的公有云 PaaS 部门 / 团队 ,那显然是竞争对手。让亲者快而仇者痛,这是有效运营的的基本原则。


WordPress 社区内战的例子给了我们一个很好的启示 —— Automattic 本来是占据了情理和大义名分的。但他没有在架构社区立法的阶段处理解决好“开放世界中的敌人” 的问题。反而在商业竞争中公器私用,使用了违法开源社区基本原则的不当手段,导致自己陷入现在这个尴尬的局面中 —— 这就跟肿瘤患者没有及早预防癌症的出现,一怒之下用刀剜开自己的肿瘤一样痛苦。

我相信,开源软件的社区/公司运营者一定能从这个案例学习到不少经验与教训。

推荐阅读

Redis不开源是“开源”之耻,更是公有云之耻

ElasticSearch又重新开源了???

范式转移:从云到本地优先


云计算泥石流

点一个关注 ⭐️,精彩不迷路

对 PostgreSQL, Pigsty,下云 感兴趣的朋友

欢迎加入 PGSQL x Pigsty 交流群(备注加PG群)

Image

(这个小助手很懒,请使劲拍打他)

2024-10-07 记一次阿里云 DCDN 加速仅 32 秒就欠了 1600 的问题处理(扯皮)。

2024-10-03 本号收到美团投诉:美团没有存储外卡CVV等敏感信息

2024-10-02 某平台CVV泄露:你的信用卡被盗刷了吗?

2024-09-17 阿里云:高可用容灾神话的破灭

2024-09-15 阿里云故障预报:本次事故将持续至20年后?

2024-09-14 阿里云盘灾难级BUG:能看别人照片?

2024-09-10 阿里云新加坡可用区C故障,网传机房着火

2024-08-21 这次轮到WPS崩了

2024-08-20 草台班子唱大戏,阿里云RDS翻车记

2024-09-19 我们能从网易云音乐故障中学到什么?

2024-08-15 GitHub全站故障,又是数据库上翻的车?

2024-07-23 全球Windows蓝屏:甲乙双方都是草台班子

2024-07-02 阿里云又挂了,这次是光缆被挖断了?

2024-06-22 性学家,化学家,软件行业里的废话文学家 马工

2024-05-23 Ahrefs不上云,省下四亿美元

2024-05-11 删库:Google云爆破了大基金的整个云账户

2024-04-30 云上黑暗森林:打爆云账单,只需要S3桶名

2024-04-23 赛博菩萨Cloudflare圆桌访谈与问答录

2024-04-22 云计算:菜就是一种原罪

2024-04-20 taobao.com证书过期

2024-04-17 腾讯真的走通云原生之路了吗? 马工

2024-04-14 我们能从腾讯云故障复盘中学到什么?

2024-04-12 云SLA是安慰剂还是厕纸合同?

2024-04-09 腾讯云:颜面尽失的草台班子

2024-04-08 【腾讯】云计算史诗级二翻车来了

2024-04-03 吊打公有云的赛博佛祖 Cloudflare

2024-04-02 牙膏云?您可别吹捧云厂商了

2024-04-01 罗永浩救不了牙膏云

2024-03-26 Redis不开源是“开源”之耻,更是公有云之耻

2024-03-25 公有云厂商卖的云计算到底是什么玩意? 马工

2024-03-21 迷失在阿里云的年轻人

2024-03-14 RDS阉掉了PostgreSQL的灵魂

2024-03-13 云计算反叛军联盟

2024-03-10 剖析云算力成本,阿里云真的降价了吗?

2024-02-02 DBA会被云淘汰吗?

2024-01-16 单租户时代:SaaS范式转移

2024-01-09 互联网技术大师速成班 马工

2024-01-04 门内的国企如何看门外的云厂商 Leo

2023-12-29 卡在政企客户门口的阿里云 马工

2024-01-12 云计算泥石流

2024-01-10 拒绝用复杂度自慰,下云也保稳定运行

2023-12-27 扒皮对象存储:从降本到杀猪

2023-12-22 半年下云省千万:DHH下云FAQ答疑

2023-12-06 互联网故障背后的草台班子们 马工

2023-11-29 从降本增笑到真的降本增效

2023-11-27 阿里云周爆:云数据库管控又挂了

2023-11-17 重新拿回计算机硬件的红利

2023-11-14 我们能从阿里云史诗级故障中学到什么

2023-11-12 【阿里】云计算史诗级大翻车来了

2023-11-09 阿里云的羊毛抓紧薅,五千的云服务器三百拿

2023-11-06 云厂商眼中的客户:又穷又闲又缺爱 马工

2023-10-29 是时候放弃云计算了吗?

2023-07-08 云计算泥石流合集 —— 用数据解构公有云

2023-07-07 下云奥德赛

2023-07-06 FinOps终点是下云

2023-06-14 云计算为啥还没挖沙子赚钱?

2023-06-12 云SLA是不是安慰剂?

2023-04-28 杀猪盘真的降价了吗?

2023-03-15 公有云是不是杀猪盘?

2023-03-08 垃圾腾讯云CDN:从入门到放弃

2023-03-01 驳《再论为什么你不应该招DBA》

2023-02-03 范式转移:从云到本地优先

2023-01-31 云数据库是不是杀猪盘

2023-01-31 你怎么还在招聘DBA? 马工

2023-01-30 云数据库是不是智商税

2022-05-16 云RDS:从删库到跑路