专访 Niclas Hedhman:Apache 欢迎什么样的开源项目?

  • 徐川

2017 年 11 月 20 日

话题:Apache文化 & 方法

11 月 18 日,由开源社主办的中国开源年会 COSCon17 在上海召开。前 Apache 基金会副总裁 Niclas Hedhman 在大会上分享了《Apache 软件基金会的故事》以及《The Evolution of Homo Nerdis- 软件宅神进化史》,在会上,InfoQ 记者对他进行了采访。

InfoQ:请介绍一下您自己,在 Apache 基金会的工作是什么?

Niclas:我是 Niclas Hedhman,参与并贡献 Apache 基金会超过 20 年,参与了 6 到 7 个项目并是活跃贡献者。目前是 Apache 基金会董事会成员。

InfoQ:为什么有这么多开源项目想要加入 Apache 基金会?

Niclas:我并不能知道他们心里是怎么想的,只能进行一番猜测。运行并维护一个开源社区是很困难的,不是所有技术人都擅长这个,而这恰恰是 Apache 的长处,我们会对我们的项目成员进行培训和教育,教他们怎么去建立和维护社区,怎么进行开源项目的协作,正因为我们在这方面有良好的口碑,所以开源项目作者会愿意找我们。

InfoQ:Apache 基金会欢迎什么样的开源项目?

Niclas:所有的开源项目(笑),严格来说的话,需要他们使用 Apache 开源协议,并且愿意遵守 Apache 基金会的规则。

InfoQ:开源项目加入基金会的一般流程是怎样的?

Niclas:这个问题要展开来讲需要很长时间,我做过无数次 40 分钟左右的演讲,就是专门告诉别人怎么加入 Apache 的。简短来说的话,就是有 Apache 内部人员推荐背书,经审核加入 Apache 孵化器,然后 Apache 会帮助它建立社区,一般经过 3 个月到两年的时间考察社区的运转状况,如果良好的话就能从孵化器毕业成为正式项目。

InfoQ:是否所有从 Apache 孵化器毕业的项目都会成为顶级项目 TLP?

Niclas:大部分是,少部分会由于一些原因未能走到最后,比如 JStorm 合并回了 Storm 项目成为它的 Java 版本。这种情况我们也是允许的。

InfoQ:在您上午的演讲提到,中国参与 Apache 的基金会和其它国家不一样?

Niclas:这个不一样并不是行为不当,我更愿意称为文化差异。中国参与 Apache 项目大多来自同一个公司,因此关于项目发展的讨论和决定很多时候在内部进行,但开源协作不是这么做的,因此我们教育他们通过公开的邮件列表来进行项目的讨论,以便所有人都能看到进展。

InfoQ:您如何看待中国某些公司的『KPI 开源项目』的现象?

Niclas:我不太了解这种现象的背景,所以可能不能回答得很准确。在西方,公司之所以会有动机去为开源项目做贡献或者捐献,是因为这么做能够体现公司的技术实力,开发者们也更喜欢去这样的公司。另外,部分开发者希望通过开源项目体现自己的实力,以在招聘市场获得更好的议价,这也是无可厚非的。

InfoQ:Github 的开源项目很多,但并没有很好的维护,您怎么看这种现象?

Niclas:Github 的开源项目已经超过 100 万了,但是很多都是个人项目,它们的生命周期就是开发者对项目的兴趣支持期间,一旦开发者不感兴趣了,项目就死了,所以这些项目大家都不敢用。 

正是因为这样的情况,Apache 才有存在的价值,Apache 帮助开源项目去共同参与协作、运营社区,不是个人项目,因此 Apache 的开源项目通常都会一直存活,即使不活跃了,也会保存项目的历史。 

Github 在流程方面做的很好,甚至比 Apache 还好,所以 Apache 集成了 Github 的流程。

InfoQ:您在 2016 中国开源年会 -COSCon'16 发表了一个题目为“房间里的大象”的演讲 (InfoQ 最近曾刊登),今年在 COSCon'17 的讲题是 [新人类 - 软件宅神进化史],二次演讲都对软件开发人员的素质日趋低下,而且对软件人员的未来忧心忡忡,能否进一步阐述?

Niclas:我认为工业界的整个发展都是不对的,在过去我们一天就能写出来的项目,现在同样的人需要两周才能完成。这个原因是有太多的框架、依赖库等等了,这些东西你不了解就不可能用的很好,以及去解决 bug,所以需要长时间学习这些东西以让他们工作在一起。完成同样工作的时间变长了,这显然是不对的。 

就这个问题,我认为的解决方案就是 Smaller、Smarter 和 Smoldering,Smaller 指的是尽量减少依赖,Smarter 的意思是程序员应该不能太依赖框架和库来开发应用,能解决编程中的困难之处,Smoldering 就是程序员不应夸大其词,要切实的解决实际问题。(此处更多解释可看 PPT)

Apache文化 & 方法