科普丨程序员Apache开源社区进击之路

来源:互联网 发布:拒了华为海洋网络 编辑:程序博客网 时间:2024/05/09 13:21
作者:ChangBittiger
链接:https://zhuanlan.zhihu.com/p/24487169
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

与顶尖程序员交流合作进步有多快?

自己的代码被上亿用户使用有多爽?

面试时甩出一句『哦,我在Apache有个开源项目,你可以去瞧瞧』有多酷?

作为一个有理想有情怀的程序员,还没有加入一两个顶级开源社区吗~

BitTiger 带你开启世界知名开源社区Apache的进击之路。

『补丁组织』的一点儿历史

话说上世纪90年代,一群开发爱好者在前人的基础上搞出了一个非常厉害的Web服务器。他们仰慕北美勇猛剽悍、充满耐力的印第安部落Apache,便叫这个新版本的服务器ApacheServer。

“Apache Server” 与“A Patchy Server”(一个补丁服务器)谐音,用来称呼这个大家不断打补丁(Patchy)的产物十分贴切。这群开发者们也开始骄傲地自称为“ApacheGroup”。

享誉世界的Apache基金会

『补丁组织』业务发展、项目增加,1999年非盈利组织Apache软件基金会(ApacheSoftware Foundation,简称ASF)正式成立,为Apache开源项目提供组织、法务上的支持。

现在的Apache社区已有来自六大洲的5000多名提交者 (committer)!Apache出品的企业级软件大受追捧,尤其是大数据方面,拥有一批炙手可热的顶级项目。没听说过五个以上Apache项目的同学请自行面壁!

做开源软件的 ASF 一点儿都不差钱。Google、Facebook、Yahoo!等各大科技公司纷纷解囊,华为也是黄金赞助商之一。

Apache社区进击路线

Apache社区的管理体系那是相当的严格,不同角色有不同的担当和权利。融入Apache社区就像打怪(修bug)升级一样,要想提高等级就必须先为项目努力奋斗。所谓 “Those that prove they can do, get to do.” 这也是Apache之道中『任人为贤』(Meritocracy)的绝佳体现。


初入Apache

凡是使用Apache产品的人就是用户 (user)。用户可不光是taker,他们是宝贵意见的来源,对改进产品大有助益。想要了解Apache的开源软件,不妨先挑一个用用看吧。

当你开始在开发者邮件列表 (developer mailing list) 里参与讨论并提供补丁、文档和建议,就会成功晋升为开发者 (Developer or Contributor)!晋级开发者可不是那么容易的事儿。你需要有不断钻研的精神和独立思考的能力,去发现可以改进的地方。有时候,光是理解开源项目里成百上千的文件就足以让人懵逼了。毕竟大部同学都还只是停留在使用Apache开源产品的层面上。在简历里拥有『Apache开发者』的头衔绝对会让HR眼前一亮!

请注意,所有的 Apache沟通、合作都是通过邮件列表完成的!Apache社区里有句话一定要记牢:“若没有在邮件列表中讨论过,则当没有发生过。”参与Apachemailing list的讨论真是很重要的。

Apache的提交者

当你不断修炼 (提交Bug报告、贡献代码、参与邮件列表讨论、参与社区建设),就有可能受邀成为提交者 (Committer)。提交者可以算是Apache社区里的正式成员了,不但有代码仓库直接写入权限,还可以拥有一个apache.org域名的专属邮箱!

你造吗,Apache社区每个月的代码提交行数是16000行!这可不是随便的16000行代码——Apache提交者需要确保提交的代码足够清晰易读,保证高质量。

Apache寻找的是能持续做出贡献的成员,就像Apache部落一样具有超凡耐力、持之以恒。Apache虽有项目三百,可平均每月只增加15个提交者,且大都参与新设项目。已有项目一年大概只增加一两个提交者。成为Apache的提交者是一件非常有挑战性和令人自豪的事啊!

提交者须签订贡献者协议许可 (CLA),因为Apache的产品都遵循Apache许可证(Apache License) 。Apache许可证是世界使用量前三的开源许可证,它让写代码的人保有专利又授权用户免费使用。用户使用时必须放置许可证,并且要说明修改的部分。这样可以帮助提交者了解哪些项目用了自己的开源内容、修改了什么,十分有利于项目的改进。

进入PMC

成为有影响力的提交者后可以被选入项目管理委员会 (Project ManagementCommittee, 简称PMC) , 晋级为PMC成员(PMC Member)!PMC 作为一个整体,独立监管一个或多个项目。除了PMC,就算是ASF的理事会(Board) 也不能干涉项目社区内的具体事宜。

若是能成为PMC 主席 (PMCchair) ,那可就是ASF的副总裁 (Vice President)了!

PMC主席直接对理事会负责,是Board和PMC之间的桥梁。在Apache的176名PMC主席中,华人只有7位。

其中值得一提的是Daniel Dai.他是Apache顶级项目、大数据领域最火工具之一 Pig 的PMC 主席,也是Hive项目的提交者。 Pig是用来快速、轻松处理大规模数据的高级查询语言。Pig之所以如此命名,是因为它具备吃掉所有种类数据的能力。雅虎和推特都采用了好胃口的ApachePig.

另一位华人Jun Rao是顶级项目Kafka的PMC主席。Kafka是一个横向扩展的消息处理系统。LinkedIn部署的Kafka每天处理的消息已超过1.1万亿(一个“T”加上四个逗号!)。Kafka还有Netflix、Uber、Cisco 、GoldmanSachs等各种大牌用户。

Administration roles

从用户到PMC 主席,都属于Apache社区里跟项目开发有关的角色。在Apache社区内贡献巨大最终可成为法律意义上ASF的『股东(Shareholder)』!也就是Apache基金会成员(ASF member)。 ASF成员可以选举或进入理事会 (Board of Directors, 简称Board)、有权提名新项目进入孵化器(incubator)。目前Apache有487名ASF成员。

理事会负责监管ASF内各种商务和日常事务,包括给项目分配资金。理事会也选出公司高管(Officer),分管ASF财务、法务、市场、筹款等事务。但关于社区开发、产品发布都是由PMC一手决定的。

社区胜于代码CommunityOver Code

社区胜于代码是ASF的核心原则。Apache Web服务器项目负责人BrianBehlendorf曾在采访中提到,健康的社区远比优秀的代码重要——代码太烂可以重写,但社区太烂,代码也会付之东流。Apache如今不只是一个服务器、一个社区、一批开源项目的代名词,它已成为一种协作开发的典范。

除了Apache社区,ASF还会举办Apache 技术研讨会议(ApacheCon),让开发者和用户共聚一堂。ASF 也会举行其它大型会议和活动,包括BarCamps、Hackathons、MeetUps、Key Signings等等,活动范围覆盖北美、欧洲、亚洲。想与大牛交流的小伙伴们赶紧关注活动相关信息哦!


跟Apache PMC Chair 成为Apache Contributor,BigDataEngineer直通车


参考资料:

zh.wikipedia.org/wiki/A

slideshare.net/willem.j

How the ASF works

The 10 Best Open Source Projects You Should Be Volunteering To Help With

“一片羽毛的故事”:Apache软件基金会成立15年-观点 ◆ 热议|Linux.中国-开源社区

17个Apache基金会的运营之道

[原创]Apache Pig的一些基础概念及用法总结(1)

Apache Kafka现在在LinkedIn每天处理1.1万亿条消息

程序员不可不知的版权协议

0 0