开源研究

2005年3月20日

开源世界的一个有趣方面,特别是对我们来说,是它正在证明是一个迷人的研究社区。开源项目有许多形式,但其中相当一部分是围绕一个想法进行编程,看看它会走向何方以及它是否有价值。如果你认为设计和编程是分开的,这个概念听起来很奇怪,但如果你接受它们是紧密相连的,那就很有道理了。

这种影响在企业 Java 世界中尤为明显。该领域许多有趣的新发展(IBatis、Hibernate、JUnit、CruiseControl、Spring、Sitemesh、Webwork、Tapestry,……)都来自开源开发者。

开源研究非常适合 Thoughtworks,这就是为什么如此多的 ThoughtWorkers 积极参与开源项目的原因。它符合我们关于开放知识产权的理念。我们没有那些有兴趣为学术会议撰写大量论文的人——我们倾向于拥有想要构建事物的人。因此,开源世界是他们发表成果的方式。如果它真的流行起来,他们会把它变成一个产品,通常是在更多人的帮助下。许多这样的研究和开发都是与非 ThoughtWorkers 合作完成的——我们对此没有意见。我们希望探索和发布想法——我们为客户提供日常工作。

我的愿望之一是让人们有更多时间进行这种研究。目前,大多数这样的工作都是在人们的业余时间进行的。由于大多数 ThoughtWorkers 从事这项工作是因为他们热爱它,所以这确实有效。但我希望有一天我们能够负担得起在工作日给人们时间来进行这种研发。

有些人批评开源世界,因为许多项目只是逐渐消失,从未真正发布到 1.0 版本。如果你把它们看作是研发,那么许多,实际上大多数项目没有成为真正的产品是有道理的。研发就是关于产生想法并与之合作。成功的研发不是通过他们有多少想法变成了产品来衡量的,而是通过他们产生了多少伟大的产品以及这些产品有多伟大来衡量的。一个启动了三个项目并将它们全部变成平庸产品的人,不如一个启动了十几个项目并将其中一个变成杀手级应用的人。