W020170420421363445377

大家好,非常高兴今天有机会为大家介绍Apache基金会的相应的一些内容,我叫韩卿,更多人叫我Luke.

这个项目是一个大数据的项目,可能离今天的云计算稍微有点远,它是一个Hadoop上做大数据分析的,具体不展开了。这是第一个完全由中国人贡献的Apache软件基金会的顶级项目,所有的开发者都是来自中国的,这是目前来说中国人很大的骄傲,非常开心我们的社区和团队非常努力。后面我的分享都是基于我们一线的实践。

这个Kylin项目现在用得非常广,相信非常多的朋友和同事已经在用了,全球已经超过200多个公司在用了。InfoWorld是全球知名科技媒体,他过去四年都会评出最佳开源大数据工具奖,去年我们获奖,可以看到整个业界的认可。

简单说一下Kylin,后面再介绍Apache.首先Apache基金会,相信这个名气已经足够大了,相信这里在座的做技术的没有用过Apache下面的任何一个项目的话,应该不是一个合格的开发者。这是全球目前最大的软件基金会,我在去年在温哥华开会的时候,基金会的主席做了一个报告,他用了一句英文,我把它翻译过来,叫一直被模仿,从未被超越。很多的软件基金会其实都是在模仿这样的基金会的运作模式,我希望今天能够把相应的东西分享给大家。到今天为止它已经18年了,这是一个非营利性组织,完全由志愿者驱动的,它的会员、厂商上、决策是不能被任何一个供应商所左右的。

讲一下历史,为什么会有这么一个基金会,起源是HTTP Server,1999年的时候不想去维护这么一个开源项目,当时整个的朋友圈或者爱好者,大概21个人,说你不维护了,要不我们来维护,怎么维护呢,就成立了这么一个邮件组,通过邮件列表的方式去维护这么一个开源的项目。这也是为什么Apache的所有的项目到今天为止依然以邮件列表作为沟通的主要方式。后来说我们要不然成立一个非营利组织吧。1999年成立的时候用的是美国税法叫501(c)3条款,这个条款下所有的全部是不营利的,是完全独立的。所有的股东都是ASF会员,这里非常强调的一点是Apache第一个理念是所有人参与到这个基金会代表的都是你个人。

今年刚刚在上个礼拜,Apache基金会今年发了一个通告,今年第18周年。到今天为止会员有620位,从最初只有21位。全球有6000多位贡献者,这个贡献者是指参与比较紧密的,用户数是比较庞大的。顶级项目全球有300多个,还有还有64个项目正在孵化中。基金会怎么运作,这个钱首先全部是募捐过来的,比如说你个人可以捐献给他,你的公司可以捐献。他现在每年会花120万美元,75%以上全部是花在基础建设的,Apache会提供给你比如说你的代码库,你的部署,各种各样的,所有你开发要用的理论上的所有的资源全部都有。他现在大概有10个志愿者。Apache.org网站,365天可以保证100%的up time.

讲一下架构,基金会的股东是来自ASF会员,这些会员都是独立的代表个人,这个会员的加入必须是已有的会员去提名,有点像国外的俱乐部性质,因为我信任你,所以我提名,提名之后是要大家讨论投票的。我非常荣幸在前年的时候被提名成会员。下面的管理组我们叫董事会,是由会员选举出来的,有董事会主席、董事会总裁还有相应的官员,有这么一个董事会去处理项目的日常,包括项目的报告、项目的运作等等,所有这些工作都是由这样一个董事会来处理,包括每年的预算,包括相应的花钱的批准等等。再往下PMC,项目管理委员会,每一个项目都有一个项目管理委员会,是由这个项目管理委员会来管理单个项目。这个管理委员会来决定这个项目的发展它的社区,它的这样一个演进的路线图。项目管理委员会主席由董事会任命,并作为ASF的官员。还有一些VP是非项目VP,比如说法律相关的,比如市场相关的,品牌相关的,每个会来领导这么一个团队来解决这个基金会平时运作所需要处理的事务。

