致力于开放源码商业用途项目的开发者,不仅需要考虑技术上的问题,还需要开拓新的道路,来解决软件开发中商业性的问题。ADP经销商服务公司(ADP Dealer Services)研发部主管,同时也是该公司的一位研究员,Mark Rankin提醒开发者,一定要小心谨慎所获得源代码的出处,一定要确保所采用的源代码的确是开放的,将来不会出现版权问题。
上周,由《信息周刊》和其姊妹刊物《网络计算开发者》共同赞助的Burton集团北美促进大会(Burton Group Catalyst North America)上,Rankin说,开发者必须习惯于这一事实:他们可以从开源团体得到一部分但是不是全部的技术支持,开发者同样还要提供代码回报开源团体,以便其他组织可以使用。
ADP经销商服务公司在六年前就已开始转向开源,为轿车及卡车经销商提供计算系统商业生产线。它的母公司,自动化数据处理公司(Automation Data Processing Inc.),提供包括服务器和IP电话在内的技术;ADP经销商服务公司着重提供应用软件,为会计、新闻、金融、保险、人力资源、配件物流、天气预报及行程安排等方面提供软件模块。Rankin说,在上述领域ADP经销商服务公司的商业利润大约为10亿美金,其母公司的大约为80亿。公司的客户群涵盖范围非常之广,从15到30个人的汽车经销处一直到有数十亿美金的大公司。
运行在Unix平台上的ADP软件,60%为Linux系统,40%为运行在Alpha处理器上的Digital Equipment Tru64 Unix系统。这个软件采用了一种过时的编程语言——Pick/Basic,用到了SNA和X.25网络技术,是一个“绿屏(green-screen)”程序。该公司的主要竞争对手使用的也是同样的技术。
主要使用开源代码组件,ADP正在逐步取代应用程序。它选用PHP脚本语言,部分原因是可以得到IBM和Oracle的支持。ADP使用带有主要由HTML和JavaScript组成的前端的PostgreSQL。Rankin说:“如果我们在哪一方面需要增加点魅力,那我们就选用可管理控件和.Net框架。”
他还说,ADP的这一过渡非常成功,但是需要开发者学习一些新东西,改变一下习惯。
所涉及到的知识产权和开源条款,要求开发者在开发过程中牢记ADP的合法范围。Rankin说:“这需要律师去动一番脑子了。”律师看着软件太好了以至于不敢相信那是真的,并且很难理解这种技术。而开发人员者在理解法律问题上又遇到了麻烦。Rankin说:“工程师不是律师,律师也不是工程师。”
ADP的开发者总是避开使用有GPL(General Public Licence)条款的代码,理由很简单,GPL条款要求修改GPL代码的开发者把修改过的代码公开,放弃他们自己的知识产权。然而,ADP公司使用基于开放源码的伯克利软件发布Unix(Berkeley Software Distribution Unix)的BSD开源条款,允许开发者保持修改过的代码的所有权。
ADP还认识到需要教育开发者不要在没有通知管理员的情况下就从网上下载代码,而且要在把这个代码融入自己的软件之前确保它是开放源码的,Rankin说。
Burton集团的分析员Richard Monson-Haefel说,“任务非常巨大,开发者将会从网上下载工具和代码,这样你就必须制订一套严格的规范,并且用此规范检验所有的软件,确保没有违反规范,并且没有使用你所不熟悉的条例。”
Rankin说,公司需要做好准备、为此而勤奋工作,因为要向世人表现他们自己的清白,证明自己的软件没有侵犯别人的知识产权。
Monson-Haefel说,公司能够通过使用像IBM这样公司的软件来避免知识产权纠纷,因为这些大公司会给客户提供保障。这里的陷阱就是,如果用户修改了代码,那么公司就不再提供保障,这与开放源码的一个主要益处是有冲突的。
另一个原因是公司需要仔细考虑他们是修改还是想“fork”开源代码为内部所用,这需要冒失去开放源码团体支持的险。Rankin说:“如果你fork它,开源团体不喜欢你那么做,你将必须在自己的后半生独自拥有这些变化。”
在开源团体因为某些原因不想或不能提供技术支持的地方,公司应该寻找一些别的公司来支持这些开源产品。ADP请来了IBM支持Linux,Zend技术公司支持PHP,Command Prompt支持PostageSQL。
开源团体在一些领域上的支持是可以保证的,但它对其它的项目并不感兴趣。公司只能自己或者雇用别的公司去做这些项目。
Rankin说,举例来讲,原始的Postage数据库让用户看到了数据库中的所有表,没有对视图进行过滤。ADP中的一些人把它看作一个安全隐患,这无疑是很不方便的,结果造成了信息过载。开源团体不愿意修复这个问题,于是ADP雇用了Command Prompt来修复,Command Prompt为此象征性的要求公司支付3500美金的酬劳。
公司为了取得精神上的平静不但需要付出小的代价,而且还要多做一些工作,确保向开源的过渡进程没有停止。
(T111)