PostgreSQL码农集散地

又一开源数据库项目停更!企业开源不能持久的原因是什么?

裁员导致AGE开源图数据库面临死亡! 我们还能相信企业开源产品吗?

在若航的群看到一则消息“age开源项目可能死了!” 因为裁员裁到大动脉!

Image

Apache AGE 由Bitnine/AGEDB开发, 而后贡献给阿帕奇基金会,是一款PostgreSQL 开源图数据库插件(兼容graph query language), 目前有3.4k star。

Image

AGE支持如下特性: 

  • 混合查询:同时支持 SQL 和/或 Cypher
  • 查询:支持多个图结构
  • 层次结构:图标签
  • 属性索引:顶点(节点)和边
  • 完整版 PostgreSQL : 支持 PG 功能

2024年底, AGE开源项目在最后一次发布v1.5.0 for PG 16后就几乎没有更新了, PR没人合并, ISSUE没人处理, 项目发展近乎停滞. 

此前类似停更消亡的开源数据库项目相信很多人都听说过,红极一时的PostgreSQL流数据库插件pipelinedb,整个团队被收编去了confluen,pipelinedb定格在了1.0.0。

AGE 项目官方回应: https://github.com/apache/age/discussions/2150

 2024 年 10 月初,Bitnine/AGEDB 解雇了负责为 Apache AGE 做出贡献的整个开发团队。因此,项目优先级自然发生了变化,导致开发速度放缓。

Apache 软件基金会 (ASF) 和 Bitnine/AGEDB 仍在努力解决持续存在的分歧。Apache AGE 委员会主席 Jeff 为这些努力投入了大量时间。

还有一些人正在努力将 PostgreSQL 17 支持引入到 1.5.0 版本,目标是在月底完成。但是,这可能最初仅作为分支发布,而不是正式版本,因为完整版本需要大量努力、PMC 投入以及具有必要访问权限的成员的批准。

我想大家和我一样有个疑问: 一个已贡献给开源基金会的项目尚且如此, 何况是公司自己维护的开源项目?

我们到底还能不能信企业的开源产品?

开源产品分两种

  • 1、商业公司开源的产品, 又分两种
    • 1、拿来赚钱的产品, 例如 mongodb
    • 2、支撑公司业务的产品, 例如 早期阿里的AliSQL(在成为云服务之前)
  • 2、社区维护的开源产品, 典型代表: PG

对于商业公司主导的开源产品, 其商业产品能赚钱并且能养活开源项目、或者开源项目可以助力商业产品, 开源项目才能活下来; 或者支撑的业务没死并且还依赖这个开源产品并且没有比这个开源项目更好的替代选择, 这个开源项目才能活下来.

对于社区维护的开源产品, 只要有用户使用, 就能活下来.

为什么PG能活这么久, 还能每年发大版本?

1、PG是用户(应用开发者或DBA)主导的还是内核开发者主导的开源项目?

我个人认为是内核开发者, 不论是各大邮件组还是开发者大会, 参与讨论的都是内核开发者居多. 应用开发者和DBA更多的活跃在外围论坛例如stackoverflow.

2、开发者的晋级体系很完善, 新人必须从review代码、参加邮件讨论开始, 慢慢积累圈子里的影响力, 然后通过搞bugfix, 提交新功能等, 证明自己的技术能力并积累足够的提交数和人脉后, 被选举进入主力圈, 拿到提交权限, 最后挤破脑袋进入核心commit. 其实前面做的一切都会让你对这个开源项目产生“感情”, 时间成本让你感觉对这个项目有感情.

3、产生“感情”的开发者足够多, 用爱发电的人很多.

4、PG是中立的社区型开源项目, 大用户侧/商业发行版/云厂商/周边服务公司 开发者很多, 不仅用爱发电, 还和这个开源项目重度利益捆绑.

以上几点足以让PG屹立多年, 因为中立, 也因为捆绑了太多个人和公司的利益在里面, 每年能发大版本不足为奇!  

灵魂拷问: PG核心成员的公司比如CrunchyData,EDB等活得如何? 为什么后来者“云厂商”对PG开源贡献不多但是赚得很嗨? 为什么oracle,crunchy,edb,neondb都在推云服务?为什么有些商业产品选择开源有的不开源?开源对商业到底有什么贡献?什么样的公司可能活得久?什么样的产品可能活得久?什么样的开源项目可能活得久?为什么PG插件很难赚钱维系发展?用户应该如何选择开源产品?