领先一步
VMware提供培训和认证,以加速您的进步。
了解更多作为一家开源软件提供商,我们认为我们也应该公开我们的战略。我们想分享我们是如何走到今天的,我们将走向何方,以及这段旅程将如何对Spring、Spring用户和SpringSource有利。
很快,很明显其他人喜欢代码中的这些想法——比如依赖注入和Spring数据访问抽象——并且从将其付诸实践中受益。一些读者联系我,请求我发布代码并希望贡献代码。
我很快意识到开源的一些重要好处。
<li> It develops a strong community, which contributes to making the software better </li>
<li>Open source is inherently anti-bureaucratic </li>
<li>Open source can underpin a business model with lower sales and marketing costs than a traditional enterprise software company---meaning better value for customers. </li>
<li>Open source projects (and, hence, open source companies) can attract developers worldwide, rather than in any one geographical area. This represents a huge pool of talent that isn't available to traditional software vendors.</li>
没有软件是通过魔法开发出来的。在Spring的案例中,我们很早就汇集了一批优秀的开发人员。对这些人来说,这是一笔巨大的个人成本,这不可能永远持续下去。我花了大约18个月的时间离开职场,致力于Spring及其背后的理念。这影响了我们家庭的财务稳定:我们甚至需要从抵押贷款中提取一大笔款项。Juergen Hoeller很幸运地有一位雇主理解Spring在构建其软件产品方面可以带来的潜在节省。然而,他很快需要转向兼职工作——并相应地牺牲薪水——以维持他对Spring的承诺。正是Juergen和我长期、专注、集中的努力,才成就了今天的Spring。其他核心开发人员,如Colin Sampaleanu和Thomas Risberg,能够通过投入自己的个人时间,并牺牲他们的家人和朋友,做出间歇性的贡献。这种情况不足以支撑企业的关键基础设施。
从长远来看,所有软件开发都需要投资。不仅仅是编写代码的投资:维护代码以长期运行的投资。
我们在2004年创立了SpringSource(当时为Interface21),以实现这种投资。
第二年,我们能够聘用我们的第一位知名员工,他帮助增强了团队的实力和知识产权领导力——Adrian Colyer:IBM高级技术人员,AspectJ项目的负责人。这是一个重要的里程碑。我们第一次能够让那些原本无法参与Spring的人参与其中。
最初,我们的业务基于咨询和培训。很明显,这些业务无法维持我们用户社区期望的投资水平,也无法实现我们作为技术人员热衷于交付的愿景。我们的增长受到限制;我们太多优秀的员工将大部分时间和精力花在了交付服务上,几乎没有时间编写软件;而且我们担心我们员工的差旅和加班水平会让我们员工筋疲力尽。
当Spring 2.0发布比计划晚了好几个月时,我们意识到我们当时的商业模式是一个起点,而不是终点。同样在2006年,我们的愿景也得到了扩展,因为Spring产品组合的扩大以及我们对OSGi和Spring模型潜力的探索证明了基于Spring的服务器平台的变革潜力。
我们决定在2007年筹集资金,以实现这一愿景,并弥合我们从服务型企业到能够维持创建高质量软件的软件公司的过渡。
好处是巨大的。我们能够招募更多明星开发人员加入团队,并让他们为开源做出更多贡献。我们能够让现有员工中的优秀产品开发人员专注于增强和扩展Spring产品组合。我们能够确保AspectJ的未来,因为IBM减少了对其的投资。
我们在过去几个月的开源版本记录不言而喻
<ul>
<li> Spring 2.5 </li>
<li>Spring.NET 1.1 </li>
<li>Spring Security 2.0 </li>
<li>Spring Web Flow 2.0</li>
<li>Spring Batch 1.0 (co-developed by SpringSource and Accenture) </li>
<li>Spring Web Services 1.5 </li>
<li>Spring Integration </li>
<li>Spring Dynamic Modules 1.0 </li>
<li>Spring IDE 2.0</li>
<li>AspectJ 1.6</li>
所有这些版本都使这些项目向前发展,并为用户带来实际的好处。
我们还对其他开源项目做出了重大贡献,例如Apache Tomcat、Apache HTTPD(为大部分互联网提供支持的Apache Web服务器)和其他Apache项目,以及Eclipse的Mylyn项目。
我们的行动源于这些价值观。例如
这些价值观的强大力量帮助我们的公司度过了快速增长的时期。它也是我们与Covalent(一家我们在2008年1月收购的长期存在的开源公司)整合成功的关键因素。这两个组织具有相似的文化,使得员工的融合变得自然。它还有助于我们继续吸引优秀的技术和商业人才。
<ul>
<li>
SpringSource Application Platform。基于Spring产品组合和其他Apache和EPL软件的完整应用程序服务器产品。
<li>
企业增值服务。对这两类开源产品的增值服务。我们通过向客户提供商业许可证的年度订阅来提供这些服务。它们提高了构建Spring应用程序的生产力(如SpringSource Tool Suite),或在生产环境中运行这些产品的操作体验(如SpringSource Application Management Suite)。它们不定义编程模型或部署模型,而是增强了使用前两类产品可以获得的体验。用户不必购买这些增值服务(与传统的软件许可证不同);他们可以自己确认这些服务是否物有所值。
目前,企业级Java交付的软件价值与围绕其开展的经济活动之间存在严重错位。大部分收入流向了BEA(Oracle)和IBM,但其客户使用的运行时环境的很大一部分是开源的,而企业级Java中重要的创新大多来自其他地方。
很明显,企业级Java市场需要新的解决方案,也很明显,市场希望这些解决方案来自一家开源公司。我们相信,这家公司将是我们。
我们通过以下方式赚钱
<ul>
<li>Providing world class support and services. This includes dependable 24x7 support, outstanding training and consulting services and indemnification for enterprise customers who are understandably risk-averse. </li>
<li>Adding subscription products that deliver value to complement the Spring Portfolio. </li>
<li>Selling subscriptions to enterprise editions of our full-stack products. </li>
首先,让我们完全明确并解决一个重要的问题
我们仍然致力于在所有使用Apache许可证(以及EPL)的地方使用它。但是,并非所有软件都一样。不同的产品适合不同的许可证。今年,SpringSource推出了几款重要的新品,这些产品适合使用不同的许可证。
除了Apache许可证之外的许可证对我们有两个目的
<ul>
<li><em>For additional products available only to our customers</em>. These products satisfy a real need for those customers, and help to sustain the open source software that they and others benefit from. </li>
<li><em>To ensure that ISVs and OEMs using our new stack products don't get a free ride from software we develop for our community, and that software vendors can't compete with us with our own code</em>. The GPL v3 license used for the SpringSource Application Platform meets this goal, while remaining free to end users or open source usage.
让我们详细探讨第二个要点,即SpringSource Application Platform。这是一个全栈产品,与Oracle/BEA(WebLogic、OC4J)、IBM(WebSphere)和Red Hat(JBoss)的产品竞争。所有这些供应商都认识到他们也需要一个成熟的基于OSGi的运行时环境。我们在这一领域拥有强大的技术领先优势。所有这三家公司都需要完成我们在SpringSource Application Platform的dm-Kernel™上所做的艰巨工作。
假设我们将SpringSource Application Platform在ASL下发布。我们可以预料这些供应商很快就会与我们竞争,并且他们可能会向使用该技术的客户收取费用。这不仅不公平,而且还会降低我们对产品的投资能力,最终损害整个社区的利益。
因此,我们选择了一种许可证,这意味着最终用户可以免费受益于我们的工作,但竞争对手不能用我们自己的代码与我们竞争。
多年来,我们创造了伟大的技术。今天,我们创造的比以往任何时候都多。我们很自豪能够帮助推动企业Java从EJB 1.x和2.x的痛苦转变为使用POJO的敏捷开发。我们已经为企业客户创造了数十亿美元的价值,并且将来会创造更多价值。
我们很高兴继续这个故事,并提供更多、更好的基础设施。企业Java社区需要一家专注于提供最佳解决方案的公司。我们曾经用Spring重新定义了企业Java,而SpringSource Application Platform为企业Java带来了新的篇章。在我们挑战现状的同时,也请您向我们提出挑战。