作者:肯·利维 【Ken Levy】
日期:03/10/2009
提供:王木匠
翻译:Hailun Ma
-------------------------------------------------------------------------------------------------------
微软将永远不会开源 VFP 的源代码,这是因为基于商业的原因。在 VFP 的下一个 10 年内,将有更新的和增强的 VFP 产品,类似于 VFPX 的社区项目,以及 VFP 社区所开发的课件,这些更新的和增强的 VFP 产品是由 VFP 社区他们自己开发。
微软 FoxPro 的早期战略
1992 年化 1.73 亿美元巨资收购 Fox 的软件是微软公司的重大战略,在那个时期来说,是微软有史以来规模最大的企业购买软件的一笔交易。当时的 Aston-Tate 的 DBase 非常流行,Borland 公司具有 Paradox,以及号称 Client/Server 工具之王的 PowerBuilder。此时的微软急需要从 Fox 软件交易来完成三件事 - Fox 的开发团队、Fox 的技术和 FoxPro/FoxBASE 客户市场的占有份额。微软初期着手要开展的工作,其针对的目标是获取更多的高端用户,尽管有一些产品是重叠的,而当时的 Visual Basic 仍处于萌发的初期。
在 1995 年前后的高峰期估计有 500,000 的 FoxPro 开发人员,数以百万计的电脑在运行 FoxPro(DOS/Windows 版)应用程序。4 年之后,直到 VFP 的 5.0 发布,对微软来说,更多的战略重点是围绕 VB 的,而对 VFP 基本上是忽视的。VFP 的客户数和销售量也就从上升到下降,商业规则就是这样:不进则亡 (as he saying goes in business: if you are not growing, you are dying.)。
在合并 Fox 软件的最初几年里,微软确实投入了巨大的努力和大量的资源,也为此创造了 VFP 3.0。当时的 Fox 开发团队大约有 50 名在编员工,巨大的开发费用和市场营销预算的投入。在随后的几年,Access 和 VB 逐渐增加了市场份额,同时也与 VFP 竞争了市场和信息。在 VFP 5.0 发布之后,许多高层经理希望微软结束 VFP 产品的存在。事实是,不久,我参加了一个 40 人的会议,会上对 Fox 开发团队正式宣布了对 VFP 停产的决定。那时是在 1996 年的年初,这次会议导致了加特纳集团 (译者注:Gartner Group,世界著名咨询公司,http://www.gartner.com) 公布的报告说,VFP 已经死亡,这对未来的 VFP 的销售产生重大影响。但是,随即 Fox 开发团队的成员立即把该消息捅漏到了 FoxPro 的社区,此时在社会上制造了相当多的噪音,再加上鲁德尔等人的力荐 (译者注:Eric Rudder,VFP 3.0 的架构师,后为微软技术策略高级副总裁,同时他也是比尔·盖茨非常倚重的技术专家,甚至有望成为鲍尔默的接班人。在 2005 年之前,他曾是微软服务器和工具事业部的高级副总裁),鲁德尔说:相信 VFP 与其他的开发和管理软件会跟上不断发展的需要,同时呼吁减少不必要的资源浪费。事实上,在后 10 年里,VFP 持续发布了后 4 个版本,VFP 的销售也大大地带动了 Windows 的销售,在很多 Windows 的计算机上运行着 VFP 的应用程序,当史蒂夫·鲍尔默像猴娃一样蹦跳着大叫:“开发人员,开发人员,开发人员”,他认为销售开发工具比销售 Windows 更重要。
微软 Visual FoxPro 的历史
VFP 的 6.0 和 7.0 等每一个新版本的发布,都花费了极少的资源、极少的团队成员和极少的市场营销预算。当 VFP 中被列入了 Visual Studio 中,这只是一个附加的包,并没有真真的整合进 Visual Studio 家族中。VFP 的社区看到 VFP 在 Visual Studio 内运行,并且可以在 .NET 框架内运行,他们也理解,如果 VFP 走了 .Net 这条道路,这将会严重破坏 FoxPro 代码的向后兼容性,以及 VFP IDE 的开发环境将彻底消失殆尽。微软从来没有使 VFP 单独的工作还是 VFP for .NET 的这样明确的目标计划。假如进阶成为 VFP for .NET,将演变成为 VB.NET 和 C# 的同类,微软很难再出售 Visual Studio 和 .NET 框架,VFP 的 Net 化将对微软 Visual Studio 的大 .Net 化策略具有冲突和重叠,这就是微软想要放弃 VFP 的真正原因。随即,在 VFP 7.0 之后,决定把 VFP 作为一个单独的产品从原被 Visual Studio 捆绑的产品中独立出来,因为它肯定不会是 .NET 平台的一部分。这被默许为:允许 VFP 在它以后自己新版本的时间表上自由发布。当然,每当一个新版本的推出,也预示着这将是最后的一个版本。
Fox 的团队没有任何人预计会在什么时候会发布 VFP 8.0 之后的版本。销售量继续每年下滑,因此决定做一次市场营销预算的分析。分析的结果是残酷的:增强和增加 VFP 的销售唯一的办法是将与 Visual Studio 开展竞争,并且还必须分流 Visual Studio 中的预算和资源。事实上,VFP 的最大的竞争对手是 Visual Studio,而不是 Delphi 或任何非 Microsoft 的产品。微软的大多数营销和管理人士希望 Fox 开发人员使用 Borland 的 Delphi.NET,而不是微软的 VFP,因为它们将在 .NET 平台上的开发,而不是陈旧的、传统的 COM,COM 成为了恶魔,人们需要摆脱它,就像今天的 HTML/JavaScript 对微软开发平台来说是当前的敌人一样。
VFP 9.0 期间,Fox 的团队大约只剩下 8 个人,即使如此,VFP 9.0 还是依照社区的意愿发布。其后不久,微软决定建立一个 XBase 外挂的分发附件 (Add-on),以维持对前版本的升级、补丁和销售服务,以及对 VFP 乐观看法的进行淡化。其结果是塞德娜 (Sedna) 计划的出台,Sedna 计划是 VFP 与一些其他微软产品 (.NET、SQL Server、Office、Windows 等) 可以交互操作的、并且可供下载的样板范例和实用程序,Sedna 计划的另一个原因是为了拖延对 VFP 终结的宣布,以保持 VFP 9.0 的销售,以及保护 Fox 社区和 VFP 开发者的就业市场。
Visual FoxPro 不会开放源码
请求微软使 Visual FoxPro 代码库开放源码是人们的一种常见的和逻辑上的自然情理。但微软有不开源 Visual FoxPro 源代码的某些理由,VFP 的像拉什莫尔 (Rushmore) 优化索引的技术,现在已经被用到了 SQL Server 和 Access 等微软的其他产品上,这和 C/C++ 的代码库不一样,这些原始于 VFP 的技术和算法,微软认为这种知识产权的资源微软不希望被公开。
但是,有两个很重要的并没有涉及上述的原因,因为他们是做商业的,尽管微软并没有把 VFP 作为销售的主打产品,当时力推的是 Visual Studio 和整个微软平台的普及和销售 (产品和服务的打包)。开源 VFP 其结果是将导致会减少 VFP 开发员使用当前先进的微软产品平台,还有可能导致某些人或公司建立一个具有竞争力的针对微软的产品。微软不希望看到用这些具有提高产品竞争力的增强的代码,也不希望看到任何干扰 Visual Studio 的销售,或已经在 .NET 平台所采用的技术在其他新产品上再次出现。
微软 Visual FoxPro 的后期战略
Visual FoxPro 在微软的最后 5 年,我是最后一任的 VFP 产品部经理,主管市场营销和社区,我们的战略是要把 VFP 的市场推向现行的社区,主要是通过升级或更新,这样做是尽可能的保持 Fox 社区更加强壮,让 VFP 开发者采纳更多的微软产品 (.NET 和 SQL Server)。我的角色我认为是在承担着两个职责:一个是代表微软的雇员,另一个是作为 FoxPro 社区的会员,在微软的城墙内尽一切可能对 Fox 的演变、保护、提升和帮助 VFP,尽自己最大的努力。我几乎用了近一半的时间花在了微软的 VFP 的事业中,奔波在微软雷德蒙总部至外地办事处之间,保持着 VFP 信息的健康、正面、畅通和重生。
Fox 团队核心之上的微软管理层,是决定 VFP 一切事物的战略决策者。Fox 的团队核心没有任何人可以决策营销预算、或支配团队的资源、或何时发布每次新版本的权利。仅有的几个关键人物还待在 Fox 团队内,大家兢兢业业协同工作,希望能够延长奢望中的新版本的 VFP 的生命,并乐意为之再服务几年。
我认为客户的忠诚度是使得 VFP 延长到 6.0 之后的另一个因素。但是,在 VFP 9.0 发布时,各种版本的 VFP 的年销售额不及微软的 Visual Studio 一天的销售收入。维持 VFP 的各类成本费用及投资利润率 (ROI) 远不及对 Visual Studio 和 .Net 语言的投入,此外,有些 Fox 团队成员们准备调换或离开微软,而此时几乎很难再找到合适的人选取而代之。比较客观和现实的地认识是,VFP 已经对 Visual Studio 作为较大的竞争力的产品,尽管它是由同一家公司所拥有产品,是否还记得苹果公司的 Mac和 Lisa 计算机在同一时间必须只有一个存在。VFP 是同样的理由,只是它幸运的躲过了整整十年后,然后它基本上被判了极刑 (因为它不再是一个战略了)。
进入下一个十年
到 2010 年01月15日,微软对 VFP 9.0 的标准支持将结束。尽管延伸支持还可以延续 5 年,但我不期待会有任何对 VFP 具有提升的热修补程序 (additional hotfixes) 出笼,除非在罕见的情况下,比如基于 VFP 的软件在 Windows 7 下具有致命错误,以致影响微软形象时,才有可能更新 VFP 的动态链接库 (runtime)。一些人建议微软在消灭 VFP 之前是否还让 VFP 继续存在,换一个角度来看,VFP 确实已经存在了多年了,也有了多种版本的资本,尽管微软本来可以为 VFP 做的更多,但并没有真真的对在同一个时代的 Access、VB 以及 Visual Studio 所提升和给予的资源具有同等待遇。只有久经使用 FoxPro 的程序员才能真真欣赏 VFP 曾经是、现在仍然是最棒的。