0
回答
【开源访谈】Apache Eagle 联合发起人陈浩:如何发起和维护开源项目
终于搞明白,存储TCO原来是这样算的>>>   

Apache Eagle是开源分布式实时Hadoop数据安全方案,支持数据行为实时监控,能立即监测出对敏感数据的访问或恶意的操作,并立即采取应对的措施。它是如何成为Apache 顶级开源项目的呢?在发起和维护过程中遇到过什么困难?应该如何应对?本期开源访谈邀请到了Apache Eagle 联合发起人、PMC和Committer 陈浩老师,谈谈应该如何发起和维护开源项目。

【本期嘉宾】

陈浩,Apache Eagle 联合发起人、PMC和Committer,现任eBay基础架构部资深工程师,负责Apache Eagle的项目规划、产品设计、技术架构以及开源社区管理;多次受邀于美国硅谷,亚太地区以及国内举办的Hadoop Summit、运维大会 以及QCon等知名国内外会议担任讲师;  毕业于南京大学;发表多篇大数据分布式系统领域国际论文并拥有多项国际专利。

【访谈实录】

1、先简单介绍一下自己。(学习工作经历,以及擅长领域)

答:大家好,我是陈浩。12年毕业至今一直就职于eBay 中国研发中心,主要负责数据平台基础架构的研发和架构方面的工作,专注于大数据分析平台,比如hadoop的调优,管理,自动化以及监控等领域。Apache Eagle就是其中比较重要的一个项目,我主要负责该项目的规划,产品设计,技术架构以及开源社区管理等,此外最近也开始在着手一些容器云计算和全球分布式数据库方面的工作。

 

2您发起开源项目的初衷是什么?

答:开源主要是希望能够和业界和社区有更多的交流,确保技术栈的创新性和开放性,这也是我比较认可的技术文化中的重要组成部分。

因为目前我所从事的工作是属于大数据分析的平台,而现代的大数据基础架构平台的大部分组件,比如Apache Hadoop/Spark/Kafka等,都是来自于开源项目,所以一直受益于开源社区。作为对开源社区的回馈,我也开始积极地参与开源,贡献开源,特别是对一些在使用中的开源项目,比如Apache Eagle/Kylin/Grafin 等,同时也尽可能开源一些有价值的项目。希望能够行业解决一些共通的问题,更好地融入到整个开源的大数据生态系统之中,这不论对于个人的成长,还是团队技术能力的积累都非常有帮助的。

 

3、就您的经验谈谈,发起一个开源项目前期要做好哪些准备?维护过程中要注意哪些问题?

答:(1)明确开源的目的,不要为了开源而开源。开源的目的不在于开放源码,而是创建社区,明确解决怎样的问题,受益者是哪些,按照特定的组织规则,将有共同需求的人聚集在一起,保证项目可以被自由的使用并提供明确的反馈和贡献机制,共同推动项目的发展。你可以选择一些开源组织托管,像简单的github开源等,Apache也是非常好的一种方式,它能提供非常成熟的开源模式以及基础服务。

(2)维护过程中需要注重社区的多样性,开源项目可能都是特定的公司或者组织发起的,但是不应该完全被特定组织控制,或者只解决特定的需求,需要始终保证开源项目被使用和贡献的自由和开放性。

 

4、发起开源项目这个过程中有没有印象深刻的事?

答:印象最深刻的应该是项目开源初期的时候,对开源社区和Apache 基金会还不是很了解,如何管理和维护开源社区成了最大的难题,比如申请Apache孵化等,作为开源新人,只能在开源社区公开发邮件求助,描述项目的价值以及愿景。但意外的是许多来自不同大型项目的PMC 自愿担任项目的导师,比如Apache Storm的主席 P. Taylor Goetz等,在这些导师们的帮助下,Eagle非常顺利的从项目孵化到毕业成为顶级项目,同时在这个过程中也跟许多人成为了非常好的朋友,也成长了很多。

 

5、您觉得做开源项目最难的地方在哪?你是如何克服的?

答:开源项目最难的是商业利益和开源社区利益的权衡,成功的开源项目不应该被任何商业组织控制,但可能往往会被特定商业组织主导,比如Spark 背后的databricks,Kylin后面的kyliengence 等,但是如果开源项目和商业模式的不一致时,需要认真的思考下其中的平衡,毕竟商业组织是以盈利为目的的。

但是现在是一个很好的时代,很多开源项目都有一个非常专业的商业团队在维护,但这些团队都只是在这个项目中起主导作用,而不是直接控制这个项目。对于个人和公司而言,开源项目看起来是公益,但本质上,也有长期和短期的收益,可能短期来看,内部投入没有明确产出,而是贡献到了开源社区,但是开源社区在解决共同问题时资源是共享的,还有针对各自面临的一些问题的经验探讨等,长期而言对团队成长有诸多益处。

 

6、你认为 Eagle 成长为 Apache 顶级项目的关键因素是什么?

答:我们开始一个开源项目前必须要选择一个合适的开源方式,Apache 是一个非常成熟的开源组织,对顶级项目有非常明确的要求。有些要求比较简单,比如需要这个项目足够开放等,其他的要求包括社区建设、多元化,还要有足够的公司去主导或参与等。当这个项目变得更加多元化,商业成分越来越平衡后,项目能够持续发展下去,不会因为一个公司的退出而失败,那么这个项目就可以成为顶级的开源项目了。

 

7、能不能介绍一下 Apache Eagle 团队,以及相互之间是如何协作的?

答:我们是完全开放化办公,不区分内外部,项目管理采用Apache JIRA, 文档使用Apache Wiki,源码协同完全基于Github,所有这些都是透明开放的,讨论也都是公开的。团队交流通过Apache Mailing, 都是Apache 标准做法。此外为了更及时的沟通,我们引入了Slack (IRC),根据不同的需求群体,以及自愿原则通过slack group进行沟通,许多组织甚至成立了专门的Eagle 团队,比如电信,一号店,paypal等,都是按照完全一致的协助方式。

 

8、同时扮演 Apache Eagle 的项目规划、产品设计、技术架构以及开源社区管理等角色,您是如何协调的?

答:基础架构平台,特别是大数据平台,无论是技术、运维还是产品都必须对整个生态系统以及最新的技术发展有所了解,所以这些角色的界限会比较模糊,区分度并不大,特别是Eagle 作为大数据平台的监控产品,为了更好的满足用户的需求,更需要了解整个平台本身。

 

9、作为一名开源社区管理者,您怎么看待国内的开源环境和开源社区的生态发展?

答:国内技术硬实力很好,许多方面甚至超过了硅谷。但是由于缺少强有力的开源组织去支持和指导这些开源项目的发展,导致开源文化和组织规范不够完善;此外,开源项目维护和反馈机制不明确,很多开发者理所当然地认为开源就等于免费,反过来对开源项目贡献较少。

 

10、您对开源项目的新人有什么建议?

答:对于开源项目参与者,应该明确开源的目的,制定规范维护流程,同时积极贡献开源,参与开源无论对个人能力还是发展背景都是最好的锻炼途径。参加开源的途径有很多,但是首先一定要先使用开源项目,然后发现问题、问问题、修改文档等等,都属于对开源项目的贡献。

举报
OSC源创君
发帖于4个月前 0回/1K+阅
顶部