[关闭]
@lijiansheng 2017-06-08T08:53:17.000000Z 字数 2268 阅读 1087

当客户在问开源产品时,我们在想什么

“The single biggest problem in communication is the illusion that it has taken place.”
― George Bernard Shaw

题记

作为一名 OpenStack 的咨询顾问,在和潜在客户拜访的时候,经常性的会被问到一个问题:“你们的产品和开源的产品有什么区别?” 当你打算铺开了说的时候,客户往往已经失去了听下去的耐心。

于是,我就这个话题,写一篇普及的知识。其实更多的是解决误解的问题。

1. 开源有产品吗?

回答这个问题之前,需要明确两个概念,那就是什么是“开源”?什么是“软件产品”?我们首先来回答开源这个名词:

开源,全称为开放源代码,是表示一款计算机软件的源代码在按照某种协议许可的情况可以学习、修改、分享,为任何人,无论其是基于何种目的。

然后再来看,软件产品:

产品,这里本身就是一个商业术语,就软件来说,是能够为用户提供在某些硬件平台下直接运行的二进制程序,以及后续的安装、维护服务。

再来看问题,”开源有产品吗?”,更加准确的描述是:“开放源代码项目有软件产品吗?”

答案是:有,但不是由开放源代码项目所提供,而是由专业但商业公司来提供。

举个例子可能更能说明脉络。Linux Kernel是非常著名的开源项目了,作为操作系统的内核,可谓是开源界的一面旗帜,但是Kernel有产品吗?没有。不过Linux是有发行版的,如Fedora、Debian、Gentoo、Arch等。这些发行版除了用到Kernel之外,还整合了大量的工具、桌面环境、编译器等,如GNU C、Vi等,并有专门的安装程序、软件包管理工具等,当然,这些发行版本身也是开源的,如Deb、rpm等软件包管理器等。最后,是一些商业公司,提供Linux的商业发行版和服务来作为产品,进行商业化的操作。这些商业的发行版代码是可以提供的,但需要购买了产品之后才提供。

其实,讲完Linux的故事,相信很多人也已经明白自己所问的问题的答案了,可能心里还有一些疑问,比如:“既然都是开源的,凭什么你们作商业的收费动作?”又或者是“既然是开源的,我自己就可以搞定了,为什么要你们这些厂商?” 嗯,这些衍生的问题,本文就不做过多的诠释。让我们回到 OpenStack 来。

2. OpenStack 基金会提供那些项目?

时间回溯到2010年,NASA和Rackspace 发布的第一个OpenStack版本,项目只有Nova和Swift,分别是虚拟化和对象存储的项目。随着项目的蓬勃发展,OpenStack目前已经发展为拥有Nova、Neutron、Cinder、Swift、KeyStone、Glance六大核心项目,以及Horizon、Heat、Ironic等可选项目13个,还有几十个正在孵化中的项目。

更多详情,请参考OpenStack的navigator

这些项目作类比的话,和 Linux Kernel 是一个类别的。

2.5 OpenStack 和 OpenStack 基金会有何区别?

OpenStack 是一开放源代码软件项目,旨在提供一套基础设施即服务的云计算平台。OpenStack 基金会是和项目同名的非盈利性组织,旨在社区治理、软件开发、项目进度、质量把控、用户反馈等。

OpenStack 不属于任何一家商业公司,OpenStack 基金会的性质也是中立的,而基金会的运营费用则是靠收取会员费来周转。

3. OpenStack 发行版指的是什么?都有那些发行版供应商?

有了上面Linux的例子,这个问题就非常的容易回答了。我们不妨列个表格来作一一对应。

发行版本身也是开源的:

Linux 发行版 OpenStack 发行版 备注
Fedora RDO
Debian Fuel
Gentoo DevStack

商业发行版的横向对比:

Linux 商业发行版 OpenStack 商业发行版 备注
RHEL Mirantis OpenStack
Ubuntu Server Ubuntu OpenStack
UStack
EasyStack

4. 商业发行版为什么要“上游至上”?

仅仅就功能而言,我们就同名项目和产品回答用户的时候,会说:“没有任何区别!”

这是经过实证过的最佳途径,因为项目本身已经足够的大和成熟,很多已经是一种事实上的标准,来自世界各地,各大IT厂商的参与,这力量是任何一家IT所无法撼动的。如果自己“开小灶”,妄图添加一些看起来很美的功能,和社区的主干版本走差异化路线,必然有付出很大的代价:因为稍懂软件工程的人都知道,软件的维护成本是最高的。

“没有任何的区别,我们围绕上游。”这是最为负责的回答。偏离主干的代价案例不胜枚举:Google试图将Android从kernel切出分支,失败告终;1华为花了近5年的时间,才明白切分支的代价。2

如果说这个问题,是我们所遇见的客户中,真心所问的问题的话,那么这个客户很可能是初出茅庐的后生小辈,对于开源产品和商业产品有着颇深的沟壑。

总结

作为一家OpenStack 商业发行版的公司,我们希望帮助用户利用云计算来提升自己的竞争力,在数字转换的时代能够抢先一步,把握市场先机。然后开源的项目是优先考虑的方案,因为其开放、可定制、起步成本等优势是非常值得考虑的。如果你拥有优秀的软件人才:开发者、架构师、运维人员,以及愿意承担时间成本和失败的风险。那么我们也非常欢迎加入这个大家庭,如果不是的话,我们也十分的乐意帮助你!

试探我们的功底可以理解,但是如果你没有做任何的准备的话,我们可能会在开始的沟通上浪费彼此的一些时间。所以,请问正确的问题。

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注