Apache 2017 年度报告
Sat Nov 25, 2017 | 3800 Words | 大约需要阅读 8 分钟 | |
引子
年底了大家似乎都开始做总结,回顾一年的工作成果的时候了,就在前不久,我们做了Linux 内核开发报告2017版的报道,无独有偶。这不 Apache 基金会发布了一份过去一个财年的总结报告。那我们就来解读一番, Apache 在过去的一年里有何成绩。当然,主要的目的是希望能够看清趋势,在2018年或许更远的未来,能够做一些有意义的事情。
摘要
Apache 项目是当今这个软件世界的中流砥柱!从人工智能、机器学习、大数据到构建管理、云计算、内容管理、DevOps、IoT以及边缘计算,移动端、服务端、web的服务框架等等,Apache的项目囊括了所有的这些领域。
Apache 软件应用程序对于我们所生活的世界起着举足轻重的作用。从获得普利策奖的足足有2.6TB巴拿马文件调查,到美国联邦航空管理局的全部的信息管理系统,再到在Netflix每天捕获 500B 个事件,再到劳埃德银行集团实现的实时金融服务,以及简化Android/Blackberry/iOS/Ubuntu/Windows/Windows Phone/OS X 平台上的移动应用开发,以处理Facebook的300PB数据仓库,乃至为Apple, Disney, Huawei, Tata,等公司提供的云计算。 这些故事的背后,都有着Apache软件的驱动力量。
而每一天,来自世界各地越来越多的开发者、解决方案架构师、独立用户、教育工作者、研究学者、公司、政府部门、以及爱好者,都在选择Apache软件来开发工具、程序库、框架、可视化程序、最终用户的生产解决方案等等。
Apache 基金会,秉承为公益事业提供软件这样一个使命,在过去的一年里有如下几件值得一提的事情:
- 整个 apache.org 站点每周的访问量是 3千5百万。
- web的请求来源囊括了这个星球上所有接入互联网的国家。
- Apache OpenOffice 的下载量突破2亿。
- Apache Groovy 在年初的前4个月下载量突破1千2百万。
- 每个月有接近300位新的代码贡献者,有300~400位提交issue。
之所以Apache能够有如此巨大的力量,其背后是有着多样化的项目来推动的。ASF 的代码量超过1亿(共1.5亿),已经开发了超过65,000人年,价值70亿美元。Apache OpenOffice每天为个人用户和组织用户带来超过2500万美元的价值。Apache许可证是最受欢迎的的开源许可证之一,基于Apache许可证发布的的软件已经超过数百万款项目,并允许其再进行发布和使用。
18年以来,基于ASF强有力的领导下,apache way 所主导的社区,一直以来都是引领创新的标志,并不受任何商业公司的影响。将在未来Apache将继续保持这样,值得人们信赖的开源软件社区,并非常欢迎你的参与和支持!
项目状况
首先我们关注的是,分布在这个世界上的国家,都有哪些国家在使用Apache的项目,根据下载量的分布,我们获得如下图所示的内容:
令人似乎稍欣慰的一点是,中国是全球首屈一指的Apache项目重度使用用户,超越北美。
哪些无数个 Apache 优秀的项目我这里就不一一列出了,你可能耳能生详的Tomcat、Hadoop、Subversion、CloudStack等等,它现在总共拥有182个顶级的项目,还有59个正在孵化中。我们这里不妨看看过去一年中最具亮点的项目:
- Apache Commons:成立于2007年,旗下有40多个项目,Apache Commons是Java语言库和组件的实际领导者,用途非常的广泛。
- Apache Spark: 2013年晋升为顶级项目,是用于快速、灵活的处理和分析PB级数据的引擎,隶属于Apache Hadoop 生态系统中的一员。
- Apache HTTPserver: 在过去的21年一直都是业界的标准,Apache最古老的项目,驱动着目前很多互联网的站点和数字资产。
- Apache Fineract:第一个由Apache财务技术部门开发的项目,在今年的8月孵化为顶级项目。
- Apache OpenOffice: 2012年Apache基金会接手之后,这是目前世界上最受欢迎的免费的办公套件,去年一年的下载量是3千6百万。下载由SourceForge所提供。(这个值得注意。)
对于这个世界,我们必须用一种动态的视角来看,新陈代谢、进化是必然的趋势,我们需要看孵化的项目,以观察未来的动向,我们看退休的项目,退出历史舞台,寻找生命力短暂的原因。
去年成功孵化的项目
- Beam:一个更为高级的统一的变成模型,实现了批处理和流数据处理可以运行在任何可执行的引擎,(Spark等)。
- CarbonData:由华为主导的本土开源项目,用于快速的大数据处理的经过索引的基于列的数据格式。
- Eagle:用于大数据安全和性能分析的解决方案,
- Fineract:用于银行核心的平台。
- Geode:提供低延时的、高并发的数据管理。
- kudu: 在Hadoop的存储层实现快速的数据分析。
- Metron:实时的大数据安全。
- Ranger: 提供跨Hadoop平台的数据安全框架,可以监视、管理。
- SystemML:适用于大数据的机器学习平台
- Twill: 在Apache Hadoop YARN之上的一个抽象。
大数据占据了90%多,说明基于Hadoop、Spark的大数据生态已经牢固的在Apache的羽翼下成长,连强大的Google都贡献了一个项目。大数据更是由于有了人工智能的助推,越发显得重要。但是仍旧在发展。那些还在孵化中的项目,大数据相关项目也占据不少。比如Amazon的机器学习框架MXNet就在孵化中。更多信息可参考Apache孵化项目页。
功成身退的项目
- Etch: 2016年6月退出,是可以跨平台、跨语言、相对独立的可以构建和消费网络服务的框架。
- Bloodhound:基于Trac之上的软件开发项目管理平台,追踪特性、任务和bug。
- DeviceMap: 2016年12月退出,是一个创建数据存储库的项目,其中包含各种移动设备的设备信息,图像和其他相关信息。
- Stratos:2017年一月退出,高可扩展的PaaS平台,可以运行Tomcat、MySQL、PHP等。
- Abdera:2017年3月退出,Apache Abdera是一个构建IETF Atom联合格式(RFC 4287)和Atom发布协议(RFC 5023)规范的功能完整,高性能实现的项目。
- Wink:2017年四月退出,Apache Wink是构建RESTful Web服务的一个简单而坚实的框架。它由用于开发和使用RESTful Web服务的服务器模块和客户端模块组成。
其实说功成身退有点夸张,不如说是已经失败的项目,无人问津,不具有解决问题的能力,或者是失去竞争力。很多人都会关注那些个闪耀的流行的项目,但很少有人总结为什么这些项目会失败。是技术不够优秀?是社区经营不足?还是没有定位好问题?还是被更加优秀的解决办法所取代?
社区成长
在2017一整年,有3,300位代码提交者,变更了65,529,757行代码,有214,398次提交。
(下面一句话颇具挑衅心态)
ASF的规模是巨大的:所有Apache代码有3千1百万行(20%)是注释 - 这几乎是Linux代码库三倍的大小!
在过去的一整年,有25,154名作者,发送了2,105,992封电子邮件,有834,045个主题。 一切都在邮件列表中发生,这话真不是盖的。
社区大于代码,Apache一如既往的坚持这样的指导思想。除用心经营社区本身,如各种文档、行为规范、博客、社交媒体等等,重量级的如Google代码夏令营、ASF 旅行帮助计划等。具体功绩这里不再赘述。
Apache 之路
如果我们能够以一个整体的宏观视角来观察Apache基金会,21年来所孵化的项目,从一个HTTP服务,然后到将近300多个项目的历程,这中间的辛酸苦辣,非亲历者难以述说也。
最令我感动的莫过于,我们所处的世界,总有那么一些人在坚持!Linux坚持了26年,Apache HTTP也已经21年了。正是因为这些坚持,才有了今天的硕果累累。
如图中红色的内容所显示,随着项目的进入孵化,然后淘汰的越来越多。
Apache 之路未必适合所有的项目,但是好的项目一定适合Apache之路,这么说或许很多人不认同。但事实上确实如此。
开源从来就不是孤立的项目的问题
和这个世界上很多的哲学体系一样,技术概莫能外。实现某种功能可能有无数种方式,开源的项目之间相互引用、借鉴、学习,于是乎整个Apache项目之间的关系亦是错综复杂的,如下图所示,
以生态系统或者是供应链的视角去看待开源,我们就会渐渐的明白,为什么开源越发的重要,而且是一旦进入,是一环套一环,犹如上图般彼此牵连。牵一发而动全身。目前世界上两大基金会下的托管项目,Apache Commons、Apache Hadoop、Linux CNCF等等,俨然形成了巨大的力量,几无替代之可能。
我们必须基于此,进而重新思考。
开源之道点评
作为一家至今没有任何实体办公地点的非营利性组织,Apache 确实是影响了世界。此报告先不论其他,光是这份详尽的程度,从财务、资助、基础设施、项目和代码、孵化中的、贡献者、社区成长、研讨会、市场活动、媒体、法律等等角度向全世界公开。相信正是这样纯粹个人的、颇具理想化色彩的、青睐商业的,方能取得如此巨大的成功。
让世界运行着Apache开源软件,利用开源进行公益活动,让世界变得稍微美好一点。
妥协一点,精英化一点,做到公平、透明,或许这就是未来本土的开源之道。 Apache way 是适合本土的,但是需要时间来证明这点。