首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

ClickHouse正在退出开源世界?

ClickHouse 是市面上最好的开源数据库之一,有着非常活跃的技术社区。它最早发布于 2016 年,采用宽松的 Apache 2.0 许可证,目前已有超 3 万人打出 star、数百位代码贡献者、丰富的生态系统以及数千家将其纳入生产环境的企业用户。所有这些,都标志着这项开源技术取得了巨大成功。

2021 年,为了推动 ClickHouse 商业化,同名公司应运而生。但在两年后的今天,有迹象表明 ClickHouse 可能正步步远离开源初衷——重要新功能仅在 ClickHouse Cloud 上开放。此举也引发人们关于 ClickHouse 未来命运的讨论。

开源版本无缘各类重要更新,CTO 的回应饱受争议

ClickHouse Cloud 服务于 2022 年 9 月正式启动,自此之后该公司就开始为私有版本“开小灶”、提供某些特定功能。但在很长一段时间内,开源版数据库引擎只遇到一些小问题,对于开源使用影响不大。

但从最近公布的 SharedMergeTree 和轻量级更新(仅在 ClickHouse Cloud 中可用)开始,这种略微差异化的策略可能正在转变。我们已经能够明显看到,开源版本正无缘各类重要功能

社区成员当然向 ClickHouse 团队提出了相关质疑,该公司 CTO Alexey Milovidov 回应称:

“对 ClickHouse Cloud 进行少量、有限的修改是件好事,这仅限于那些不会影响自托管使用场景的功能或操作变更。而这种调整,也给我们的云服务提供了至关重要的独特优势。”

很遗憾,这种说法明显是断章取义。当前的闭源功能不仅包含大规模云运营所必需的选项(例如新的 ShareMergeTree 存储引擎,允许真正将存储和计算剥离开来),还包括每位 ClickHouse 用户在云和本地都离不开的通用功能,例如轻量级 UPDATE 和基于 S3 角色的访问(属于公有云当中的关键安全功能)。

此外,开源 ClickHouse 中的现有对象存储实现似乎也遭到忽视。该公司在 2023 年路线图中纳入了一系列重大改进,其中部分内容(例如共享元数据)源自 2022 年甚至更早的路线图规划,因此社区当然希望能在开源 ClickHouse 中公平获得。但从目前的情况看,这些改进明显将作为 ShareMergeTree 的一部分在 ClickHouse 内部 fork 中实现,根本不会登陆开源版本。对于已经睽违数年的社区成员们来说,这自然令人感到失望。

随着 ClickHouse 开源版本无缘各类重要更新的讨论在Hacker News、Reddit 等平台上的持续发酵,更多的开发者也加入到了开源和商业化关系的讨论中。

一位名为 that_guy_iain 的用户在 Hacker News 发表评论称,“开源是免费的,但商业化公司需要赚钱。任何由营利性公司拥有和开发的开源产品都面临着放弃开源的危险。如果想要真正的开源,请出钱资助非营利组织和/或慈善机构。事实上,也没有开发者这么做。”

也有开发者认为:“商业化公司不需要直接从开源项目中赚钱,因为这家大公司可以通过开源项目来接触更多人,然后以某种方式向他们推广付费的产品或服务,但如果一家公司只拥有一个开源项目,就会出现问题。”

ClickHouse 现在还算是开源项目吗?

开放核心,是指拥有一套闭源高级功能的开源项目。作为一种重要的开源项目货币化模式,开放核心越来越受到希望获得高投资回报的软件厂商们的关注。而向开放核心转型,也代表着 ClickHouse 开源社区开始发生结构性变化。

在 ClickHouse 此前多年所遵循的真正开源模式当中,社区作为主要的开发驱动力。社区帮助厂商定义路线图、提交新功能或功能请求、开发生态系统并开展新业务。核心开发团队则负责开发战略功能、充当主理人和管家,努力确保社区的可持续发展。社区活跃度越高,相应的成功应用就越多,项目自然越受欢迎,由此建立起积极的反馈循环。

但在开放核心项目当中,情况则恰恰相反。项目所有方的业务和产品充当主要驱动力,核心开发团队专注于产品开发。而开源社区在此过程中仅充当潜在的客户来源。人们可以先体验开源版本、了解功能设置,但要想在生产环境中大规模应用,就必须转向闭源产品。

可以看到,目前 ClickHouse 正在向后一种模式转变。以对象存储为例,这项功能对于大数据分析用例至关重要,但在开源版本中并未完全开放。根据发展路线图,未来将有更多功能仅在闭源云端提供,余下部分则被无情抛弃、导致开源版本沦为无根之木

ClickHouse 将走向何方?

ClickHouse 是一款出色的数据库,已经在实际应用中证明了自身价值。它能够在任何地方运行,包括边缘设备到大型服务器设施,而且取得了出色的成果。其极致的性能、灵活性和便携性是其成功的主要驱动力。如果没有多年以来不断发展的优秀开源社区,这一切根本不可能实现——究其根基,则源自 Apache 2.0 许可证和对开源用户的深切关怀。

不幸的是,转向开放核心模式破坏了 ClickHouse 赖以成功的这几大因素。对产品的关注导致核心团队无法像过去那样提供高水平的社区支持。对 ClickHouse 云功能的强调,则忽略了想要在其他场景下使用 ClickHouse 的用户需求。种种因素正在损害社区对于 ClickHouse 的信任和喜爱,整个社区也必须找到新的相处方式才能保持住过去几年来的惊人增长。

首先,需要将开源路线图与 ClickHouse Cloud 路线图明确区分开来。用户必须知道开源版本将提供哪些功能、何时交付。

第二,社区必须加紧推动战略性功能的开发。开源组织最近提交了一份关于对象存储支持改进的 RFC,其内容基于开源用户的大量反馈,也属于真正的社区努力。我们希望这项工作能够顺利完成并被合并至上游,以社区的方式、从社区的角度拿出一套跟 ClickHouse Cloud 重合的开源功能集。

第三,ClickHouse 团队必须向社区贡献者授予更多权利。ClickHouse 团队正在成为审查与合并 PR 的瓶颈。当然,考虑到他们一直以来对产品质量的关注,这倒也可以理解。

我们一直梦想让 ClickHouse 成为一个独立治理的基金会,相信许多用户也乐于看到这样的结果。这也许只是种一厢情愿,但 ClickHouse 这样一款优秀的产品值得我们为之一试。

  • 发表于:
  • 本文为 InfoQ 中文站特供稿件
  • 首发地址https://www.infoq.cn/article/U7ejZ4T0VD91NC6oa49Q
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券