每一个项目有什么样的角色,从最上面的用户,再往上是贡献者,不仅仅在用,出现一个问题,把它提过去,这就是一个贡献者。再往下是提交者,提交者有两个非常重要的标志,第一个他有代码库写的权力,还一个很重要的,每个提交者都要签署一份ICLA(贡献者许可协议),一旦签了以后,解决了知识产权问题,也就是你在这个项目上做的这些工作都属于Apache软件基金会,都是被开源了,这个非常重要,包括一个企业贡献到Apache软件基金会,也要签一个ICLA,签了之后就是说你的知识产权已经转移到了Apache软件基金会。这是做开源非常重要的一点,你不希望一个项目看上去挺好的,但你不希望随时随地有家公司的律师发个律师函过来。为什么Apache项目口碑这么好,所有人有Apache软件的项目没有法律风险,质量也足够可靠,我也足够信任它,这是非常重要的。还有一个叫项目管理委员会成员,PMC Member,是有巨大贡献的贡献者组成的,需要决定事情的时候他们是有投票权的。

一个项目怎么可以变成一个Apache的项目,怎么才可以变成一个顶级项目,对Apache项目分成两种,一个是孵化项目,一个项目到Apache必须经过孵化。孵化的流程,你找到一个比较好的项目,你可以提交过去,接受之后有一个非常有意思的名字,叫Podling,证明正在Apache基金会下孵化。到最后你会毕业,毕业之后才会称为真正的项目。我们的孵化器项目怎么去做,任何人都可以去提交一个项目到这个孵化器的,孵化器有一个委员会他们会来看,你需要写一个proposal,说明你这个项目做什么的,跟Apache有什么关系,你需要一些Sponsor,他们能够推荐你,有这个东西之后你可以投票,大家会去讨论,讨论完之后没有问题会去头牌,你只要有三票同意,基本上就可以进去了。

讲一下它的投票机制,这里非常有意思的是西方民主式的做法,只有三种票,+1、-1和0,赞成、不赞成和弃权。我们有一个策略叫做共识决策,很多时候大家是一起来讨论,就向开会一样,大家同意的举个手看一看,多数人同意就过了,当然有些时候会有些例外的,比如你项目毕业,毕业的时候必须全部通过。举个例子我们Kylin当时毕业的时候,一堆人都投了赞成票,突然有一个人跑出来说不行,要投反对票,原因是他发现我们当时在开源项目里包括了谷歌的一个字体,虽然谷歌也说这是一个开源的字体,但是他会跳出来说不行,因为这个东西在Apache没有做过备案。基金会非常尊重每一个人的意见,如果别人投了-1票,你没有办法去通过一些别的方式去运作,你必须把这个问题解决掉,你必须在社区里把他说服了才能往下走,包括会员的提名,必须要全部通过。有72小时投票时间,投票的时间很多时候叫Binding和No-binding.

一旦项目进去之后,怎么去孵化它,Apache软件基金会非常强调的一个概念加Community Over Code,从基金会的角度说,你把项目构建出来这不是开源,你去构建社区才是真正的开源。社区的核心是参与的人,另外一方面,对基金会来说,他们希望始终是用邮件列表沟通,英语是通用语言,相信今天我们的开发者这点都不是问题。还有几个问题,比如要解答,要做线下活动,很重要的是,你不能说贡献过去的时候只有五六个人,但是不能毕业的时候还是五六个人。怎么毕业成为一个顶级的项目,Apache基金会没有一个硬性的规定或者直白,但是有一些不成文的规矩。第一个,按时发布,不管你一个礼拜发布一个版本还是半年发布一个版本,这不重要,但是你要保持不断发布的过程。第二个是多样性,还一个是采用率,最后是你的项目管理委员会自己可以决定要不要去毕业,如果想毕业就要投票,大家会讨论,最后会由IPMC投票决定。

介绍一下来自中国的几个项目,第一个是Kylin,我们是第一个来自中国的顶级项目,Apache CarbonData最早是来自华为的,Apache Weex、Apache RocketMQ是来自阿里的。我现在也是阿里两个项目的metal.

参与到一个国际的社区里有很多东西要注意,第一个是文化的差异,第二是你的语言,最重要一点是尊重,要尊重社区,要尊重贡献者。

最后我用这句话来终结,希望越来越多的公司团队能够贡献到国际的开源社区里去,一起释放我们中国的开源力量,谢谢各位!

关注中国IDC圈官方微信:idc-quan 我们将定期推送IDC产业最新资讯

查看心情排 行你看到此篇文章的感受是:


  • 支持

  • 高兴

  • 震惊

  • 愤怒

  • 无聊

  • 无奈

  • 谎言

  • 枪稿

  • 不解

  • 标题党