Categories
程式開發

分布式系统架构设计:为什么开源的项目不如商业产品


动机

架构设计人员需要有产品的商业意识,作为软件开发人员在工作过程中往往离不开开源项目,但是能回答好“为什么开源的项目不如商业产品?”这个问题的并不多,因此本文就为此做个解读。

为什么开源的项目不如商业产品

开源的项目从产品化的角度来看可分为三个层次:

项目与社区锲合

项目与社区锲合,即开源项目在社区内的锲合程度,度量指标是点赞数、fork数、社区的技术文章阅读量,提升项目于社区的锲合度需要通过运营推广的方式,比如参加技术大会、发布技术文章以及发布完整的项目文档等;

产品与市场锲合

产品与市场锲合,即开源产品在市场的锲合程度,是否满足市场的真正需求,度量指标是下载量、使用量,通常来说开源项目能做到这一步就非常成功了,比如ceph,k8s,Tensorflow, Flink等;

价值与市场锲合

价值与市场锲合,即客户愿意买单的点,度量指标是收入。其一般指的是开源项目里的增值功能以及企业级特性,即项目自身的商业价值,例如:更好的性能、更好的可用性、可靠性、更加易用的部署与升级功能,更加易用的可视化功能、安全、可观测、质量的可度量性、额外的服务支持以及解决方案化。

至此,我们可以看出商业模式的差异决定了开源的项目往往不如商业的产品,这是商业模式带来的差异。开源的项目若是完成了第一层次与第二层次就可以认为是非常成功的一个项目,如果把第3层次也完成了反而是个失败的开源项目,因为这不利于项目的商业化,开发团队赚不到钱没有存活下去的可能性。但是商业化的产品必须涵盖这三个层次,开源的项目还只能算是一个项目还不是产品,它只完成了第1、第2两个层次,因此商业化就要求我们需要把开源的项目产品化。

小结

本文解读了一个问题:为什么开源的项目不如商业产品?日拱一卒,功不唐捐,分享是最好的学习,与其跟随不如创新,希望这个知识点对大家有用。另作者能力与认知都有限,”我讲的,可能都是错的“,欢迎大家拍砖留念。

参考资料

[1] https://a16z.com/2019/10/04/commercializing-open-source/

版权申明

本文的版权协议为 CC-BY-NC-ND license:https://creativecommons.org/licenses/by-nc-nd/3.0/deed.zh

在遵循署名、非商业使用(以获利为准)以及禁止演绎的前提下可以自由阅读、分享、转发、复制、分发等。

作者介绍

常平,中科大硕,DELL EMC 资深首席工程师,曾就职于Marvell、AMD,主要从事Linux内核以及分布式产品的交付、架构设计以及开发工作。

本文转载自常平的技术博客。

原文链接

分布式系统架构设计:为什么开源的项目不如商业产品