所在的位置: mysql >> mysql资源 >> 开源和赚钱的抉择

开源和赚钱的抉择

在年的今天,自由和开源软件已经着着实实的影响着我们的生活,从Web服务器到信息屏,再到每一个弹出广告背后的挖掘算法,几乎与我们交互的每个计算机系统都至少有部分软件来源于自由软件。IT科技行业中,自由软件更是催生了众多初创公司,也促成了并全球历史上规模最大的软件收购(亿美刀IBM收购了红帽)。

自由软件是RichardStallman(FSF基金会)带给世界的礼物,它使我们以自己所能了解的方式的运作。从一开始,自由软件是让世界大吃了一惊。它的慷慨自由,让有些企业不大习惯,不愿意使用自由软件。而且太过于太激进,太过于政治化,因此,又被改良而出现了开源软件,随之而来开源软件便接管了整个世界。

但是开源世界近期开始出现了一些不和谐。在过去的一年中,RedisLabs,MongoDB和Confluent等公司相继更改了其软件许可,从开放源代码许可改为更严格的条款,限制了软件的操作面,他们是否还是开源软件成了讨论的焦点。

RedisLabs,MongoDB等公司认为,导致产生该问题的是由于现代的技术的进步,即托管软件服务形态,该形态也被称为云服务。具体实例化就是AmazonAWS。Saas商和开源厂商的矛盾开始显现。

云服务的突起及冲突

MongoDB的公司一起开源NoSQL数据库MongoDB而闻名。MongoDB的数据库对于存储非结构化数据(例如图像)非常有用,它可以处理这些非结构化数据和传统数据类型。数据存储在类似于JSON的文档中,而不是关系数据库的列和行中。由于没有结构化表,因此没有用于处理数据的结构化查询语言,因此被称为NoSQL。

MongoDB不是唯一的NoSQL数据库,但它是使用最广泛的一个。根据行业集成商DBEngines的数据,MongoDB是第五受欢迎的数据库,从Google到CodeAcademy再到Foursquare的每个企业都在使用MongoDB。

MongoDB也在牵头创建一种新型的开源许可证,其CTOEliotHorowitz认为,随着计算进入云的新世界,这对于保护开源软件业务是必要的。

Horowitz等人认为,云服务化促使开源社区重新考虑并可能更新开源许可证,以应对新环境中的新挑战。本质上,挑战是AWS,GoogleCloud和MicrosoftAzure,它们都可以使用开源软件,将其包装为服务并进行转售。AWS或Azure打包MongoDB并将其作为软件即服务(SaaS)的一部分提供的问题在于,它随后会与MongoDB自己的基于云的SaaS(MongoDBAtlas)服务竞争。那么,威胁的不是MongoDB的源代码,而是从该源代码派生的MongoDB自己的SaaS,而这恰恰是该MongoDB公司的主要收入来源。

为了抵御对其潜在威胁,MongoDB已从Gnu通用公共许可证(GPL)转移到所谓的服务器端公共许可证(SSPL)。SSPL从本质上讲,就是你可以使用此软件做任何你想做的事,只是不能用它来构建与MongoDBAtlas相竞争的东西。

最初,MongoDB将SSPL提交给开源合作组织OSI,该组织负责监督和批准新的开源许可证。看到OSI批准无望后,MongoDB在今年早些时候有撤销该提交。所以SSPL不是一个开源许可证,并且永远不会。

开源许可证有很多变种,但是自年OSI成立以来的要旨通常有:你可以使用此代码并对其进行所需的操作,但是你不能使该代码专有,如果在其他项目中使用它,则该项目也不是专有的。这些许可证是通过这种方式编写的,以防止有些公司利用开放源代码,把开放源代码打包到自己的代码中而不将所做的改进反馈给原始的开源项目。

但是由于SaaS的概念是今年内才出现的。Horowitz认为在SaaS产品中打包一段代码在现代意义上等同于在应用程序中使用它。这是一个新颖的论点,但它可以解决一个非常老的问题,而不仅仅是许可。这个问题早在OSI出现之前的免费软件就存在:如果免费提供软件,如何从软件中赚钱?

一个传统的答案是,围绕开源软件出售服务。但是对于Horowitz来说,这还不够。他认为通过支持合同使开源货币化从来都不是一种伟大的商业模式。RedHat可能会不同意这一观点,但是Horowitz认为,更多保护性许可证将带来更多风险投资,并基于MongoDB使用的开放模型产生更多软件业务。他说:我们很独特,我希望我们不那么独特。

他可能是正确的。更具保护性的许可证可能会吸引更多的风险投资,因为其投资回报的可能性更大。但是,如果确实有人要投这笔资金,它也不是投资于开源,因为对软件的这种限制意味着它不再符合开源的定义。

开源坚守者观点

相当多的开源拥护者已经对MongoDB和Horowitz的理念提出了反驳。

原始开放源代码定义的合著者布鲁斯.佩伦斯(BrucePerens)说,SSPL与OSI的第九个开放源代码定义不兼容,该定义中许可不得限制其他软件。由于SSPL强制将与涵盖软件集成在一起的所有SaaS软件(而不是其衍生版本)强制为开源,因此该测试未通过。

MongoDB绝不是唯一一个抱怨受云服务影响利润的开源厂商。另一家数据存储公司RedisLabs率先发出了有关云提供商威胁其业务的警报,RedisLabs最终可能会有更好的解决方案。RedisLabs最初将其许可更改为包括一些通用条款的分许可(CommonClausesub-license),该许可禁止任何人出售其涵盖的任何软件。今年春天,RedisLabs进行了另一项许可更改,本质上放弃了所有开源软件的伪装,并为其某些模块采用了本地专有的许可。需要明确的是,Redis的大多数受三条款BSD许可的约束,但某些模块则不受其约束,包括RedisJSON,RedisSearch,RedisGraph,RedisML和RedisBloom。

RedisLabs适用于这些模块的许可证表示,尽管用户可以查看和修改代码或在其应用程序中使用代码,但许可证限制了他们可以构建哪种类型的应用程序。有了RedisLabs的新许可证,你就可以随意构建所需的任何东西。但是不能构建数据库产品,缓存引擎,处理引擎,搜索引擎,索引引擎或任何类型的ML或AI派生的服务引擎。换句话说,不能使用RedisLabs的代码与RedisLabs竞争。这明显违反了开放源代码许可的核心原则之一,即对派生软件没有任何限制。

对于RedisLabs和MongoDB而言,一边申明你是开源的,一边却只允许自己从开源软件赚钱,这是没有道理的,只有专有软件才会这样做。

虽然有部分问题是还未明确,但确实有一些公司已经设法通过开源和专有代码获得成功。Elastic就是这样一个例。亚马逊在AWS上提供了多年的Elasticsearch服务(表面上与Elastic自己的产品竞争),而且亚马逊最近还打包了自己的Elasticsearch代码库版本,将其扩展为免费提供的Elastic服务,但是并未开源这些服务的代码。Elastic对此也只是听之任之。

历史的教训

为什么MongoDB完全想要开源?有很多非常成功的专有软件案例,为什么不走专有软件之路呢?

Horowitz认为开源会带来更好的系统软件,尤其是数据库,并继续将安全性和社区性作为保留开源的优势。在这两方面,他都是正确的。对软件的更多


转载请注明:http://www.aierlanlan.com/rzgz/3685.html