很多人都分不清Apache Doris 和 DorisDB、StarRocks,以及他们之间的社区分化的原因是什么“、“为什么 StarRocks 不回馈给 Apache Doris ”的问题。
关于这些问题,Apache Doris 主要维护团队做了声明,以下是全文:
Apache Doris 的前世今生相信很多同学都有些许了解,之前在公众号里有过历史文章阐明关系,在 Apache Doris X Apache Pulsar 联合 Meetup 上也做过题为 “ Apache Doris 的过去、现在和未来 ”的分享。
Doris 最早是解决百度凤巢统计报表的专用系统,随着百度业务的飞速发展对系统进行了多次迭代,逐渐承担起百度内部业务的统计报表和多维分析需求。2013 年,我们把 Doris 进行了 MPP 框架的升级,并将新系统命名为 Palo ,2017 年我们以百度 Palo 的名字在 Github 上进行了开源,2018 年贡献给 Apache 基金会时,由于与国外数据库厂商重名,因此选择用回最初的名字,这就是 Apache Doris 的由来。
那么 StarRocks 以及 DorisDB 是什么?
2020 年 2 月,百度 Doris 团队的个别同学离职创业,基于 Apache Doris 之前的版本做了自己的商业化闭源产品 DorisDB ,这就是 StarRocks 的前身。
按照 Apache License,基于开源产品进行商业化是被允许的。所以我们初期是希望能共同建设 Apache Doris 社区的,个人在职业上的选择与社区无关。在开源社区,每个人的社区身份都是被认可的。
后来我们发现,事情发展与我们的预期背道而驰。
比如 DorisDB 团队在对外宣传时,会宣称自己“是 Apache Doris 的主创团队”、“ Apache Doris 的核心开发人员大部分在任职”等诸类话术。
实际上, GitHub 上公开的数据显示,Apache Doris 贡献代码前三的 Contributor 全部在百度 Doris 团队就职,不知所谓的“大部分”和“主创”从何说起。
最近一年,提交 Commits 数量前二十的 Contributor 中,有一半来自百度 Doris 团队,另一半来自小米、美团、字节跳动、蜀海、网易等 Apache Doris 的开源用户,在此也对所有的 Contributors 表示由衷地感激。
而唯一一个 DorisDB 的 Contributor ,入职 DorisDB 时间为 2021 年 8 月 27 日。没错,入职 DorisDB 快两周了,之前在百度 Doris 团队。
实际上,从 2020 年初起, DorisDB 团队几乎没有向 Apache Doris 提交过一行代码。少部分开发者原本是 Apache Doris 的 Contributor ,在加入 DorisDB 团队后,同样不再向 Apache Doris 贡献一行代码。
比如 DorisDB 团队在人员扩张时,会故意定向挖 Apache Doris 企业用户的员工。开源社区的发展离不开用户的支持,挖用户墙角更无异于自掘坟墓。对于员工个人主动的选择我们不去评判,但这让企业用户对自己员工的培养做了嫁衣。而短视的人是不会看到这些的,更认为与他们毫无关系, Apache Doris 的死活与他们无关,只要自己能招到人就行。
比如 DorisDB 的商标问题,从品牌角度来说,开源项目与商业化产品的品牌必须存在区分度,比如 linux 和 RedHat 、 Hadoop 与 Cloudera 、Apache Kylin 和 Kyligence 。
而 DorisDB 和 Apache Doris ,相信很多开源用户在初次接触 Doris 的时候都会迷惑这两个产品的区别是什么,甚至以为是同一个产品。这也是 DorisDB 的目的所在,品牌上的混淆可以带来用户流量,这就够了。而 Apache 基金会对此事件有过多次发声, DorisDB 及其团队不管不问,企图继续混淆视听,直到最后在 Apache 基金会的压力下,才不得不通过所谓的“开源”来更名。
比如所谓的“致 Clickhouse 的一封信”。Apache Doris 与 Clickhouse 都是 MPP 数据库领域的优秀产品,各自擅长的领域或适用的场景存在差异,所有用户可以基于技术认知和业务需求来抉择到底该选择哪一款产品,甚至在大多场景里两者是可以并存和相互补足的。
Apache Doris不会、也十分不认可,通过贬低 Clickhouse 来达到推广自己的目的,这与开源的精神十分不符。而 DorisDB 选择向 Clickhouse 开战的行为,也使 Apache Doris 承受了许多本不应该由我们承担的骂名和非议。
比如 Apache Doris 的向量化执行引擎,本来至少提前一个季度就可以与用户们见面。DorisDB 已经有接近两年没有参与过一次社区讨论,唯独在我们把向量化引擎的代码提交 PR 并发起 Veto 这一关键的时间点,给了唯一的 -1 。DorisDB 给 -1 的理由我想不言而喻,无非是为了自己的商业化利益来阻拦社区的关键发展。
尽管无意义的 -1 可以忽视,但我们仍遵守社区规范,这无疑带来了我们许多额外的工作量,也打乱了我们原定的发版节奏。不过幸好最晚 9 月中旬,我们自己的向量化引擎就会提交到社区了,欢迎所有小伙伴关注。
………
诸如此类的事情日积月累,我们明白其实社区的分化已经无可避免。作为 Apache Doris 的维护团队,我们其实不愿意面对这样的局面,但当少数人想要凌驾于社区规则之上并持续向社区吸血时,附骨之蛆不要也罢。