Apache KafkaAmazing Arch我是程序员

Apache孵化器主席Justin Mclean:如何成为Apa

2018-10-19  本文已影响103人  阿里云云栖号

近日,Apache孵化器主席、Apache基金会成员、Dubbo & RocketMQ等开源项目的导师Justin Mclean来到阿里巴巴西溪园区,与众多开发者分享了如何打造一个Apache顶级项目,以及项目孵化过程会遇到的一些盲点和挑战。

经Justin Mclean先生本人允许,并经主办方阿里中间件事业部&阿里技术战略部授权,小编将会议中分享的内容整理成文,带大家走进Apache软件基金会,了解顶级开源项目的晋级之路。(现场为英文分享,本文在分享的基础上做了些内容扩展,感谢阿里巴巴高级技术专家千臂对本文的校对和在内容上的贡献)

Justin Mclean Bio:

为什么邮件列表仍是最主要的沟通方式?

Apache是目前全球最大的软件基金会,其第一个项目是Apache Httpd Server,大家用过的诸多项目,例如Dubbo, Log4j, Maven, RocketMQ和Tomcat等,均孵化自Apache。

ASF 正式创建于1999年,主要是为公众提供有用的免费软件,并为软件开发者社区提供支持和服务,它的创建者是一个自称为Apache组织的群体。

早在1995年,Apache组织的成员聚集在一起,在美国伊利诺伊大学超级计算机应用程序国家中心开发的NCSA HTTPd服务器的基础上开发与维护了一个叫Apache的HTTP服务器。

早期,NCSA HTTPd服务器是一个叫Rob McCool的程序员开发的,但是后来慢慢失去了兴趣,导致这个功能强大又好用的服务器没人维护。于是一些爱好者和用户就自发开始维护起来,并不断改善功能、发布版本。为了更好的进行沟通,组织中的一位成员创建了一个邮件组,把维护工作高效的组织起来,并把这个软件叫 Apache 服务器。这也是为什么Apache的所有项目至今仍然以邮件列表作为沟通的主要方式。

Apache的命名来源于北美当地一支名叫Apache的印第安部落,这支部落以高超的军事素养和超人的忍耐力著称,19世纪后半期对侵占他们领土的入侵者进行了反抗。为了对这支部落表示敬仰,就取了这个名字。但这里还流传着一个小故事,说是在NCSA HTTPd基础上,大家都通过打补丁不断在修改这个软件,被戏称为A Patchy Server,和Apache Server读音很像。

后来,随着商业需求的增多,围绕Apache HTTP服务器的项目越来越多,也有一些外部组织开始捐献项目给Apache,以促进项目发展。为了让这些外部项目能顺利进入到Apache,Apache于2002年创建了Incubator(孵化)项目。经过20多年的发展,截止2018年,ASF 已拥有194个顶级项目,54个孵化项目,6500+位committers,700位基金会成员,196位PMC,50个podlings。其中,由中国开发者主导的项目,有RocketMQ,WeeX,ECharts和Skywalking等。

ASF 都有哪些成员?

参与Apache项目社区活动的人,一般分为以下几类:

此外,ASF 还有21位创始成员,和一个Board Member Team,主要负责基金会各类章程的制定和运作。

特别要强调的是Project Management Committees,即 PMC,每个项目从孵化阶段开始就会有PMC,主要负责保证开源项目的社区活动都能运转良好,这里运转的机制就是The Apache Way。

什么是 The Apache Way?

就像我们加入一家公司需要了解这家公司的文化一样,参与Apache开源项目之前,我们也需要需要了解ASF的文化,这个文化就称为The Apache Way。

开发者如何参与社区贡献

  1. 第一步是先订阅开发邮件组,以Dubbo为例,具体步骤可以参考这里:https://github.com/apache/incubator-dubbo/wiki/Mailing-list-subscription-guide
  2. 学习中英文文档,进行修正或优化,提PR。有疑问的地方,可以E-mail到邮件组或提issue,官方开发者的回复通常会比Google或StackOverFlow里找到的答案更全面和准确。
  3. 如果你正在使用某个开源项目,可以将实践经验总结出来,写篇blog,分享到社区。真实的案例总是最具有说服力的。
  4. 参与issue和PR的解决,回答用户的问题、PR的review。Good first issue以及Help wanted的issue,总有一个适合你。
  5. 如果你想深入学习Dubbo-rpc框架,UT是一个非常好的开始,完善和补充现有的UT,一边学习一边贡献,何乐而不为?
  6. 发现了bug,报issue,通过自己的努力最终解决了,提一个issue,first-contributor并不是那么难,拼写错误也算哦。
  7. 如果你发现一个可以帮助用户更方便地使用Dubbo,无论是开发、测试、调试、mock还是其他工具,都可以贡献到Dubbo生态中来。
  8. 最后社区非常欢迎大家通过邮件提想法,也欢迎大家多讨论,你会发现,技术变牛的同时,英文也变的666了。

开源项目晋级之路

进⼊ Apache 分为三个阶段,准备阶段、孵化阶段和毕业阶段。

最后,当一位开发者提问Justin,如何晋级成一位顶级程序员?他给出了这样的答案:

活动预告:2018 中国开源年会

看完文章不过瘾?快来2018 中国开源年会,和Justin Mclean面对面,此外还有多位来自阿里巴巴的重磅嘉宾分享关于开源的故事。

本文作者:中间件小哥

阅读原文

本文为云栖社区原创内容,未经允许不得转载。

上一篇下一篇

猜你喜欢

热点阅读