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

简介:

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

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

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

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

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

image

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

话说上世纪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) 的绝佳体现。

image

初入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等各种大牌用户。

image

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万亿条消息

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

文章转载自 开源中国社区 [http://www.oschina.net]

目录
相关文章
|
7月前
|
消息中间件 Kafka Apache
Apache Flink 是一个开源的分布式流处理框架
Apache Flink 是一个开源的分布式流处理框架
787 5
|
7月前
|
算法 Java Go
Apache Zeppelin 番外篇——参与开源的得与失
Apache Zeppelin 番外篇——参与开源的得与失
92 0
|
7月前
|
Java 程序员 API
Springboot-swagger配置(idea社区版2023.1.4+apache-maven-3.9.3-bin)
Springboot-swagger配置(idea社区版2023.1.4+apache-maven-3.9.3-bin)
189 1
|
数据采集 分布式计算 Hadoop
开源数据质量解决方案——Apache Griffin入门宝典(上)
开源数据质量解决方案——Apache Griffin入门宝典
824 0
|
7月前
|
前端开发 Java 数据库连接
Springboot-MyBatis配置-配置端口号与服务路径(idea社区版2023.1.4+apache-maven-3.9.3-bin)
Springboot-MyBatis配置-配置端口号与服务路径(idea社区版2023.1.4+apache-maven-3.9.3-bin)
90 0
|
5月前
|
消息中间件 人工智能 Apache
Apache RocketMQ 中文社区全新升级!
RocketMQ 中文社区升级发布只是起点,我们将持续优化体验细节,推出更多功能和服务,更重要的是提供更多全面、深度、高质量的内容。
609 16
|
1月前
|
消息中间件 监控 数据可视化
Apache Airflow 开源最顶级的分布式工作流平台
Apache Airflow 是一个用于创作、调度和监控工作流的平台,通过将工作流定义为代码,实现更好的可维护性和协作性。Airflow 使用有向无环图(DAG)定义任务,支持动态生成、扩展和优雅的管道设计。其丰富的命令行工具和用户界面使得任务管理和监控更加便捷。适用于静态和缓慢变化的工作流,常用于数据处理。
Apache Airflow 开源最顶级的分布式工作流平台
|
1月前
|
存储 SQL Apache
Apache Doris 开源最顶级基于MPP架构的高性能实时分析数据库
Apache Doris 是一个基于 MPP 架构的高性能实时分析数据库,以其极高的速度和易用性著称。它支持高并发点查询和复杂分析场景,适用于报表分析、即席查询、数据仓库和数据湖查询加速等。最新发布的 2.0.2 版本在性能、稳定性和多租户支持方面有显著提升。社区活跃,已广泛应用于电商、广告、用户行为分析等领域。
Apache Doris 开源最顶级基于MPP架构的高性能实时分析数据库
|
4月前
|
消息中间件 人工智能 监控
|
7月前
|
Kubernetes Cloud Native API
欢迎报名 Apache Seata (incubating) 开源之夏
Apache Seata (incubating) 邀请学生参加 2024 年开源之夏活动,报名时间为 4 月 30 日至 6 月 3 日。该项目旨在培养分布式事务领域的开发者,参与者将远程协作并有机会获得奖金。
1336 20

推荐镜像

更多