8 月 16 日,ALC Beijing 的首次线下沙龙流动 ——《开源到底有多难?》在微软大厦如期举行。本次沙龙次要是分享开源开发教训、探讨如何让开源我的项目更加茁壮成长,以及分享 ASF 治理和运作开源我的项目的胜利之道。
Apache 软件基金会成员、Apache 软件基金孵化器导师、ALC Beijing 发起人姜宁;Apache Flink 社区 PMC member 李钰;Apache DolphinScheduler 我的项目负责人、易观 CTO 郭炜;ASF Member、阿里巴巴 Tech Lead 孙金城(花名:金竹);Apache APISIX PMC member、深圳干流科技创始人温铭;ALC Beijing member、开源布道师李建盛别离在本次流动中进行了分享与探讨。
Apache Flink 社区 PMC member 李钰在流动中以《Apache Flink 中文社区的倒退与挑战》为题进行了分享,以下为整顿后的文字版本。
《Apache Flink 中文社区的倒退与挑战》
大家好,明天我次要是代表 Flink 中文社区的同学们,给大家介绍一下社区在倒退过程中的挑战,以及咱们应答这些挑战的做法。
大数据和 AI 是互联网和计算机领域目前十分火的两个方向。在大数据的方向上,除了数据量和多样化之外,在 4V 模型上次要是向实时化发展,从而获取更多的价值。
我明天分享的 Flink,个别定义为第三代的流计算引擎。
流计算引擎从 2010 年倒退到当初曾经有三代了,其中第一代次要是以实时化为指标,但在数据一致性和正确性下面存在一些缺点。驰名的 lambda 架构就是通过 Storm 做实时化,但仍须要批量计算来修改后果。
第二代个别以 Spark-Streaming 为代表,对一致性的缺点做了修改,但在实时性上仍有缺点。Flink 作为第三代引擎,是以流为根底的计算引擎,反对流批一体的架构。
Flink 的倒退历程相似于 Spark,都起源于大学和研究所。Spark 于 2009 年诞生在伯克利大学的 AMPLab,Flink 也是于 2009 年由柏林工业大学联结其它机构发动的钻研我的项目,并且在 2014 年成为 Apache 的顶级我的项目,倒退至今曾经有十年历程。整体来说 Flink 的倒退历程和 Spark 是比拟像的。
咱们看到 Flink 实际上是起源于欧美、起源于欧洲的开源我的项目,所以咱们建设中文社区的过程其实是一个欧美我的项目本土化的过程。在这里咱们引申一下,开源我的项目我集体感觉能够依照起源地来划分,一种是欧美起源并在中国本土化,另一种是咱们外乡起源的社区,这两类我的项目当初面临的挑战和艰难有一些不同。
上面咱们来看一下 Flink 的利用场景,次要是针对实时化的一些场景 —— 比方实时大屏、风控、广告、实时举荐、视频剖析等等。
Flink 在国内的利用目前十分宽泛,这是一个 Logo 墙,咱们看到包含 BAT、TMD 等很多一线的公司都在应用。
咱们后面提到,这是咱们为了把 Apache Flink 在国内本土化组建的一个社区。这个社区也失去了 Apache Flink 我的项目的官网受权,从 2018 年 6 月正式经营,期间也组织了十分多的线下流动。
在经营思路上,咱们感觉一个欧美社区的本土化工作须要一个专门的团队来经营。所以 Flink 中文社区背地有一个专门的经营团队,咱们介绍的这些内容所对应的理论工作都是由经营同学们在实现,在团队中每个人有各自不同的负责方向。
介绍完了这些根本的信息,那么做一个我的项目本土化次要的挑战在哪些方向?
首先十分显著的一点,因为这是一个起源于欧美的我的项目,所以在 Flink 中文社区成立之前,无论是入门材料或者是视频的教程,都是以英文为主,不足中文内容。这就导致国内的同学在学习的时候绝对比拟艰难。
另外一方面,2018 年的时候实时计算的概念在国内处于一个晚期的阶段,大家都刚刚开始思考是否从 Lambda 架构上转型。
因为 Flink 有一个比拟高的学习门槛,导致大家不足一个集中式的学习和交换的平台,网络上积淀下来的内容绝对比拟零散,而这又进一步的减少了初学者的入门门槛,造成了一个恶性循环。咱们建设中文社区,次要也是为了解决这些问题。
那咱们采取了哪些形式呢?我感觉次要是两大部分。
第一大部分,咱们面向开发者进行了一个积淀,给了大家一个比拟顺畅的交换形式。一方面大家能够互相交换,另一方面咱们能够把大家的发问和答复,以及学习和分享的内容,进行积淀。我感觉这个很重要。
另外一部分,咱们会组织线上或线下的流动,让整个的圈子有一个扩大。咱们面向的群体也次要是两个局部,第一个局部是开发者,咱们心愿开发者可能有一个更低的、更容易的入门门槛,有更多的开发者来退出 Flink 这个我的项目。另外一方面面向的是用户,用户拿到更多的案例和材料,可能更便当地去应用 Flink。
这两者之间,其实也是能够有一个正向反馈的,应用的用户越多,那咱们开发者的成就感就越大;而咱们的开发者越多,咱们的用户应用软件的信念也会越高。咱们可能通过右边的伎俩去做到左边的用户增长,从而把恶性循环转到正向循环。
上面再给大家介绍一下咱们的做法和遇到的艰难,以及是怎么样去解决的。
从整体来看,咱们在开发者积淀这部分,做了这四件事件:
首先咱们应用钉钉先去创立了一个社区的交换群,这个群次要是用来进行技术直播,并且给大家一个更不便交换的空间。
第二,咱们创立了一个微信的公众号,公众号会有一些比拟新的无关社区的资讯和相干的技术类文章。
第三,咱们把这些直播和公众号文章积淀下来,组织成了一个中文学习的网站,作为一个对立的入口来解决中文材料少、内容扩散等相干问题。
第四方面,咱们通过 Apache Flink 我的项目官网渠道创立了中文的文件列表,这样咱们能够把问答相干信息进行积淀。
接下来咱们别离来看一下这四件事里都有哪些坑、咱们遭逢过哪些艰难。
因为 Apache 的我的项目层出不穷,如果其它的小伙伴也心愿将一些新生的欧美我的项目本土化去推广和落地,那咱们之前所面临的、遇到的艰难,或者踩到的一些坑,大家都能够防止。
首先在学习网站的建设局部,我感觉是把欧美的我的项目本土化的一个十分典型的过程,咱们在这里也犯了一些很典型的谬误,所以重点向大家介绍一下。
首先最开始创立这个网站的时候,咱们其实没有拿到官网的受权,也就是经营的不合规。咱们过后的名字叫 Flink China,所以接到了 Apache 软件基金会的正告邮件。
这是一个很典型的问题,咱们有一个热切的心,想做一件很好的事件,但还是须要合理合法的路径跟伎俩。Apache 软件基金会有十分充沛的流程,它也很激励大家去做本土化而后进行推广。所以在收到网站正告后,咱们开始和社区交换,申请官网的受权,包含之后网站的经营等相干的状况,咱们都会跟社区进行交互。
那这个过程中,无关网站的条件和规范也还是有很多相干要求的,比方建网站须要什么条件,要应用 Apache 我的项目的 logo 须要什么流程等等。这个是网站的第一个阶段,尽管创立了网站但因为经营不合规经验了用户的散失,也算是踩过的一个坑了,但这对咱们也很要害,促使了咱们在后续的中文社区建设过程当中,更频繁地和官网的社区进行互动。
第二个坑,是过后咱们把服务器放在了中国香港,没有放在边疆。过后的思考是这个中文的网站也不只是大陆的同学们会看,可能海内的一些同学们也会看,但服务器放在里面的问题是会被墙掉。这也是一个教训,过后咱们的日拜访流量曾经达到 5000,然而不得不换掉一个域名。
第三个就是域名,ververica.cn。这里头的问题实际上是说,当有一个公司在前面撑持经营的时候,应用了 ververica 这个商业化的名称,那在这个域名外面就既有开源的内容,又有一些商业化的信息,因而这个定位存在着不清晰的问题。
对于这点,咱们也是跟 Flink 的官网社区进行了探讨,从往年的 7 月份开始,全新的推出了 flink-learning.org.cn 域名。这个 Flink-learning 网站是社区正式投票通过的一个域名,而且这个域名有中英文两个不同的版本,次要提供 Flink 学习相干的材料,分成技术材料和企业实际,包含文字和视频。另外就是还会承载社区的一些流动。
所以咱们从学习网站的建设来看,是有一个十分典型的过程。从一开始咱们有一些 ” 游击队 ” 式的打法,而后逐步地积攒教训,换成正规的形式。
第二个方面,我认为是钉钉群的建设。当然用微信群也是没有问题的,但钉钉的一个益处是同时能够发动和进行直播。咱们当初整个中文社区在钉钉群下面,两个大群总计应该会有 15000 人左右的规模。咱们在钉钉群上次要用来做答疑、直播、互动,包含一些线上线下的信息传递,这个是咱们建设钉钉群的目标。
第三个方面,是建设了中文邮件列表。咱们发现在钉钉群里有很多同学问技术相干的问题,但这种即时通讯的群有个问题,就是聊天刷屏的人比拟多比拟快,信息混淆,咱们用钉钉群进行这种 Q &A 的积淀和积攒,其实并不是特地的正当。
通过搜寻聊天记录查找一个问题十分难,并且聊天记录保留的无限。所以咱们和官网社区探讨,如果只有英文的邮件列表,很多在语言上有差别的同学可能就不想问了。
所以咱们建设了中文邮件列表来做技术积淀,并且让国内的开发者或者是使用者,可能感触到更多官网的参与感,而不是说中文社区只是本人玩儿本人的和官网社区脱节。咱们能够看到在 Flink 的中文邮件列表里曾经积淀了 1600 多个相干的话题,如果大家对 Flink 有趣味的话,有一些问题也能够到下面先进行查问。
第四方面,是举办一些社区的流动。咱们后面讲的三个方面,次要是为了升高入门的门槛,并且给大家建设一个交换沟通的形式、一个阵地。
而社区活动则是另外一个维度,是为了扩充整个相干社群的影响力,让更多的人可能晓得有 Apache Flink 这么一个很先进的计算引擎。另外也是让大家有面对面交换的机会。
因为疫情影响,大家当初只能通过线上交换,并且成果也还不错。但咱们认为人毕竟是一个社会的动物,线下的交换很有必要,因而咱们尝试通过一系列的流动,来对整体社群进行推广和裁减。咱们组织的社区活动次要有以下的几个形式,大家也能够参考。
第一个是 Apache 官网的会议。Apache 为了推广在寰球的影响力,在寰球有不同的分舵,欧洲会议、亚洲会议等等。官网会议是一个十分重要的渠道,因为带着“官网”字眼的都会让大家感觉更加的正式和更加有志愿去参加。除此之外,咱们还会组织一些小型的 Meetup 会议,不须要太多人,大家进行一些简略的交换。
第二个形式是咱们会组织一些挑战赛。会议也好、Meetup 也好,次要还是面向用户群体来介绍社区将来的倒退布局、新性能,或者大厂的应用教训、遇到哪些问题、解决的计划是什么等等。这些都更多的是偏差于用户层面。
而咱们的挑战赛更多的是面向开发者、面向没有毕业的学生群体。学生是行业或者说祖国的将来嘛,咱们其实也是在做开发者的造就。为了让挑战赛有更好的成果,咱们也会配套的做一些训练营。这些都相当于对 Flink 自身的技术层面进行一个相干的推广。
通过下面一系列的工作之后,咱们拿到了一些比拟不错的成绩。
这张图显示的是中文社区建设之后,Apache Flink 的 GitHub Star 增长速度。这里并不是说齐全是因为咱们的推广大家才会 star 咱们的我的项目,但这个也能够从一个侧面反映,在有一个中文的社区后,会给整体的 Apache 官网社区所带来的影响力下面的晋升。
另外的话,咱们能够看到 Flink 官方网站的访问量中国曾经超过美国了,大家去谷歌或者百度 Trend 下来看,也能看到 Flink 在中国的热度是十分高的。
在最新的 ASF 2020 财年报告上,咱们能够看到 Flink 应该是间断第三年蝉联最沉闷的 Apache 邮件列表,而访问量和提交的次数也是在所有我的项目里排名第二。这是咱们获得的一个成绩。
当初咱们回顾一下发现,做中文社区相当于是将欧美或者海内的我的项目本土化,而首先最须要解决的问题是怎么样可能把入门的门槛升高。
咱们采取的伎俩,就是建设社交群体,让开发者和用户有一个交换的阵地,而后组织一些相应的直播,让大家有一个中文的相干的常识的获取的形式。
另外就是通过微信公众号,去流传一些技术类的文章,并且还建设了一个中文的学习网站,但如果不是专门的组织后者团队可能绝对艰难。
大家也能够通过公众号加上 B 站等视频网站的形式,去进行材料的积淀。因为我感觉最次要的还是怎么样积淀材料,而且有一个对立的入口让一些初学者或者爱好者可能不便的获取到信息。这里还有一个很重要的点,就是肯定要走官网的渠道,肯定要和官网的社区分割。
另外就是面向咱们的用户和开发者群体,组织一系列线上线下的流动,来不断扩大我的项目在外乡的影响力,造成开发者和用户群体同步裁减的正向循环。
最初略微打一打广告,Apache Flink 中文社区在往年的下半年,还会组织一系列的社区的流动,包含咱们当初正在进行的挑战赛,还有在各地的 Meetup 心愿大家来加入。
另外咱们社区也在招募一些志愿者,也期待着更多的同学们来帮忙,进行 Flink 社区英文的翻译以及技术文章整顿等相干的工作。
相干浏览:
流动回顾丨 ALC Beijing 首场 Meetup:《开源到底有多难?》
易观 CTO 郭炜:开源,不是蠢才的甜点,而是怠惰者的盛宴
流动中更多嘉宾的分享以及圆桌探讨内容,近期会于 SegmentFault 社区以及 ALC Beijing 官网渠道陆续进行公布,敬请期待。
SegmentFault 作为本次流动以及 ALC Beijing 的媒体合作伙伴,始终非常重视开源文化以及开源生态的流传与建设,并于往年 5 月份推出了「SFOSSP – 开源我的项目搀扶打算」,目前曾经助力数十余个开源我的项目进行宣传推广。
后续也将和 ALC Beijing 以及其余开源社区、开源我的项目团队、开源从业者独特打造开源生态,解决开源过程中的理论问题,敬请期待。