股票代码: 836286    股票简称: 易云股份
官方微信

扫一扫关注易云捷讯官方微信

备案 |       管理控制台

为什么基于成功开源项目的商业产品会失败(二)

上期我们聊完了在基于成功开源项目的商业产品公司都在做什么,以及产品失败的具体表现,本期让我们接着分析为什么会失败,如何避免这样的失败。

为什么会失败

正如我们将在下文要谈到的,我们先来看看成功地运作开源的商业公司,如RedHat,WordPress,Cloudera,Mirantis,他们看起来都找到了属于自己的路。

对于开发人员的重视,不是体现在集中的那几个月,而是一个漫长的过程。施展各种办法让人留下来,允许价值观的发挥。

一般情况,开源项目大范围的宣传或者是已经有了很多的工程师去关注,那么这个时候的参与和学习,已经有点晚了,太过于快速地想急于求成,没有很好地消化设计理念、工作原理、愿景目标,直接上来堆代码其实就预示着悲剧的发生。

招聘靠谱的人员,在我们所生存的这片土地上,能够理解开源的生态系统者寥寥。虽然都是被社会主义洗过脑的,但多数人还是人格分裂,没有人相信这件事情。所以,太过于着急的仅仅以语言和项目来招聘人员,未必能够理解和认同。

缺乏开放的心态,总想着那些垄断的霸主,比如apple,microsoft,vmware。殊不知自己的实力?

重视知识产权是件好事,但是用错了地方,在一个开放的世界,以分享为常识的世界里,想自己藏着掖着,这是种什么样的心态?时间久了,必然会被抛弃,除非你自己愿意改变。

在开源社区混的久了的工程师,形成了自己独特的文化,若要逼着他们适应新的文化,没有多少人能够做到在两种文化之间切换来切换去,虽然这是国人非常擅长的伎俩。

面子,我们国人糟粕的文化之一,这在商业中,尤其是重视这点的人做了甲方后,他/她一定会以什么都懂的身份出现,哪怕是最初装着谦虚的样子,会告诉你应该这样做,如果这个时候,你或者代表你的销售没有把持住,那么很不幸,你如果听了他/她的,这个产品基本就废了,而他是不会负任何责任的。

所谓的“深度定制“”自主开发“,这是失败的最大原因之一。只要这么一说,其实是不为社区反馈的,也就意味着某些功能和模块和社区相脱离。如果你的开发人员不是很多,或者不是项目的发起者和维护者,那么你就有可能做的不如上游的优秀。

如何避免这样的失败

我这里给出的良方,国人未必听的进去,因为这是一个崇拜成功者的文化,对失败者没有任何的宽容精神的文化,但是我还想把他写出来,不会有所保留,只是给能够赏识和理解的人看的。

●  必须雇佣大量的开发、测试、文档人员,直接纯粹的参与到社区

●  在选型之前,要明确自己的业务方向

●  营造宽松的文化氛围,努力的施展各种手段让工程师脑子里想着开发更好的产品

●  重视生态系统,不要孤立的想独霸天下

●  分清core和外围部分,这点可以参考各个Linux的发行版,或BSD的发行版。不要轻易的去动core的东西而不和社区相互动

●  注意知识的传播,优秀文档的撰写。你做的东西一定得有熟练的专业用户使用

●  重视服务,换句话说,需要提升技术支持团队的能力

安娜卡列尼娜法则

托尔斯泰留给世人不朽的著作《安娜卡列尼娜》中有这么一句话,“幸福的家庭看起来都差不多,而不幸的家庭却各有各的不幸“。我对这句话的理解,一直以来比较肤浅,直到看到《枪炮、病菌与钢铁:人类社会的命运》,才有了新的认识。这本书对于其的引用,作者是以动物的驯服来阐述的,“能够被驯服的动物看起来都差不多,而不能被驯服的动物却有各自的不能被驯服的理由。”不能被驯服的动物,诸如斑马、熊、豹子等,或太过于凶残、或食量太大、或由于繁殖等各种各样的问题。

回到我们基于开源项目做产品的话题上来,每个项目或者每个公司虽然面对的是同一个问题,但是失败的理由却千差万别。其实,让那些失败的经理回忆,也不可能得出相同的结论,甚至相似的结论。比如因为找了有道德缺陷的人,比如后期资金不足,比如调研失败,比如市场预测,比如对开源选型后悔,比如应该自己重新去写,比如忽略了测试的重要性,比如没有重视文档。

本文的题目同样可以以安娜卡列尼娜法则来表述。聪明的读者,你自己套吧。

 

附录:那些个发行版的特征

我们知道Linux的发行版有300多种,曾经有人专门做了张路线图,可以到维基百科中查到。即使是成功的商业发行版,如redhat,SUSe,Ubuntu等也有好多种。OpenStack的发行版眼下也有好多了,BSD就更加的悠久了FreeBSD,NetBSD,MacOSX等。

要比较他们,需要做大量的规划、试验等工作,wikipedia上也有类似的对比,我们这里就不细谈了。这里要谈的是总结性质的,从笔者个人主观经验和实际操作中得来的,哪位有兴趣的话,可以补充。

先来看Linux发行版之间的差异:

●  包管理器,如RPM,Deb

●  UI,无论是gnome还是KDE,还是utiy2,都在追求着不同

●  安装程序,anaconda,Yast2,debian-installer,各有千秋

●  上下游的生态系统,如硬件兼容性,应用程序兼容性,比如SuSe和SAP的合作

●  对kernel,gnu工具链的贡献

●  对Linux操作系统的知识传播,文档、培训、社区、桌面版

●  独立的社区,如Fedoa,OpenSUSe

再看OpenStack的发行版的差异:

●  带外管理,如Fuel,RDOmanager,甚至是裸的puppet/chef

●  上下游生态系统,各类设备,如存储、网络的驱动认证,上游的应用,如Oracle12C

●  主导OpenStack社区核心项目之外的项目,如Murano,Sahara

●  对于OpenStack知识的传播,培训、完善的文档、技术活动等

●  对核心项目的参与人数,及代码贡献

最后是BSD,这个我不太熟悉,只是特别喜欢NetBSD当年独立出来的故事。这个微内核的架构,和上述两种非常的不同。甚至还包括开源协议的不同。

●  注重点不同,如NetBSD就是为安全而生的

●  借鉴其它如Linux,GNU的项目不同

●  跑在专有的硬件中,彼此孤立

●  尤其有Apple在背后,商业的氛围较浓,反而社区相对比较稳定

 

二维码.gif

关注易云微信号,浏览更多技术文档


© 2011-2017 易云捷讯科技(北京)股份有限公司, 版权所有 | © 2011-2017 Eayun,Inc. All rights reserved.

京公网安备 11010802022475号 | 京ICP备 11028869号

业务咨询:400-606-6396