最近一个叫StarRocks的软件出圈了,这是一款MPP数据库软件,以前叫做DorisDB,源自Apache Doris,其厂商鼎石科技发表了一篇文章《StarRocks开源—携手未来,星辰大海!》,惹恼了一众开源人士,以至于有人写出了《对StarRocks真假开源之争的灵魂九问》,对StarRocks大加批驳,认为其所作所为实在令人不齿。另有一篇文章《你们想知道的一切,都在这里了》,是Apache Doris项目官方写的,想都不用想,肯定也是痛斥StarRocks的。
我以前没有关注过他们的恩恩怨怨,于是仔细看了这两篇文章,发现主要是两个点惹了众怒,一是以前叫DorisDB就很令人不爽,因为涉嫌碰瓷Apache Doris项目的品牌;二是这次 称开源更令人不爽,明明不是开源的,为什么要给自己贴金说是开源的em>
有人说,人家把代码放在Github上了啊,那不就是开源的吗p>
那还真不是,开源的标准是很高的,仅仅放在Github上,只能说“源码可见”(source avaliable),不代表就是开源的。
开源的标准由OSI主持,它有一个开源定义(OSD),满足OSD的才是开源。而StarRocks所选用的ELv2许可证并不满足OSD,所以它不是开源的。(具体不符合哪一条,下面会说到。)
我对此事的态度
1、StarRocks以前叫DorisDB,这一点确实不妥,但既然已经改过了,我觉得还好,知错能改,不错的。
2、自称开源是不对的,正如Doris不能随便用,“开源”两个字也是不能随便用的,不是就不是,不能宣传自己是。
3、至于StarRocks选用Elastic License 2.0(简称ELv2)许可证,我觉得还好吧。商业公司,本来就是逐利的,如果玩真开源,可能真活不下去,选用一个商业许可证,无可厚非。
多说两句,我一直认为,真开源的道德境界比较高(尤其是真有价值的软件),在一定程度上属于无私奉献(虽然也有人能用真开源赚钱,但那需要额外的工作)。
但不能说“非开源”就道德低下,毕竟微软的Windows都没有开源,而且代码都没有放到Github上,我们不也觉得很正常嘛!(微软买了Github,却不把自己产品的代码放在上面,同时一直说“微软爱开源”,我怎么看怎么觉得言行不一。)
4、还有一点,有人一直说StraRocks没有或者很少贡献Apache Doris,也没有遵循Upstream First原则。
我的态度是:如果说因为“DorisDB团队在对外宣传时,宣称自己是 Apache Doris 的主创团队”这等原因,那是可以实事求是地批驳。
如果仅仅指责其fork后不贡献,我认为不必。贡献这事,就像捐款,全靠自觉,不能道德绑架说你必须贡献,或者说你不贡献你就不是好人。贡献不是义务,贡献是自由。
对Upstream First这个原则也是一样,这其实是个最佳实践,属于一种推荐,而不是一个强制。
5、有人说DorisDB是fork自Apache Doris项目的,而更名后的StarRocks将许可证改为ELv2,是否违规p>
这并不违规,因为Apache 2.0协议是允许改协议的,只要符合Apache 2.0中规定的条件。具体可见Apache协议的第4条。
至于StarRocks选用的这个ELv2到底是个什么东西,我们下面看一看。
ELv2原文及人话翻译
注意:本翻译是人话翻译,只保证意思正确易懂,不保证字字句句严密精确。
排列方式是一段人话翻译,一段原文。下面开始:
Elastic许可证 2.0 (ELv2)
1、用就代表接受
如果您用本软件,表明您同意以下所有条款和条件。
2、版权许可
在满足我给的限制条件下,我授予您全球范围内的非排他性、无版税的、不能再许可的、不可转让的许可,使您可以使用、复制、分发、制作本软件及其衍生品。
3、限制条件
您不能将软件作为托管服务提供给第三方,使得用户可以使用本软件的任何实质性功能。
卫sir注:这就不让云厂商用了,如果你把软件放在云上让客户用,就是给第三方用了。除非另签其他商用协议。
您不得移除、更改、禁用或规避软件中的许可密钥功能,您不得删除或隐去软件中受许可密钥保护的任何功能。
卫sir注:普通的基础功能是免费的,高级功能是受许可密钥保护的,是收费的,想用就花钱买吧,破解许可密钥功能1、2是违反协议的。免费功能和收费功能有着巨大的差异,具体可见其官方 站3。
您不得更改、删除或隐去软件中任何许可、版权或其他声明。对许可方的商标使用要遵循相关法律。
4、专利许可
只要遵守本许可证的约束条件,根据专利权利要求,我授予您制造、让人制造、销售、要约销售、进口和让人进口软件的权利。但因您改动和增加代码导致的专利侵权,我们可不管。如果您或您的公司说我们侵权,本条款授予您的专利许可将立即终止。
5、义务
您必须确保,任何从您那里获得本软件拷贝(哪怕是其中一小部分)的人,也获得这些条款的拷贝。
卫sir注:本条结合前面第2条说的“不能再许可”,表明了再分发不可换许可证。如果你制作了衍生品,分发时也必须继续使用ELv2。
如果您修改了软件,您必须在那些修改后的文件中,明显地说明您改了。
6、并没有其他权利
我授予您的权利,仅限于本许可证明确说的内容,并不暗示有任何别的权利。
7、违规就终止权利
如果您违反了本许可证的条款,您的许可证将自动终止。如果您收到我们发出的违规警告,并且在收到后30天内停止违规行为,您的许可将被恢复。但是,如果之后您又违规,你的权利被自动地、永久性地撤销。
8、我们不负责任
在法律允许的范围内,软件是AS IS的,也即没有任何质量保证,我们不负责因本软件而给您带来的任何损失。
9、术语定义
“我们”就是许可方,我们依照所列这些条款提供本软件(或其中任何部分)。
“您”指的是同意这些条款的个人或实体。
“用”指的是对本软件行驶本许可证所授予的某种权利。
卫sir注:其余定义意思不大,这里省略了。
注:ELv2全文见Elastic License 2.0 | Elastic
注:相关FAQ可见Elastic 许可 2.0 (ELv2) 常见问答
深入理解ELv2
Q: ELv2的核心亮点是什么u>
A:主要就是那三个限制。说白了就是:
不允许对外提供云服务;不予许破解或绕过密钥保护的功能;不能用我的商标。
Q:那我能怎么使用u>
A:下面以说明:
1、你可以在自己公司内部用Elasticsearch,此时可以托管服务形式提供给内部员工,因为这不涉及第三方。
2、可以在应用中使用Elasticsearch(比如在对外 站中使用),但提供给用户的,应该仅限于类似搜索框这种搜索功能,不能给用户直接提供Elasticsearch的各种主要功能,如各种API。
3、可以使用Elastic官方和云厂商合作提供的Elasticsearch服务(全都是收费的)。像阿里云4、腾讯云5这种云厂商都会和Elastic谈专门的商业协议,向客户提供Elasticsearch Service。此外,Elastic也在AWS上提供其官方的Elastic cloud服务6并收费7。
Q:为什么说ELv2不是开源协议u>
Elastic也很明白ELv2不符合开源的标准,而只是源码可见的(source avalibale),所以ELv2根本没有去送审(不像SSPL还送审试图获批)。
如果送审,会被如何拒绝呢,我想OSI至少会在两个方面指出其违反OSD之处。
一是违背了。(ELv2的第一个限制条件歧视了云厂商)
二是违背了。(虽然允许修改其他部分,但ELv2的第二个限制条件不允许修改密钥许可相关部分)
如果你想了解OSD,可以看一下开源定义是什么/p>
Q:Elasticsearch的源码到底是如何提供的呢,以ELv2还是以SSPLu>
A:可以看一下官方的答复:
隆重推出授权更加简单且宽松的 Elastic 许可 v2;SSPL 仍可选择使用 | Elastic Blog
总的来说,在Elasticsearch 7.11版及其后,免费功能的源码是同时用两种协议发布的;对其收费功能,是以ELv2发布的。
在使用上,用户对于免费版本,还可以选择使用SSPL,在满足SSPL的条件下,可以向客户提供云服务;如果选择用ELv2,就不管怎样都不能提供云服务了。
StarRocks为什么要用ELv2
其实很简单,要恰饭嘛!
StarRocks在官 上是这么声明8的:
StarRocks is a source available software licensed under Elastic License 2.0.
从这句看,他们还是懂的,知道自己不是开源,仅仅是source available。不过鼎石在宣传上,使用了“开源”一词,这就不好了。
在回答为什么改用ELv2的问题上,鼎石说:
越来越多的开源软件公司,MongoDB,MariaDB,Elastic,Confluent等等,正在改变他们的许可证,以保护他们的软件不被大公司滥用和误用,这些大公司使用这些软件却没有为 区做出贡献。为了尽量减少对我们 区的影响,我们采用了Elastic 2.0许可证,以确保我们的用户可以继续免费使用、修改和分发StarRocks的源代码,同时保护StarRocks的版权和商标。
这段话,和Elastic等厂商说的都差不多,就是嫌云厂商不作贡献,不过在我看来,主要是嫌大公司获取了市场,自己赚不到钱。(个人猜测,所谓嫌云厂商不做贡献并不是嫌他们不贡献代码,而更多是嫌他们没有捐金或帮助赚钱。)
另外,鼎石声明:他们目前还没有在StarRocks上使用许可密钥这种东西。
StarRocks的回应
对于各方质疑,StarRocks也做了回应,发表了文章:关于StarRocks相关疑问的解答
其中比较重要的两点声明是:
“我们郑重声明,从 DorisDB 到 StarRocks ,从商标到代码协议,我们的工作完全在法律法规的框架下进行,也欢迎各界人士的关注和监督。”
“StarRocks虽然使用了 Apache Doris 的框架,但是其内核已经是完全独立自主研发的了。当前项目中原有的 Apache Doris 代码保留了原有的 Apache Licence 2。只有完全由我们独立开发的代码,采用了 Elastic License 2。这也是行业的常规做法。”
专家观点
针对ELv2、Elastic,在开源商业领域有15年从业经历的龚仪说:
1、ELv2本质上就是一个“专有”商业许可证。
2、开源软件采用双许可证是一个很早就有的做法,只是由于SSPL没有被OSI接受,就让Elastic变成不属于OSD定义的开源软件而显得尴尬。人们需要用一种新的角度,审视和思考如何对待“源码可见”软件。
3、所谓的“高级功能”通常不是必须的,而且国内企业大部分会习惯了“免费”,所以他们可能会放弃这些高级功能,而勉强承受没有这些功能带来的一些潜在风险,直到有其他替代方案。
4、《软件悖论》已经把闭源软件收费难这事儿认真的研究过了,这些“源码开放”的商业软件公司,就算改了协议,变得不是传统的开源,变得专有了,也不见得就能在软件收费这条路上有多顺利。
针对StarRocks,知识产权专家振华说:
1、新项目要注意尊重知识产权,包括但不限于在先名称/商标/License。
2、如果不是开源就不要宣称项目是开源项目了。
文|卫剑钒
图|千钧一发
-
ElasticSearch破解x-pack 6.0+和更新许可证(License)_十步杀一人-千里不留行-CSDN博客
-
elasticsearch7.X x-pack破解 – 非洲羚羊 – 博客园
-
订阅 | Elastic Stack 产品和支持 | Elastic
-
Elasticsearch_免运维弹性云搜索_智能运维_大数据-阿里云
-
Elasticsearch Service_全文搜索_日志分析_安全分析_腾讯云
-
迁移至 Elastic Cloud 上官方的 Elasticsearch Service | Elastic
-
Elasticsearch 官方定价信息:Elastic Cloud、托管型 Elasticsearch | Elastic
-
StarRocks – Next-Gen Sub-second MPP database
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!