vlambda博客
学习文章列表

边无际专访Apache郭炜:开源社区最核心的还是产品力


开源社区|线上专访



郭炜,Apache Software Foundation Member, Apache孵化器导师, Apache SeaTunnel(incubating) Mentor, Apache Dolphin Scheduler PMC,ClickHouse 华人社区创始人,中国开源社区最佳33人,中国2021年开源杰出人物,中国软件行业协会智能应用服务分会副主任委员,全球中小企业创业联合会副会长,TGO鲲鹏会前北京分会会长,虎啸十年杰出数字技术人物。


全球最成功的科技公司都拥有开源软件,开源已经成为下一代软件的开发方式。选择开源,意味着选择了一种协同开发方式,而社区的建立是开源产品成功的关键。


边无际专访郭炜,共同探讨如何从零到一打造出受欢迎的开源社区?



如何推广一个开源社区,找到最初的那批用户?


Apache SeaTunnel和ClickHouse推广社区的时候,有一个挺重要的方法就是做了一个单机版,一键部署一键使用,一般来讲,做一个单机版然后去试用会比较容易,否则对于普通用户来讲会比较难使用。


从我的角度看,Shifu社区的推广显然要选择有设备的客户,那是将来买单的客户,因为你们对K8s比较熟,这就是你们的优势。你们需要根据你们的优势寻找最终付钱的用户。Apache 很多项目也分布式的,用户群体规模也不大,但是你只要你明确解决他们遇到的核心问题,你就能找到这些人,通过这些用户的口口相传,也就把社区建起来了。


如果找到的是懂设备但是可能不懂K8s的用户,就遇到了我们提到会有一键部署这种东西,就是因为那些用户不会,然后他们又想用,只能一键帮助部署。


用户一定需要瞄准最终的用户,付钱的可能是集成商,但是一定是最终用户去买单,所以你打的应该是那个最后的用户,然后才会再口口相传。比如,一些国内的集成商,其实都在用Hadoop。他们的做法是,自己制造一套Hadoop,然后交给用户去卖。这个是集成商最喜欢的方式,因为他们对于客户需求最熟,只要根据客户的需求进行修改就可以了。在这个场景中,他们往往是你的竞争方,而不是站在你的这一方。尽管在推广社区,在使用社区的时候,可以利用集成商的力量,但是一定在选择目标用户的时候选择最后的用户。


如果你的目标用户是选择集成商,选择Apache就很容易就被抄袭利用,本质原因是因为门槛不高,它更多都是工程师写出来的东西,集成商可以找其他方式来替代这件事。另外,国内我还没看到给集成商卖工具,然后获利的企业。在海外其实我们只要对方的认可,而国内现在我们看到的服务用户,是私有化的。现在跟集成商合作是这样的模式,比如你是一个软件,用户用了后指定用你的产品。但是基于此要做很多二次开发的工作,或者基于你的产品开发实际业务需要的东西。


这个时候,用户会说我购买了这个工具,而集成商基于这个给我做系统集成。比如说Apache SeaTunnel可以处理大量数据同步的工作,他们写脚本是要集成工作的。而我提供了一个效率非常高,非常稳定的一个数据同步工具,解决了多数据源对多数据源的问题,实现这个需要对于集成商还是有难度的。然后互联网公司大厂开始用,之后集成商开始用。集成商给他的甲方,甲方用起来之后发现一些问题,比如没审计日志、没权限管理等等。但每次都会比较麻烦,那么用户会过来找我。这就是Apache的商业逻辑


其实做社区本身没什么成本,坚持做就做起来了。但首先要保证产品本身是好的产品,其次是对产品本身足够了解,第三是对用户痛点和用户场景的理解,这个我觉得比较难的,这个需要你的行业知识和行业有很深刻的理解。当时Clickhouse流行起来的时候,是因为国内开始做用户行为分析、用户日志,那个时候很多人还不知道怎么用,会觉得不方便。所以我就结合用户日志查询选择场景。


