DougCutting是许多非常成功的开源项目的创始人,包括Lucene和Hadoop等重量级成果。他目前担任ClouderaCorporation的首席架构师,并担任ApacheSoftwareFoundation的董事会成员。在这次采访中,他向我们解释了为什么开源开发机制更强调技术常识而不是开发信念,同时深入分析了开源机制如何在企业环境中应用。他之前在AllThingsOpen大会上做过主题演讲,所以我也向他询问了Lucene的开源开发之路,他个人在Apache软件基金会的角色,以及开源机制对他意味着什么。您曾经在GPL许可下在SourceForge上发布了Lucene。早在2000年Lucene的开源处理一定面临着许多与今天不同的问题吧?事实上,当时的情况与现在并没有太大的不同。学术界和研究界的从业者长期以来一直在分享软件开发成果,因此免费下载技术解决方案或开源许可的概念并不是什么新鲜事。(我第一次接触GPL是在1985年,当时我在这个许可下为GNUEmacs做贡献。)不同的是当时使用的工具不同。我们使用的是ConcurrentVersionsSystem(简称CVS),因为当时没有可用的版本控制工具。我们不使用错误跟踪机制,我们只是通过邮件列表处理通信,但基本流程保持不变。人们用它来交流和协调他们在共享项目上的工作。从您的第一个项目Lucene开始,您就将开源作为开发工作的基本原则。你今天是否仍然坚持这些原则,为什么?对我来说,开源开发机制的重点是常识的积累,而不是强调开放的信念。希望我的努力能给用户带来实用的软件解决方案,即实用性是首要诉求。我喜欢和其他伙伴一起完成这项任务。确定了这些基本前提之后,其他的事情也随之而来。我们必须在尊重的前提下与其他参与者合作,否则不可能获得理想的合作结果。同样,要建立一个能够健康运行并具有长期协作关系的开源社区,透明度和精英管理也是不可或缺的。从这个角度来看,开源开发与非软件项目真的没什么区别。就像组织晚会后的分工一样,有的同志负责擦桌子,有的负责洗碗,有的负责把椅子放回原处。在这里我们不是上下级关系。每个人都属于他们能够完成的工作系统的一部分——换句话说,我们必须在不破坏彼此之间的友谊的情况下打扫房子。您是Apache软件基金会的董事会成员。你能从这个角度谈谈你的角色吗?从根本上来说,Apache董事会的作用是监督基金会下的各个项目,以确保每个项目都有一个健康有序的社区体系。我们要确保这些项目的实质控制权不会落入某个个人或公司手中,而是真正让每一个参与者都得到应有的尊重。目前150多个Apache项目定期向董事会提交季度报告,这意味着我们每个月审查大约50个项目的运营状况。总的来说,这项工作是可以顺利进行的。当然,我们偶尔需要介入,为项目指明更可行的方向。董事会还处理所有典型的组织管理任务,例如确保有人保持网站正常运行、收集捐款、按时纳税等。随着越来越多的企业开始在运行环境中使用开源解决方案,您认为未来三到五年Hadoop和开源的发展趋势是什么?我真的很欣赏开源的机制,因为它适合作为开发人员的我个人。让大量用户使用我创建的软件是无价的个人奖励和工作肯定。此外,开源对普通软件用户也有吸引力,因为它可以大大减少他们对特定供应商的依赖(也称为“供应商锁定”)。越来越多的开发人员现在专注于创建专有技术解决方案的开源替代方案。如果有选择,用户更可能使用开源解决方案,因为它可以有效摆脱锁定的负面影响。事实上,开源实现开了个好头,Hadoop生态也在持续跟进,完成接下来的深度工作。您可能已经注意到,开发人员经常基于当前的专有解决方案创建替代的开源项目,但很少有人打算使用专有产品来取代人们最喜欢的开源工具。我希望这种趋势将继续下去。Hadoop生态系统的核心已经经历了许多发展和变化,但它将保持开源。尽管这个堆栈上已经出现了一些专有工具,但Hadoop的开源身份在基础层面上仍然非常有前途。待办事项团队的建立对您有何帮助?我与他们进行了简短的交谈,我将整个团队视为一个邮件列表——除了他们的大部分工作是运行企业开源项目并围绕它讨论最佳实践。基本上就是这样,他们的整个议程都围绕着它。许多公司发布了一些开源结果并因此面临共同的技术和法律问题。他们希望能在这方面找到合作的机会,或者至少是说服。英语:http://opensource.com/business/14/10/interview-doug-cutting-cloudera
