火狐体育平台app下载 地产
火狐体育平台app下载 旅游

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

发布时间:2022-07-15 01:51:46 来源:火狐体育官网登录入口 作者:火狐体育平台app下载

  你知道面试时甩出一句“哦,我在Apache有个开源项目,你可以去瞧瞧”有多酷吗?

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  第二个月,你将在学习新的项目同时成为知名开源项目Apache的Contributor。