Apache软件基金会自成立以来对开源运动塑造和高新技术产业扩大产生了深远的影响。
Apache软件基金会是由Apache HTTP服务器开发者于1999年注册成立的非盈利性组织,一度孵化支持多达数十个大大小小的项目。Subversion, OpenOffice, Tomcat, 新晋的 Cassandra, Lucene, Hadoop都出自于Apache,它的核心观念“apache之道”被广为人知。
但是基金会内部的紧张关系和整个开源社区的抱怨已经产生这样的质疑,在当今的软件界,对开源项目进行赞助的Apache方式是否还适合。对开源许可的态度转变,与GPL的冲突,在此方式下对技术创新的关注,近些年基金会对具体项目的处理带来的结果–基金会也许很快就会发现她被各种项目所抛弃,那些项目帮助她在开源界成为一个中心必备之选。在一定程度上要感谢她的这种方式,新一波的在GitHub上的自发的、分散的项目不需要像Apache基金会这样的环境去保持他们活跃或者相关联。
Apache方式:造成Apache软件基金会分裂的根源
随便问一个曾经参与过Apache软件基金会项目的人,什么原因造成了基金会的分裂?大部分人的最有核能的答案是:“apache方式”。
Apache方式的六大原则构成了Apache软件基金会的核心理念。用他们自己的话来说,这六个原则是:“协作化的软件开发;商业友好的标准许可证;永远保证高质量的软件;·成员之间的交往要互相尊重,诚实,以技术为主;依据标准的忠实实现;强制的安全特性”。
Ashish Thusoo,Facebook Hive的联合创始人,现就职于项目管理委员会负责管理Apache hive项目,将它描述成“以高质量软件领导领域发展共识为导向的社区方式”。
Thusoo认为ASF的做法更贴近于师徒的方式而不像实际的 项目管理。这包括了“如何与新成员达成共识、投票和项目管理的各项机制以及确保新的项目来自于行业的广度”,Thusoo说。
Arun Murthy,是Apache Hadoop PMC的主席,他描述ASF所宣扬的”颂歌”是”社区高于代码,即 人才 才是ASF的生命线。”
这种方式也强调了实践高于理论。举例来说,当一个项目处在ASF的孵化期间,会强调提交代码而不仅仅是一个想法 — 在向基金会贡献代码和IP时,”不用担心由于它们自身原因或用户原因被锁定”,因为Apache自己会提交它。
最新的详情:实际从整体上看Apache做为代码的托管者,同样含入ASF的商标政策的办法是不可缺少的一部分.这样设计的目的是防止Apache赞助的项目希释了他们的品牌。那些被保护的专利给人的直觉似乎违反了开源项目,但是Apache和其他人已争论使用商标只用于保护,避免争夺行为。
这并不代表能防御在OpenOffice中捆绑恶意软件。Apache OpenOffice贡献者Rob Weir指出在Oracle声明它不会再开发这个项目之后,Tightrope Interactive是如何设法申请OpenOffice trademark的所有权。
值得一问的是这个项目是否应该转让给基金会,这样就能保证项目的生存,并不受公司干涉者的管束。或者说一个已存的基金会是否值得这样做。(Monty Widenius创建了他自己的基金会来监督他的MySQL分支MariaDB)
没有通向成功的单程票
在实践中,在孵化和对开源项目支持等问题上,Apache Way并不是一个万全之策。这其中主要的原因在于ASF对其管理的项目,持高度放任态度。
就像Thusoo所说的,ASF可能会涉入此事,“如果它感觉那些项目公然违反了Apache Way”,但是它也会提供“基础设施,法律指导,以及培训和会员资格”,以此来扩大规模。它并没提及微观管理。
这种方案是一把双刃剑。一方面,项目在技术水准上停留在它们自己手中。另一方面,如诺特丹大学里的Brian Proffitt助教所说的,Apache Way能表现出”一种严格管制的,缜密计划的管理形式”。
“这是一件好事,因为某些项目需要组织”Proffitt说,”但这也会导致紧张局势,因为ASF的某些规则和管理会让官僚主义者痛苦不已”。
Joe Brockmeier, 是Apache CloudStack PMC的一名成员,他指出ASF不是“你撒在项目上,能立马让它成功的魔法粉。如果在项目上日复一日地做着开发的那些人 并不擅长建设社区,或者项目不能吸引足够大的用户群体,Apache就将不会取得巨大的成功。”
这里是前面对Apache的未来做的第一次真实测试:如果额外的官僚主义者对于采取上述方案没有提供明确的路线,那么在今天的这些自力更生的,强烈协作的开源项目是否能站得住脚,并从Apache Way中获利?
ASF的开源商机
当然,这答案取决于项目本身。
“ASF和开源通常最适合范围广泛的平台式技术”,Hadoop PMC主席说,”在社区的开发和基础设施建设中,存在一些很基本的元素。一些很成功的Apache项目已经成了基础或基础设施”
Rob Davies, 是Red Hat和Apache Camel PMC的一名成员, 在2005年,他将Apache ActiveMQ和Apache ServiceMix这两个项目移至了ASF的麾下。他说:“因为我们想建造更大的社区,在那个时候,ASF是中间设备唯一的主要开源社区。”
Davies解释了把一个项目移交Apache维护的吸引力:“项目成员知道一个项目如果能给一个重要开发者,由他来交给他所在的公司托管,那么这个项目就不会生存不下去了。但是,在现实中,这意味着很难重新在Apache里启动新的项目或者变为衍生的社区,因为开源项目并不是那个样子的。”
Davies说,一个开源项目通常是靠一两人的努力启动的,而吸引共享者却往往要等到它有棱有角的时候。最后,Davies补充道:“对于那些想大范围展示并吸引多元化的用户的项目来说,ASF很适合用来搭建它们。”跟被雅虎捐助的Hadoop情形一样,“如果你启动了一个全新的项目,ASF可能不是第一个用来开始的地方。”
Facebook的Thusoo认为,ASF最适合那些”有兴趣开发内容广泛并在业内能代表一些公司社区的项目。对于聚焦在单个实体不能带动大范围从业者参与的开源项目,ASF真不是正确的工具。”
由于Apache许可部分的不灵活,这导致Apache许可和GPL的使用方式上有些冲突,但其仍然还是广泛的用于开源软件的许可中。这些冲突主要围绕着“专利终止和赔偿规定”的问题上,根据ASF,简言之,Apache许可中有些项目是要求很详细的。
但是GPL不是那样子的,与Apache许可冗繁不同的是GPL更自由化,它同时兼容MIT许可,这使得GPL越来越流行。Github CEO Tom Preton-Werner在OSCON(开源大会,译注)的演讲中赞同MIT许可的简单和自由–这使得GitHub上许多工程很快就成为开源生态系统中的一员。
竞争是你得责任
说到GitHub,这将引入另一个值得批评Apache的问题:Apache没有自动的刺激工程以保持科技竞争。
想想Apache HTTP Server,ASF于1995创建的第一个工程,现在仍然是基金会的顶梁柱。曾经在网站服务器市场Apache可是如此强大和势不可挡,但是现在要同Nginx进行激烈的竞争。创建于2008年的Nginx已经在服务器市场占据15%的阵地(Apache 目前53%,从2011年6月下降了60%),部分原因是Nginx用了不同的体系架构,这样可以负担高负荷的网络请求,而且配置非常简单,同时它是受简单自由的BSD许可。
ASF中的版本控制系统Subversion同样面临着技术挑战,特别是开发者们都挑选了Git和GitHub作为他们的主要后座,这可能或多或少是因为Git天生的分布式结构对现在时髦的开发习惯来说是个补充。
而然ASF还是要帮助它们的工程有活力和正常运行,这就需要它们的工程超出它们的管辖而保持技术竞争。但很多评论说这不是ASF的漏洞,而是它固有的特性。Apache CloudStack PMC成员Brockmeier相信ASF是想要它们的工程“有技术竞争和广泛被使用”的,但“这不属于基金会管辖范围,而且我对Apache能否像以前那样流行有些怀疑,不知ASF领导能否命令它们的工程能正确的做到有技术竞争和广泛使用。
Ben Cherian是Midokura的首席战略运营官,Midokura是一个网络虚拟化公司并捐赠于Apache的CloudStack。 Ben说:“我不相信工程面临市场和改革的问题是基金会的责任”,他说:“每一个工程的社区应该对调整适应最新科技和市场压力负责任,因为每一个软件,其中有一些的寿命是和它所处工程紧密相连的,同时也遵循普通软件死亡和重生的生命周期,当然将来有些工程会大红大紫,有些会受挫,但这不是Apche工程的失败。这真实的反应出软件应该怎样去接受和适应市场的变化“。
最后,每一个接受Apache资助的项目要认识到自身应该保持竞争而不是让ASF资助者来为此负责。
项目政治和不满
ASF目前被热议它是怎样让特定的项目接受处理,恰当的例子:Oracle在2011年6月把OpenOffice.org捐赠给了ASF。
在 OpenOffice.org易主4个月后,ASF发表一个声明来减轻对 未来项目的担心以及阻止已经存在的批评。声明宣称:”毁灭性的声明已经被双方成员即FOSS社区和前贡献者发表,并暗示自从Apache孵化器接受OpenOffice.org之后的18个礼拜里,OpenOffice.org失败了。我们可以理解其利益相关者拥有这个项目有超过10年的历史,无论是之前产品管理者还是不经常使用的用户,可能都对Apache的管理方式不熟悉而且会对其方法产生疑惑“。但Apache仍然引用Subversion和SpamAssassin 项目作为”Apache工作方式的友好作为证据“。
某些指责可能是因为OpenOffice.org改变所有权明显地延迟了软件发布的进度。2011年4月,出现了3.4的测试版,而3.4正式版要等到来年的5月才发布。(4.0版和来自IBM贡献的主要代码将会在20137月发布)
延迟发布的部分原因是在Apache许可下重新许可软件套装,要花很长时间。但是不管谁赞助它,部分原因可直接归因于OpenOffice.org就绪发布而不是在固定的日程里发布新版本。相反的是,OpenOffice.org的姊妹项目,LibreOffice,按照LGPL协议每6个月发布一个新版本。
最近还发生了另一件大事,它牵涉到基金会的一个较小的软件项目的隐退,它就是Apache C++标准库项目。该项目从2005年开始启动,并在2008年中期见证了最后一次修订。项目的主席,Jim Jagielski,在2013年5月辞职;在7月,ASF董事会投票决定把该项目迁移到Apache Attic,这是一个”在项目生命周期结束的时候,可以提供处理和解决方案来让项目更加明确的地方”
迁移工作激怒了该项目的一个贡献者,Christian Bergström ,他之前支援接管该项目。他嘲笑董事会的选择,认为这是官僚主义者愚蠢的决定,并声称该项目仍然具有很大的潜能,另外缺少幻想和有趣的董事会的信仰实际上可以成就它。这完全令人失望。“
(Bergstrom拒绝发表评论)
当问及到Bergström的抱怨时,Jagielski回复到:”已经给了ApacheC++标准库很多的机会来”重启“并重新活跃社区,但是不幸的事实就是他不可能完成。“他同时指出Bergström并没有采取正确的主动行为:”邮件列表和代码报告日志显示,在很长很长时间里,项目中压根没有有价值的活动。Bergström先生明显有充足的机会提供这些潜在的整句;甚至他和他人提交的代码也会成为一个因素。“
Bergström也指出把该项目迁移至Attic并不意味着宣判死刑。”迁移项目是我喜欢Apache’s approach的原因之一”,他说”把项目推送到Attic并没有组织人们之后使用代码或者恢复开发”。
一些Attic捆绑的项目已经移至新目录了。举个例子,Apache Avalon从此变为子项目的宿主,这些子项目有些是由其他实体(如Loom)维护的。另一方面,Apache Harmony,用Java实现的开源项目,在2011年也被送至Attic。
(OpenJDK,和Oracle在同一起跑线的单独的实体项目,或多或少地使Harmony黯然失色。)
ASF和开源的未来
开源软件开发者正在朝两条路分化。一条路就是在全世界的开发者的努力下,在GitHub上自力更生,自发地协作。这种方式很有热情和活力。另一条路则是商业赞助的开源项目,也是Apache软件基金会大力投资的,类似OpenOffice.org,Hadoop,CloudStack,Tomcat,及一些其他的项目。
项目越大越复杂,就越可能需要Apache软件基金会组织的一些东西 — 更重要的是,它拥有大量的社区贡献者 — 来使它保持健壮。但是所有这些首先是基于保持一个项目与同行业的竞争力或者ASF的方案是否符合这个项目。
正像 Proffitt 所说,“ASF是很擅长接管那些岌岌可危的大项目,并且通过社区和资源来恢复这些项目的活力。 但是他们的方法对于较小的项目是没有太大效果的,这些较小的项目在流程上能够并且应该更加灵活。”
当Noirin Plunkett代表Apache基金会在今年的开源大会上发言,她提到成为apache赞助的项目的三个必要条件:使用Apache的许可,一致开发,拥有一个多样化的社区(”我们还没有一个项目是只由一个人贡献的”),而这三个条件没有谈判的余地。
类似这样的言论背后都是Proffitt所说的Apache的官僚作风。”Apache确实需要撇开一些对事情如何完成的严苛的看法,同时有时候需要多听一些成员的想法”他说道。
Brockmeier进一步强调了Apache基金会与其他组织的区别之处:”大多数组织在孵化方法或者控制管理形式方面做的不是很多。举例来说,Linux基金会关注于提升技术(主要是Linux,但也有些其他项目,如OpenDaylight和Xen Project),它使几个公司走到了一起。但[linux基金会]并不提供一些规则让人有提交权限或者关于项目一些决议是如何确定的需求”
存在这样一个小问题,Apache基金会已经成为许多适应它的项目的福利,尽管让那些项目保持竞争性仍是各个项目自身的职责。同样地,尽管Apache基金会的规则成为那些需要它的人巨大的支持源,但很明显它们被视作一种局限而非一种结构。当然对于Apache基金会来说,没有理由去试图迎合所有人,而且到目前为止,它的这种模式对于它和它所有的项目都运作的很好。但同样很明显的是,它距离成为开源界唯一的模型还很远。
英文原文:Has Apache lost its way?
via http://www.oschina.net/translate/has-apache-lost-its-way
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/43530.html