与顶尖程序员交流合作进步有多快?
自己的代码被上亿用户使用有多爽?
面试时甩出一句『哦,我在Apache有个开源项目,你可以去瞧瞧』有多酷?
作为一个有理想有情怀的程序员,还没有加入一两个顶级开源社区吗~
BitTiger 带你开启世界知名开源社区Apache的进击之路。
『补丁组织』的一点儿历史
话说上世纪90年代,一群开发爱好者在前人的基础上搞出了一个非常厉害的Web服务器。他们仰慕北美勇猛剽悍、充满耐力的印第安部落Apache,便叫这个新版本的服务器Apache Server。
“Apache Server” 与“A Patchy Server”(一个补丁服务器)谐音,用来称呼这个大家不断打补丁(Patchy)的产物十分贴切。这群开发者们也开始骄傲地自称为“Apache Group”。
享誉世界的Apache基金会
『补丁组织』业务发展、项目增加,1999年非盈利组织Apache软件基金会(Apache Software 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社区里有句话一定要记牢:“若没有在邮件列表中讨论过,则当没有发生过。” 参与Apache mailing list的讨论真是很重要的。
Apache的提交者
当你不断修炼 (提交Bug报告、贡献代码、参与邮件列表讨论、参与社区建设),就有可能受邀成为提交者 (Committer)。提交者可以算是Apache社区里的正式成员了,不但有代码仓库直接写入权限,还可以拥有一个http://apache.org域名的专属邮箱!
你造吗,Apache社区每个月的代码提交行数是16000行!这可不是随便的16000行代码——Apache 提交者需要确保提交的代码足够清晰易读,保证高质量。
Apache寻找的是能持续做出贡献的成员,就像Apache部落一样具有超凡耐力、持之以恒。Apache虽有项目三百,可平均每月只增加15个提交者,且大都参与新设项目。已有项目一年大概只增加一两个提交者。成为Apache的提交者是一件非常有挑战性和令人自豪的事啊!
提交者须签订贡献者协议许可 (CLA),因为Apache的产品都遵循Apache许可证 (Apache License) 。Apache许可证是世界使用量前三的开源许可证,它让写代码的人保有专利又授权用户免费使用。用户使用时必须放置许可证,并且要说明修改的部分。这样可以帮助提交者了解哪些项目用了自己的开源内容、修改了什么,十分有利于项目的改进。
进入PMC
成为有影响力的提交者后可以被选入项目管理委员会 (Project Management Committee, 简称PMC) , 晋级为PMC成员 (PMC Member)!PMC 作为一个整体,独立监管一个或多个项目。除了PMC,就算是ASF的理事会 (Board) 也不能干涉项目社区内的具体事宜。
若是能成为PMC 主席 (PMC chair) ,那可就是ASF的副总裁 (Vice President)了!
PMC主席直接对理事会负责,是Board和PMC之间的桥梁。在Apache 的176名PMC 主席中,华人只有7位。
其中值得一提的是Daniel Dai. 他是Apache顶级项目、大数据领域最火工具之一 Pig 的PMC 主席,也是Hive项目的提交者。 Pig是用来快速、轻松处理大规模数据的高级查询语言。Pig之所以如此命名,是因为它具备吃掉所有种类数据的能力。雅虎和推特都采用了好胃口的Apache Pig.
另一位华人Jun Rao是顶级项目Kafka的PMC 主席。Kafka是一个横向扩展的消息处理系统。LinkedIn部署的Kafka每天处理的消息已超过1.1万亿(一个“T”加上四个逗号!)。Kafka 还有Netflix、Uber、Cisco 、Goldman Sachs等各种大牌用户。
Administration roles
从用户到PMC 主席,都属于Apache社区里跟项目开发有关的角色。在Apache社区内贡献巨大最终可成为法律意义上ASF的『股东 (Shareholder)』!也就是Apache基金会成员 (ASF member)。 ASF成员可以选举或进入理事会 (Board of Directors, 简称Board) 、有权提名新项目进入孵化器 (incubator)。目前Apache有487名ASF成员。
理事会负责监管ASF内各种商务和日常事务,包括给项目分配资金。理事会也选出公司高管 (Officer),分管ASF财务、法务、市场、筹款等事务。但关于社区开发、产品发布都是由PMC一手决定的。
社区胜于代码Community Over Code
社区胜于代码是ASF的核心原则。Apache Web服务器项目负责人Brian Behlendorf曾在采访中提到,健康的社区远比优秀的代码重要——代码太烂可以重写,但社区太烂,代码也会付之东流。Apache如今不只是一个服务器、一个社区、一批开源项目的代名词,它已成为一种协作开发的典范。
除了Apache社区,ASF还会举办 Apache 技术研讨会议 (ApacheCon),让开发者和用户共聚一堂。ASF 也会举行其它大型会议和活动,包括BarCamps、 Hackathons、MeetUps、Key Signings等等,活动范围覆盖北美、欧洲、亚洲。想与大牛交流的小伙伴们赶紧关注活动相关信息哦!
跟Apache PMC Chair 成为Apache Contributor,BigDataEngineer直通车
参考资料:
https://zh.wikipedia.org/wiki/Apache%E8%BD%AF%E4%BB%B6%E5%9F%BA%E9%87%91%E4%BC%9A
http://www.slideshare.net/willem.jiang/apache-8111328
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万亿条消息
程序员不可不知的版权协议