开源就是讲场景。这个我觉得很重要的事情,是需要花时间的,需要花精力去研究。找到合适的用户场景,这个其实也是打磨产品的一部分,如果找不到场景找不到痛点,证明你的产品选的位置可能有问题。如果你的产品调性选的不对,客户用的不爽,你的社区做不起来,那就证明了产品的先行指标有问题,所以这时候要先调整产品。



如何通过Apache协议赋能开源社区建设?



Apache协议的优点是可以找到一些志同道合的开发者一起合作,缺点是在当下这个环境里,谁都可以基于它做商业化,所以需要保留一些东西在商业版。开源的好处是大家都愿意用,社区门槛低,用户规模会有很快的增长,但是产品的商业化会比较难。


对于当下国内的环境,中小型企业的续费率不高,资金相对少,而中大企业有私有化的要求。由此,使用阿帕奇协议进行开源社区的建设,需要把产品设立好边界,需要保留一定的功能在非开源的版本中。


Shifu 如果要采用将Apache协议开放,允许用户本地部署的方式进行产品设计,可能会遇到两个方面的竞争,第一是云服务厂商,第二就是集成商。他们可能会用你的产品来和你竞争,这个是常见的。


不同的开源协议上,存在不同的特点。如果是Apache协议,好处是会有很多开发者、集成商参与对产品的打磨;如果是SSPL协议的特征是普通开发者对SSPL认知度不高,开发者社区不会很快成型。国内现在比较流行的是GPL和阿帕奇这两个协议。使用GPL主要目标是获客。


归根到底,产品本身是获客的来源,产品力很重要。



开源产品的产品力是怎么体现?



首先,需要有能力一句话说明产品是做什么的,否则产品力肯定不好。其次,产品调性决定了这个产品是不是行。产品调性就是产品最优势的一两个方面,产品设计者需要不断地问自己,哪两点是你觉得最重要的?比如说做ClickHouse的产品调性就是强调快,比普通产品的快十倍。


产品需要聚焦,要能够用一个产品实现最核心的功能,而不是用多个产品进行交付。比如Apache SeaTunnel是个底座,它其实就是大数据量同步,但是这个底座对用户来讲没有任何感知。所以,拆分产品的时候得想好产品价值是哪块,用户感知的是什么?用户使用你的产品的原因是什么?他们肯定不是要用一个大链条,因为切换成本和使用成本太高了。如果入门的门槛太高,社区肯定做不起来。入门门槛很低,然后慢慢地添加或减少各种子项目才是可行的。



如何将产品实现商业化?



这个时候就是要决定选择行业的时候。比如说汽车行业是你们将来的行业目标,那你就应该去做,去寻找汽车行业的客户。如果你觉得它不是,那你就应该再考虑。一般来讲,我会选择是先选接受者比较多的行业啊,比如说互联网。


产品要先让目标用户尝到甜头。开源是开源,销售是销售,这是不同的方式。举个例子,比如B站就是SeaTunnel的用户,但是不会希望他去付费的。要收钱就是完全不同的方法,从立项第一天就不一样。特别像面对大的传统企业,往往只有一次机会。需要让它用起来,然后用完以后再让它收费,这样产品周期会很长,而且商业版本的差异很大。


做开源的初心是大家先都通过开源使用,用过之后自然也就有客户转化了。实际情况也是如此,一个开源社区大部分得做到社区成熟之后才能有收入,否则一点收入都没有。社区成熟之后,你会发现获取用户很容易,是用户在找你,而不是你找用户了。要没试过开源的用户要么需要我提供维护,要么需要我做点什么定制。这个时候,我把商业版推出来。


开源社区做起来以后最重要的是品牌,别人会觉得你在这块领域你们最专业。这个信任其实我觉得是开源社区最重要的。个体对你们的开发者对你的员工和对你的这个产品本身的信任,我觉得是第一重要的。




Shifu 

开 放 内 测


Framework



Shifu概览:

Shifu 是由边无际Edgenesis自主研发的物联网开源开发和管理平台,开发者通过Shifu可以轻松实现连接、监控和控制任何物联网设备。


Shifu正式上线Github平台,发布第一版技术文档,并开启内测。



https://cn.docs.edgenesis.io/

https://github.com/Edgenesis/shifu


回复“内测

加入Shifu首批开发者社群