Grails: http://grails.codehaus.org
ExtremeTable: http://www.extremecomponents.org
Openi: http://www.openi.org
Openlaszlo http://www.openlaszlo.org
Xfire:http://xfire.codehaus.org
Drools:http://drools.codehaus.org/
Daffodil Replicator: http://www.daffodildb.com/replicator/
OSCache: http://www.opensymphony.com/oscache/
LifeType: http://www.lifetype.net/
Joomla: http://www.joomla.org/
超级玛莉: http://smclone.sourceforge.net/
谁说开源不创新?开源思想正在Jave社区、操作系统、脚本语言、安全、多媒体和通信等领域创造大量的新技术。
人们经常说开源没有创新,而是模仿。这肯定是专有软件行业希望你相信的。看一看目前企业中使用的一些最著名的开源项目中的活动,让你不由得不同意。
例如,尽管开源数据库令人难以置信地广泛用于各类关键任务应用,但不管是MySQL还是PostgreSQL,实际上没有做任何IBM、 Microsoft、Oracle和Sybase多年来没做过的事情。同样,OpenOffice.org生产力套件是一个给人留下深刻印象的社区驱动的 开发的例子,但它惟一的真正目的是创建免费的、基于标准的Microsoft Office的克隆。甚至Linux自己也是作为免费软件改写Unix的尝试。但是,所有这些都不能否定开源开辟了一条属于自己的新路而非只是跟在别人后 面的事实。Apache Web服务器就是最好的例子。Apache自1995年诞生国家超级计算应用中心的httpd后,就一直是用户的首选Web服务器。据网站与服务器监测机 构Netcraft说,目前62%的Internet网站使用Apache,而使用Microsoft IIS(Internet信息服务器)的网站只有31%。
主要包括:Pluto,Liferay,eXo,Jetspeed四种开源Portal的介绍和分析,有助于对具体项目选择合适的开发平台。
(1)Pluto
2003 年10月JSR168规范1.0正式公布后,Jakarta Apache就开始实施Pluto计划(冥王星计划),最终开发出该规范的一个参考实现(Reference Implementation),即Pluto。Pluto的1.0.1-rc2版与2004年12月发布。
Pluto实现基于 JSR168的一个 Portlet Container,相当于为开发者提供了一个运行portlets的工作平台。Pluto本身也提供了一个简单的Portal模块,该模块仅仅是为了满足Portlet容器和JSR 168的需要而写的,因而显得非常简单,提供的实用的Portlet也非常少。从某种意义上说Pluto更像是一个Portlet Container,作为一个实用的Portal开发框架尚需要更强大的支持。但新版本的Pluto仍没有推出。对于Pluto的应用开发,Apache 更推荐使用Jetspeed项目框架。
尽管Pluto作为一个完整的Portal应用还非常欠缺。但不少有影响力的Portal项目使用Pluto作为Portlet Container。这些项目包括:Jetspeed 、Cocoon uPortal 、Jahia等。由此可见Pluto的重要性。从开发者和学习者的角度看,Pluto的意义还在于为开发者和学习者提供了一个深入了解Portlet Container的简洁的参考实例。
(2)Liferay
Liferay(支持JSR168)代表了完整的J2EE应用 ,最高版本是2005年1月推出的Professional 3.2.0。它的主要优点有:
(1)使用第三放的开源项目,如Hibernate等。特别是前台界面部分使用了Struts技术;
(2)支持包括中文在内的多种语言;
(3)支持较多的先进技术,如Web Services、EJB, JMS, SOAP, XML等;
Liferay的缺点是它缺乏一个简单清晰可拓展的架构设计,整个架构比较复杂且庞大;Struts1.1本身并不支持JSR168,所以Liferay 在实现诸如上下文共享等问题上显得十分笨重且没有从根本上解决这些问题;portlet设计也显得比较凌乱。此外,如果你的门户系统准备应用于商业用途,你需要购买License。基于它进行二次开发比较困难。
(3)eXo
eXo(支持JSR168)基于JSF的Portal实现。最新版本是2004年10月发布的1.0RC1版。
主要优点包括:
(1) 由AOP(AspectJ)实现的内容管理系统,极大提高了内容管理性能;
(2) 基于Pico Container的Portlet Container,Pico是一个著名的IoC3轻量级容器。同时也实现了上下文共享,二次开发的流程比较清晰;
(3) 使用Struts框架技术;
(4) 提供工作流技术服务(Workflow service)。
(5) 提供了很多交流工具,通过XML可以为结构化的信息轻易地创建视图;
由上可见eXo采用了诸多先进技术,但存在不少缺点。主要缺点:由于Portal Server本身的数据是使用xmldb来进行处理,保存到数据库的数据都是乱码而且它所有默认的平台字符集都是ISO-8859_1。缺乏中文的充分支持,对于中文门户的开发并没有优势;由于JSF是重量级的表现层框架,使得exo的二次开发工作量比较大;对于商业Portal应用开发需要购买 License。总体开发难度较大。
(4) JetSpeed
JetSpeed 是Apache组织的开源Portal项目。Jetspeed 目前有两个版本可供选择1.X和2.0版本。Jetspeed1.X出现得比较早,但第一个较为成熟的版本发布是1.4。此后1.X不断推出新版本。但 Jetspeed1.X都不支持JSR168。当JSR168在2003年发布后,Apche开始开发Jetspeed2,提供对JSR168 的全面支持。
下表是Jetspeed重要版本的发布日期:
Jetspeed的重要版本 发布日期
Jetspeed-1.4b2 2002年12月
Jetspeed-1.5 2004年4月
Jetspeed-2.0-M1 2004年12月
Jetspeed-2.0-M2 2005年4月
Jetspeed1.X基于Turbine框架开发,它提供了丰富的Portal技术功能。主要优点有:XML文件注册Portlet,便于管理;图形化的部署和卸载;对中文的良好支持等。值得注意的是IBM早期的WebSphere Portal Server就是在JetSpeed1.X上进行二次开发的。Jetspeed2.0在1.X基础上进行了较大的改动,功能更加丰富,完全遵循JSR标准。
配置方法,不同的版本的配置可能有变化,如不成功,可以自行察看文档。
Pulto在Tomcat下的安装配置方法:
(1) 从http://portals.apache.org/pluto/mirrors.cgi下载最新的二进制版本安装文件
(2) 执行%pluto%/bin/install,将它安装到Tomcat目录下即可
(3) 在浏览器中输入:http://localhost:8080/pluto/portal,运行Pluto
Liferay Professional在Tomcat下的安装配置方法:
(1) 从http://www.liferay.com/downloads/index.jsp下载Liferay Professional安装文件;
(2) 解压ZIP包到某个目录下
(3) 若下载Tomcat版本的Liferay安装文件,则不需再装Tomcat,直接启动bin目录下的startup.bat文件。
(4) 在浏览器中输入http://localhost/运行Liferay Professional。
eXo Platform在Tomcat下的安装配置方法:
(1) 从http://www.exoplatform.com/portal/faces/public/exo 下载eXo Platform的安装包。
(2) 解压ZIP包到某个目录下
(3) 若下载Tomcat版本的eXo安装文件,则不需再装Tomcat,直接启动bin目录下的startup.bat文件。
(4) 在浏览器中输入http://localhost/ 运行eXo Platform.
Jetspeed2在Tomcat下的安装配置方法:
(1) 从http://www.apache.org/dist/portals/jetspeed-2/ 下载Jetspeed2 M1或M2版本安装包。
(2) 若是安装包中已经捆绑Tomcat,解压即可。若安装包不含Tomcat,先安装Tomcat,然后将安装包解压到Tomcat目录,并覆盖相关文件即可。
(3) 安装要注意的问题有:Jetspeed2M1版本由于Bug无法安装Tomcat5.5上(此BUG见http://issues.apache.org/jira/browse/JS2-187);Jetspeed2必须安装在Tomcat5.0.28以上版本上,否则低版本由于JAAS问题无法登陆;
(4) 启动jetspeed-database目录下的start-database.bat,启动数据库;
(5) 启动Tomcat;
(6) 在浏览器中输入http://localhost:8080/jetspeed/portal 运行Jetspeed;
开源商业智能
很快市面上就会出现成本高昂的报表工具以外的低成本方案。
如今,客户和独立软件开发商在购买现有商业智能(BI)软件的许可证时往往面临高昂费用,这也就难怪在开源社区内部
BIRT的主要目的是为基于Java的Web应用充当报表系统。它包括两个部分: 一个是JAR(Java Archive)文件,该文件包括可部署在应用服务器上的运行时组件; 另一个就是报告设计器,它可以作为Eclipse插件来交付,提供了方便的所见即所得的编辑功能以及标准报表项目调色板。该工具包基于名为开放数据访问的 框架,这样在选择数据源时具有很大的灵活性。
对需要专业支持、维护及培训的人来说,一家名为Actuate的公司为BIRT技术提供了所有这些服务。此外,Actuate提供的自己版本的BIRT使用商业许可证,该许可证含有知识产权保障条款。
值得关注的另一家组织就是Pentaho,这家新兴公司致力于开发全面的开源BI平台,包括报表、分析、仪表板、数据挖掘及工作流等工具。该公司的开发队伍声称,队伍成员以前在Cognos、Oracle和SAS 等公司从事过BI应用软件的开发。这个项目的主要服务器架构将搭建在J2EE上,与BIRT相似的地方是,相应的客户机环境将基于Eclipse平台。开 发人员已努力把先进技术集成到平台里面,譬如对所有内容统一使用XML定义; 对分析组件使用Web服务界面,力求确保最大的灵活性等。
截至发稿日,Pentaho还没有提供下载版本,不过该公司称,它计划在年底前交付所有项目的版本,采用宽通用公共许可证(LGPL)以及所谓的“类似LGPL”的许可证,其中包括Apache、BSD和Eclipse。公司网站上提供了详细的路线图。
虽然Pentaho目前也许是个雾件(vaporware),但它具备了在BI市场成为重要竞争者的所有必要条件。该项目的开发人员说: “我们没指望用户仅仅是因为它是开放的就采用它。我们希望用户选择它,是因为它更好。至于这个项目结果如何,几个月后可见分晓。”
开源业务流程管理
编制面向服务的架构(SOA)是项让人激动的任务,新项目正在积极采取行动。
功 能齐全的业务流程管理套件也许不会最先来自开源社区,不过这正是诸多项目在竭力使之实现的目标。随着SOA的兴起,人们对管理及编制不同服务和 Enterprise JavaBeans(EJB)的业务流程引擎的需求空前高涨,甚至对以其他方式依靠开源技术的网站来说也是如此。
这 就是为什么Apache软件基金会考虑采用Project Agila的原因。在该基金会的Jakarta Java工具套件当中,这个项目可以说是 “皇冠上的宝石”。Agila是基于Gluecode软件公司在2004年10月捐献的初始代码开发的,这个轻便、可嵌入的开源业务流程管理引擎适合与 J2EE和较低端的平台如J2ME一起使用。Apache的代表声称,正因为如此,Agila是Apache Java中间件系列当中的最后一个重要部分,可以同BEA或者IBM等主要商业开发商提供的产品相媲美。目前这个项目还处于孵化阶段,没有授权文件,不过已经向公众开放。但预计大规模的开发工作很快就会启动。
Apache软件基金会不是惟一遵循这条思路的组织。JBoss 也在期望把产品系列扩大到其核心应用服务器以外的领域。JBoss近期购买了名为jBPM的开源工作流引擎,把其丰富的Java开发经验带到了业务流程管理市场上。
与Project Agila一样,jBPM也可以作为独立的应用运行,或者作为另一个应用里面的嵌入式组件运行。与Apache项目不同的是,jBPM代码已经可以从 JBoss的网站下载,采用该公司的定制的宽通用公共许可证 (LGPL)。除了引擎本身外,jBPM还包括图形化的流程设计器,用于创建工作流。该项目 的未来计划包括: 增加对业务流程执行语言(BPEL)的本地支持; 就长远而言,项目的目标是要扩展jBPM的功能,使其成为一种成熟的企业服务总线(ESB)。
除了这两个 主角外,还有其他许多开源工作流引擎(有的正在拟议中),不过这些项目的发展状况往往很难确定。不过,管理业务流程这项复杂工作需要专门技能。如果你在寻 求这类软件的开源方案,稳妥之计就是,选择得到像Apache或者JBoss这些财力雄厚、专业的组织支持的项目。
开源企业服务总线
中间件方案的数量在迅速增加,但现在离开商业开发商也许过于仓促了。
随着Java应用服务器迅速成为一种大众化商品,难怪现在我们开始看到企业中间件系列的其他组件以开源方式实施。尤其是,近几个月已出现了许多极其成熟的企业服务总线(ESB)实施项目。
Iona 科技公司近期捐献了Celtix的源代码,这是采用GNU LGPL许可证的Java ESB,从而启动了ObjectWeb社区在ESB方面的工作。虽然迄今为止还没有提供授权文件,但Iona的代表声称,Celtix将支持最近推出的 Java商业智能(JBI)规范,该规范为跨应用集成明确规定了标准化的对象容器。该项目还将支持Web服务描述语言(WSDL)、Java消息服务 (JMS)、简单对象访问协议(SOAP)和XML,还会为Java和传统Java对象(POJO)提供应用扩展接口。其管理和配置工具将基于 Eclipse。
不甘落后的Sun也 在今年的JavaOne大会上发布了自己的免费ESB。这个名为Java开放式企业服务总线的项目将放在Java.net上进行,第一个版本有望在今年夏 末交付。Sun还计划把来自这个社区项目的代码包装成商用产品。与Celtix一样,Open ESB将基于JBI 1.0规范,并借助JBI参考实施方案。可是与Iona不同的是,Sun发布的代码将采用自己的公共开发和发行许可证,而不是GNU许可证。相关详细情况 仍很少。
虽然前面提到的项目仍处于初期阶段,但至少有一个开源ESB已经具有一定的发展历史。由 SymphonySoft公司发起的Mule项目从2003年开始就在开发了。该项目的当前版本为1.1,支持可插拔的连接选项,适用于众多网络传输技 术,包括JMS、POP3、TCP、UDP、服务器小程序和多点传送等。更先进的特性在路线图中有所介绍,譬如,JBI实施要到版本2.0才会出现等。另 外,该项目采用SymphonySoft自己的许可证发布,而不是免费软件基金会或者开源促进会批准的许可证,这对一些人来说是个不足。
有了代码,上述项目都有可能为部门级ESB部署打下良好基础。然而就大规模部署而言,没有一个项目可能会有太大的吸引力。由于许多ESB部署方案把JMS统一作为首选的消息传输方式,如果有些公司已经向Cape Clear Software、Fiorano Software或Sonic Software这些厂商购买了企业级JMS服务器,那么采用这些厂商的ESB产品,或者坚持使用较传统的中间件解决方案要比采用开源来得明智。
开源内容管理系统
挑选内容管理系统解决方案最困难的地方就是缩小选择范围。
随 着Web成为大多数企业进行联系的基础,你会发现如今市场上并不缺少Web内容管理系统(CMS),包括众多的开源方案。自然,如果你大胆地利用这些产品 搭建内联网或者面向公众的网站,需要关注的不仅仅是许可费。所以重要的是不仅仅寻求产品的功能,还要注意有无经常更新、健康发展的用户社区以及专业支持等 方面。
OpenCms运行在Apache Tomcat上,适用于大多数操作系统,并采用宽通用公共许可证(LGPL)。众多注册的解决方案提供商可以提供实施支持及其他专业服务。此外,德国的 Alkacon Software公司提供收费的支持协议、最终用户及开发培训课程(分英文和德文两种版本)以及定制的项目开发。
表 格和所见即所得的编辑器简化了编辑OpenCms里面的内容条目,而该软件使用方便的管理用户界面允许轻松定制。不过,OpenCms在几个高级方面也有 所欠缺: 缺少安全套接层(SSL)加密和轻型目录访问协议(LDAP)验证; 提供的模板管理功能也很有限。虽然它具有成本效益,但如果你需要扩展多个网站,或者如果你期望获得企业性能管理功能如高速缓冲和负载平衡,不妨考虑其他产 品。
全世界的人都在使用基于PHP和MySQL 的CMS Mambo,既用于构建简单的网站,也用于构建复杂的企业应用。Mambo的开发社区真正属于国际化,提供功能强大的支持论坛、优质的第三方专业服务以及 用户大会。Mambo采用GPL许可证,但总部设在澳大利亚的Miro(该软件的开发者)也提供名为Jango的商用版本。
Mambo 提供相当不错的页面缓冲、RSS聚集以及在计划表上显示内容的功能。可以从Mambo社区获得许多功能强大的免费附件,包括文档管理特性、讨论论坛以及基 本的电子商务购物手推车等。不过类似OpenCms的是,Mambo也缺少大规模实施所需的多重任务执行功能。
最 全面的开源CMS应用软件恐怕就要数eZ publish了,它提供内容分段(content staging)、工作流审批以及IT人员所需的数据中心的所有功能——包括负载平衡。另外,可以重复使用一些内容的功能使eZ publish适用于只要用一个CMS实例就可以托管的国际网站。
现在可以获得GPL版本的eZ publish。总部设在挪威的eZ systems是这个软件的开发商,它还提供采用商业许可证的版本。这些许可费用于支付大约40名员工的薪水,他们在开发产品时遵守严格的质量保证周期, 可以同纯粹的商业开发商的周期相比。它还提供支持、培训和咨询服务等。
开源客户关系管理系统
不用花大价钱购买软件就可以管理销售及客户关系。
开源社区还无法在短期内取代Salesforce.com或者Siebel这类厂商提供的价格不菲的高端CRM软件。不过,现有的一些项目已经具有的先进程度可能会让你大吃一惊,尤其适用于中型组织。
譬 如说,SugarCRM就提供全面的企业级CRM系统,利用开源技术而建,包括PHP、MySQL和 Apache Web服务器等。名为Sugar Open Source的基本套件可以免费下载,它采用SugarCRM的定制许可证。该公司还提供商业版本的软件,名为Sugar Professional。SugarCRM为该产品的商业版本和开源版本提供收费的支持套件。
《InfoWorld》 测试中心曾在4月测评了Sugar Professional 2.5,结果发现这款解决方案对中小企业来说还算不错。此外,说到对性能的改进,SugarCRM也决不含糊。版本3.0添加了营销活动和联系人名单管 理、电子邮件营销、项目管理、员工目录及日历同步等工具。即将推出的版本3.5将添加面向移动销售人员的离线客户软件、可以扩展的模块化框架以及支持 Oracle数据库的功能。
Compiere主要是一款ERP解决方案,它也提供了一些CRM功能。 Compiere不是为用户提供独立的模块,而是提供了解所有客户和潜在客户有关活动的逻辑视图,还提供线索跟踪、营销活动管理、客户盈利能力分析以及面 向商业合作伙伴的自助式网上查询等。你可以从本专题“开源ERP”的介绍中进一步了解Compiere。
Open for Business Project提供的电子商务应用软件套件采用麻省理工学院的许可证,包括民CRM、ERP和电子商务的特性。Open for Business Project类似于Compiere,也不是把功能分散到不同模块,而是把整个套件建立在通用数据模型上,从而便于销售、会计、设备管理及协作等众多活 动。这有其优缺点: 这意味着众多活动在套件里面得到了很好的集成,但同时也意味着,你必须购买整个整体式软件包,才能充分利用其功能。许多一流的咨询组织提供对该软件包的支 持。
销售和客户支持活动对大多数公司来说太重要了,不能把CRM软件包不当回事。然而,开源模式的一个优 点就是,你不会被有限的试用期所限制,而商业软件包或者Salesforce.com等厂商的托管方案对此都有所限制。此处列出来的所有软件包随时都可以 下载,所以尽管放心试用吧——你不用花钱就可以试一下。
开源ERP
免费ERP软件包的特性差异很大,不过还是可以找到一些宝贝的。
ERP的目的不仅仅是为公司业务流程的每个层面提供统一的应用界面,它还应力求包含固有的数据挖掘功能。但尽管JD Edwards、Oracle、SAP及其他厂商投入了大量资源,用于开发任何企业都可以定制的ERP软件,但这些厂商也把软件价格推到了许多企业根本无力承受的高度。
这时开源ERP闪亮登场了。
ERP的高昂价格有很大一部分是用于支付一大批业务流程和软件开发顾问的薪水,因为要为不同的业务部门定制商业软件,需要这些顾问。而使用开源ERP软件代码意味着,你可以在内部实现这种定制,另外还可以避免高昂的软件许可费。
其 中一款最知名的开源ERP软件就来自Compiere。这款软件着眼于业务分析功能,集成了CRM、销售点(POS)和库存管理模块,为多种商业场景提供 了出众的灵活性。该产品可以使用Java数据库连接(JDBC),与大多数关系数据库进行集成,并且还提供了对Oracle和Sybase的特定支持。服务器和客户机平台包括: Linux、Solaris、Windows及其他平台。该软件的发行采用Mozilla公共许可证。
采 用GNU许可证的webERP是另一个生产级项目,它包括了全面的记账特性,包括总分类账、应付账款和应收账款账簿,还包括基于规则的安全及可以高度定制 的基于Web的前端程序。它面向类似制造业的业务流程,包括对订单录入和库存管理的支持。与Compiere不同的是,它没有用于客户管理、人力资源或者 类似资源的模块。全球有许多公司提供金牌、银牌、铜牌及语言翻译支持。
还有其他一些项目,不过开源项目的 一个特点就是,不同项目对这类软件的特性集的定义方式各不相同。对ERP软件包来说更是如此。譬如说,Linux-Kontor定义的ERP没有记账功 能,而是专注于客户管理、订单录入、开票及库存。另一方面,虽然TUTOS自称是ERP,但更像是一个群件套件。显然,为了确保你真正获得期望从这类软件 得到的功能,就需要作一番调查。
开源目录服务
LDAP服务器向大众化商品迈近了一步。
随着越来越多的公司开始调查身份管理、单次登录(SSO)和自动配置等功能,目录服务随之迅速成了网络基础设施中的一个关键部分。不过迄今为止,还没有哪个开源项目在该领域获得像Apache在Web服务器市场的主导地位。
长 期以来的主要竞争者就是OpenLDAP,该项目提供了可靠、可扩展、稳定的LDAP目录服务器、复制服务器及一些基本工具。OpenLDAP基金会负责 维护采用定制许可证的代码,已把代码移植到了众多平台上,包括AIX、FreeBSD、Linux、Mac OS X和Windows。OpenLDAP很成熟,可正常使用,但很难配置,尤其是在编写访问控制列表(ACL)时。另外,它主要是一种重负荷服务器,缺少微软、Novell和Sun这些厂商的商用LDAP目录所具有的一些增强特性。
Novell 已把开源作为其战略的核心部分,不过对网络管理员们来说,比较遗憾的是,eDirectory仍是其商用产品系列的一部分,这让竞争对手——Linux厂 商Red Hat有机会采取行动,推出自己的开源产品。Red Hat目录服务器(RHDS)面向Windows、Solaris(采用Sparc处理器)和HP-UX(采用PA-RISC处理器),基于原先名为 Netscape目录的产品上,Red Hat在2004年从Netscape手里买下了Netscape目录。RHDS是款历史悠久、性能成熟的产品,提供复制等高级特性—包括部分复制、专门 面向大型数据库的特性以及基于WAN链路的复制,还提供与微软的活动目录和Windows NT 4 Server同步的功能。
目 前,RHDS仅提供给采用Red Hat的订购支持模式的客户。然而,该公司已经开始开放该软件的源码,这个采用GPL许可证的项目名为Fedora目录服务器。截至发稿日,只有核心 LDAP服务器本身及一些命令行工具作为开源提供,不过其他服务器模块、管理控制台和管理服务器组件方面的工作正在开展当中。
许 多观察人士认为,从长远来看,对寻求开源目录服务器的人来说,Fedora项目可能是优于OpenLDAP 的选择。但鉴于OpenLDAP作为经济型目录部署的事实上的标准,已牢牢确立了地位,所以不可能很快就会消亡。对基本的目录功能而言,两者都是可靠的选 择,甚至对大型数据库而言也是如此。
开源身份管理
免费工具让开发人员在构建先进的安全基础设施方面领先一步。
全面的身份管理解决方案由许多部分组成。正因为如此,任何单个开源项目都很难提供即插即用的身份管理系统。然而,有许多项目可以提供这类系统的某些部分,尤其是在身份联合和单次登录(SSO)方面。
在SSO 领域,耶鲁大学已开发了一组Java服务器小程序,名为集中授权服务(CAS)。提供的这组服务器小程序采用耶鲁大学自己的许可证,目前美国有许多大学在 使用。同样采用定制许可证的另一个工具集是Java开放式单次登录(JOSSO)项目,可以为ASP、 PHP和Java应用提供扩展接口。
这两个项目都仅仅针对SSO,无法为全面的身份管理基础设施提供强大支持。但另一方面,开发身份联合标准的工作却大有希望——包括安全声明标记语言(SAML)、WS-*系列标准及自由联盟提议的众多标准等,这方面的许多开源项目工作已经在开展当中。
Ping Identity是SourceID的发起者。SourceID这种身份联合工具集提供了对基于Java和.Net的SAML 1.1及Liberty-ID-FF 1.1两种协议的支持,另外还支持仅基于Java的Liberty-ID-FF 1.2协议。这些库允许开发人员实现跨域SSO和属性查询等特性。提供的代码采用SourceID自己的许可证。代码还为Ping Identity的商用身份联合服务器: PingFederate奠定了基础。
最雄心勃勃的开源联合身 份项目恐怕要数Shibboleth,主持该项目的是Internet2下属的教育中间件架构委员会。Shibboleth主要供Internet2网络 上的教育机构使用,这种全面的验证和访问控制系统面向基于Web的资源,基于SAML 而建,并采用定制许可证发行。该软件是纯粹的Java软件,目前许多组织(包括大学、图书馆和Napster数字音乐服务商)都已把它投入实际使用当中。
这里提到的开源身份方案都需要一些开发技能,而且对本地网络环境要有透彻了解,那样才能得到有效实施。如果全 面的身份管理解决方案正是你所寻求的,还是寻求不同的商业开发商为好。不过随着身份管理越来越受到关注,其中一些项目、尤其是Shibboleth会获得 更显赫的地位。
声明
本报第37期应用与方案版第C9版所刊登《在SCO Unix系统中实现业务数据的自动备份》一文的作者系中国人民银行湖南省邵阳市中心支行科技科赵志斌。
本报第38、39期应用与方案版第C12版所刊登《全新接入架构提升IT管理效能》一文中安莉芳集团公司CTO姓名应为王建平。
特此声明。
开源企业门户
开源Java企业门户领域的竞争在不断加剧。
是否支持标准是大多数企业开发项目的重要衡量标准。在企业门户服务器领域,这意味着符合J2EE的引擎支持多种标准,如门户组件(JSR 168)和面向远程门户组件的Web服务(WSRP)等。幸好,已有为数不少的开源项目在这一领域参与竞争。
其 中比较突出的一个项目就是eXo平台。这个项目已经进入了实际使用阶段,旨在充当可以定制的企业门户和内容管理系统。其门户组件容器实际上通过了认证,符 合JSR 168标准,并已得到改进,具有高速缓存、连接池和共享会话等特性。门户本身基于JavaServer Faces(JSR 127)技术,并提供模型视图控制器架构。它采用两种许可证: 商业许可证和GPL许可证,eXo项目队伍可提供在线支持和上门培训这两种收费服务。
另 一个竞争者就是Liferay Portal,它拥有类似eXo的特性集,包括符合JSR 168和WSRP。但Liferay没有使用JavaServer Faces,而是使用了较成熟的Struts和Tiles技术。它可以运行在众多应用服务器和数据库上,并为单次登录(SSO)功能提供了扩展接口,不过 默认状态下只支持耶鲁大学的SSO引擎。与eXo一样,Liferay开发人员本身也可以提供专业支持,不过支持费用很快就会高涨。软件本身采用麻省理工 学院的许可证,类似Apache许可证。
Apache软件基金会长期关注企业门户软件,目前拥有这方面的 许多项目。Jetspeed-1软件就是基于 JSP和XML等技术的基本门户系统。Jetspeed-2更加基于组件,提供了更先进的基于门户组件的方法。Apache还提供了门户组件容器的参考实 施方案,即Pluto。所有这些都采用Apache许可证。
JBoss也推出了JBoss门户,这是该公 司的JBoss企业中间件系统(JEMS)Java应用开发系列当中的一部分。这是另一种符合JSR 168的门户组件容器,可通过JavaServer Faces、MyFaces和Spring提供定制功能,另外还提供额外的内容管理和其他管理功能。作为“专业的开源公司”,JBoss提供GNU LGPL和商业许可两种方式,另外还提供专业支持、咨询和培训。
最后,GridSphere是另一种符合 JSR 168的基于门户组件的门户服务器,并支持JavaServer Faces。值得注意的另一个功能就是额外的门户组件API,声称几乎可以与IBM的WebSphere保持完全兼容。可通过Gridwise科技公司获 得咨询、培训和开发支持。不过,提供的这个软件采用未得到OSI批准的独立的GridSphere许可证。
开源销售点
免费的商业终端软件为大大小小的公司带来了灵活性。
销售点(POS)的另一个术语就是“现金出纳机”。尽管现金出纳机的功能要求可能很有限,但从企业角度来看,这类应用涉及诸多不确定因素,包括硬件兼容性、面向垂直领域的定制数据收集及后端数据挖掘等。
幸 好,有一些方案可以供你选择。譬如,PHP销售点就是一种成熟的开源POS应用。它基于PHP和MySQL,采用GPL许可证,为基本的POS应用场景提 供了非常丰富的特性集。它还可以与领先的开源电子商务应用: osCommerce实现集成。这意味着,你可以使用PHP POS进行网上交易,也可以用于传统的交易环境。该软件自2003年发布以来,下载次数已超过26000次。版本9.0正在开发当中,有望增强销售功能、 提供更灵活的折扣方式以及经过改进的后台报表系统。
值得关注的另一个对象是Tina POS,这个项目目前正处在实际使用阶段。Tina POS采用GPL许可证,拥有良好的硬件支持功能,包括支持条形码阅读器、触摸屏以及众多票据打印机。它可以通过JDBC连接至数据库,有一个Java前 端程序,而且提供了出色的后端办公集成和报表功能。
如果现有的端到端POS解决方案没有一款能够提供你所 需要的所有定制选项,开源社区仍可以助你一臂之力。不妨看看jPOS,这是与J2EE兼容的框架库,适合嵌入到内部的定制解决方案里面。jPOS有一组出 色的硬件扩展接口,支持基于角色的安全,甚至还有一支不断壮大的咨询队伍可以提供支持。如果你已经决定,自行开发POS系统是出路所在,那么jPOS绝对 值得密切关注。可能存在的一个不足是,所提供的代码采用专有的 jPOS许可证,而不是得到OSI认可的任何现有许可证。
虽然不是采用开源模式的所有应用软件都具有可持续性,但POS显然是个异数。开源社区不仅提供众多灵活的选择,还提供让这些应用软件真正可以使用的支持架构——甚至是对小企业而言。
开源RFID
免费的标签和EPC数据管理软件正处于初期阶段,但前景诱人。
如 果说在过去一年,IT行业有一个领域受到的关注程度不亚于开源本身,那么非无线射频(RFID)莫属。不过迄今为止,RFID还是属于昂贵的技术,最强有 力的支持来自沃尔玛等大型零售商。公司企业不得不依靠昂贵的商用软件包在各自行业开展业务,但这种情况必然会发生变化。RadioActive基金会由两 名加拿大企业家创办而成,旨在开发一系列开源RFID应用软件,以支持电子产品代码(EPC)及来自 EPCGlobal Network的其他标准。
它的第一个项目就是Fusion,这个中间件层用于管理及收集来自标签和传感阅读器的数据,然后把该数据传送 到企业信息系统。拟议中的其他计划包括: Neutrino,这组工具用于在商业合作伙伴之间交换EPC数据; Graviton,这个基于驱动程序的模拟器可以模拟不同制造商的RFID硬件。RadioActive基金会的所有项目都采用Apache许可证发布。
RadioActive基金会把其所有项目列为处于规划阶段,所以等实际代码开始出现可能需要一段时间。该基 金会鼓励有关方面可以参与其新组建的开源RFID联盟,它希望这会激发人们的兴趣、加快相关软件的开发。无论这会不会真的发生,或者项目会不会失败,都仍 有待观察。
开源VoIP/电话
有关PBX应用和交互语音应答系统的方案数量众多。
Digium 发起的Asterisk是首批开源VoIP项目之一,也是最早的VoIP PBX之一。Asterisk是一个非常成熟的平台,采用GPL许可证,它几乎支持连大企业都会希望VoIP网关解决方案提供的各种功能,包括语音邮件、 呼叫转移、会议功能,甚至交互语音应答(IVR)等。它还有呼叫详细记录——这是VoIP的滚滚财源,以及适合用于虚拟教室或者虚拟会议室等场合的高级特 性。其庞大的开发社区在为该平台贡献更多的附件,包括商业版本和开源版本。
不过,尽管Asterisk也 许是个开拓者,但肯定绝不是只有它一个。如今已出现了许多竞争性的新型开源 VoIP平台,它们基于会话初始化协议(SIP)。Pingtel已为其商用SIPxchange PBX发布了代码,目前由一家名为SIP-Foundry的非营利组织旗下的sipX加以管理。虽然成熟程度不及Asterisk,但sipX更加严格遵 守开放的SIP标准,从而提高了软硬件的兼容性——至少目前是这样。
SIP快速路由器(SER)严格遵守 SIP标准。它用C语言编写,采用GPL许可证发行,已被移植到 Linux和Solaris上。除了充当SIP服务器外,SER还可以为短消息服务(SMS)、即时通信(IM)、RADIUS记账和授权以及基于Web 的用户配置充当网关。基于SER的商用产品可从iptelorg购得。可启动的LiveCD版软件也可以获得,它扩展了SER的功能,添加了用起来方便得 多的基于Web的管理工具,并支持思科和Mitel等厂商的通用VoIP硬件。
Yate(另一个电话引擎)采用GPL发行,这是个异常灵活的平台。Yate非常成熟,包括了对SIP、H.323及其他协议的支持,可以运行在Linux或者Windows上。它具有所有常见的PBX增强功能: 语音邮件和呼叫转移等,还可以作为IVR服务器使用。
不 过,那些热衷于更稳定更可靠的IVR应用的人最好还是考虑Bayonne,这是GNU Project的脚本驱动的电话服务器。Bayonne历史悠久,为众多的电信级电话应用而设计。商业支持可以从许多途径获得。Bayonne最近已被纳 入更齐全的GNU Telephony这面大旗麾下,GNU Telephony包括许多其他免费软件项目。
链接
形形色色的开源许可证
你在使用开源代码之前,要确保了解相关条款。
据最新统计,开源促进会(OSI)认可了近60种不同的开源许可证。如果你只想安装及使用软件包,那么采用哪种许可证并不重要。但特别重要的是,如果你想修改代码,或者把它用到自己的项目中,就要注意许可条款。
GNU GPL(通用公共许可证)可能是知名度最高的开源许可证,也是最为开发人员熟悉的其中一种许可证。如果企业想开发专有应用软件,GPL很可能是个问题,因为它在相互共享代码方面有着严格规定。
这个问题导致后来出现了GNU LGPL(宽通用公共许可证),它授权使用源代码,但仍允许源代码有限制地使用于专有产品,并不启动普通的源代码发布条款。JBoss喜欢使用这种许可证,各种代码库对这种许可证也是情有独钟。
另一种对商业有利的开源许可证是BSD许可证。然而,许多开源的支持者认为LGPL、尤其是BSD许可证并不适宜,因为它们允许外部的开发人员不用提供任何回报,就可以利用来自开源项目的代码。
为了取悦于这两个阵营,许多开源厂商采用了双许可模式。它们采用GPL发布代码,但也向那些不想受GPL条款限制的公司提供独立的商业许可证。MySQL和Red Hat就是采用这种模式的知名厂商。
另外,还有众多得到OSI批准的开源许可证,但有许多在不得重新分发这一点上是相似的。另外值得一提的是,绝大多数的开源许可证授予开发人员完全不必承担质量保证和支持义务。
然而对许多公司来说,一个特别头痛的问题源自所谓的自定义许可证大量出现。很多厂商坚持自己定义许可证,而不是统一采用OSI已经批准的许可证。虽然这些许可证的条款往往类似OSI批准的许可证,但一些细小问题通常会有出入,有时一些重大问题也会有出入。
遗 憾的是,每次你往自己的环境中添加一种新许可证,就需要新一轮的调查工作,确保该许可证的条款有利于贵公司的业务实践。这就意味着,要支付额外的成本,也 错失了产品尽快上市的良机。而在某些情况下,新的许可证其实可能与你已经在使用的软件的许可证水火不相容。所以,有时坚持采用你熟悉的许可证还是值得的。
- 商业智能(BI)
Eclipse BIRT(商业智能项目)
Agila项目
Pentaho - 业务流程管理(BPM)
Apache软件基金会
Agila项目
JBoss jBPM - 内容管理
eZ publish
Mambo
OpenCms - CRM
Compiere
Open for Business项目
SugarCRM - 目录服务
Fedora目录服务
OpenLDAP - ERP
Compiere
Linux-Kontor
TUTOS
webERP - 企业服务总线(ESB)
Iona Celtix
Mule - 身份管理
JOSSO(Java单一登录)
Shibboleth
SourceID
耶鲁大学CAS(中心验证服务) - POS
jPOS
PHP Point of Sale
TinaPOS - 企业门户
Apache Jetspeed Portals
eXo 平台
GridSphere
JBoss Portal
Liferay Portal - RFID
RadioActive基金会 - VoIP
Asterisk
Bayonne
SIP Express Router
sipX
Yate (Yet的另一个电话引擎)
(来源:http://cosoft.org.cn)
Donald K. Rosenberg
Stromian Technologies
软 件可以是免费的,但这并不意味着您不能从开放源码挣到钱。顾问 Donald Rosenberg 将告诉您具有开放源码技巧的开发人员如何在各种商业模型和许可证之间进行选择。想成为软件供应商的开发人员必须确定要对其软件施以多少控制,是完全所有权 保护还是完全开放的许可证(“GNU 常规公共许可证”)或者位于两者之间的控制,如“Mozilla 公共许可证”。Donald 向您介绍密钥许可证并解释它们的不同之处。
免费获得开放源码软件以及免费从 Web 上下载数百万份开放源码程序、驱动程序、脚本和扩展都是真实的。开放源码是一个成长的市场,而且越来越多的人正在通过它赚钱。那么,您作为一名开发人员,如何着手做?
最 简单且容易的方法是继续做您喜爱的事:编写代码。对具有开放源码技巧的人员的需求正日益增长。您用 Linux、sendmail、Apache、Perl、Scriptics 或 Python 方面的专门知识找工作的机会比以往任何时候都要大。您可以是正式员工或合同工,从一份工作换到另一份工作。
但是,可能因为您需要更多 的独立而且想要从事您自己的业务,所以您正在阅读本文。作为一名雇员,您需要一件主要事情:您是开放源码的专家。然而,作为一名独立开发人员,您不仅需要 开放源码专门知识,而且还需要成为您自己的老板、市场人员、销售员和商业经理的能力(您确定要两个全职工作吗?)。简而言之,您将不仅仅是一名开发人员。
业务类型
您可以要将 Penguin 杯子、T 恤等物品卖给开放源码社区和任何想要它们的人员,但这种业务很少使用您的开发人员技术。同时需要开放源码和业务技巧的策略将是:
系 统集成人员或增值转销商 (VAR)。新业务的销售人员必须是一名狂热鼓吹者:您必须推销您的业务和开放源码。系统集成人员销售和安装计算机系统,包括硬件和软件。您可以使用可远 程管理且从不重新引导的 Linux 系统来建立小型业务,或者可以在任何大小的业务中进行因特网(Web 和电子邮件)操作。您正在购买、转售和添加您的专门知识,以为客户问题提供最佳解决方案。为帮助开发人员进入这一业务,一些 Linux 爱好者已经建立了讲述如何运行 Linux 咨询业务的网站。
技术支持或培训(支持)。这种业务不安装新系统,而是帮助用户 使其开放源码系统持续运行。与小的系统集成人员操作不同,您的支持组织需要雇用人员以应答电话(为重要客户提供 24 小时服务);培训可远程或在现场进行。您还需要规划派遣人员现场解决问题的定价和手续。您的业务可能直接与最终用户签订合同,或者转包给系统集成人员来为 集成人员的客户提供支持。
定制软件开发。想象您自己是一名与硬件销售无关的系统集成人员。您定制生产应用程序或网站来解决客 户的问题。您可能直接为客户或为最终用户的系统集成人员工作。如果 John Ousterhout 关于脚本编写在应用程序开发中扮演越来越重要的角色的判断是正确的,那么 Scriptics、Perl 和 Python 开发人员将有大量工作要做。如果您注意严格使用开放源码许可证,那么您能够将产品重新用于其它客户并且建立解决方案集。如果您正在使用专利软件,请确保您 的客户同意您拥有产品的多少所有权,以便可以在以后的项目中使用它。如果在合同中没有提到谁拥有最终产品(例如,“这是为雇用而生产的产品”表示客户拥有 它),则假定您这个开发人员拥有产品的所有权,并且可以授予客户以非专有许可证的形式使用它的许可权。
开放源码将在这个市场上进行的一个变化是,开发人员再也不能通过具有无人可以理解的封闭或模糊代码来俘获他们的客户。如果您正遵循开放源码过程(即,提供清楚的源代码),那么除了依靠好的产品外,您还需要依靠好的服务和价格来留住您的客户。
硬 件供应商。硬件是与操作系统一起供应的,当然,还通常与附加软件一起提供。系统集成人员在硬件上赚不了多少钱(他们通过理解客户需求、安装并使之运行来获 益),但请注意,转售商和制造商都通过附带有开放源码软件的硬件做得很好。 Cosmos Engineering 通过销售装有 Linux 的硬盘驱动器开始,然后转移到计算机销售;VA Linux 和 TurboLinux(原来是 Pacific HiTech)正在销售系统方面做得很好。专门硬件的制造商,如 Cobalt Network 和 Whistle Communications(现在是 IBM 的一部分),提供完整的因特网服务器安装,可即插即用。您可以使用现成的硬件和开放源码软件来生产随时可运行的产品。您只要通过调节所有硬件,使之能在一 起有效地工作,就可以赚钱。您的客户将既有最终用户又有系统集成人员(集成人员将提供其最终用户客户所需的任何定制)。最终用户可以包括任何业务,但主要 是 ISP。
软件发行商或独立软件供应商 (ISV)。可在分发开放源码软件上挣钱;关键是在原有软件基础上提供新的功能。最常见的示例是 Red Hat Software,虽然它在因特网上分发 Linux(其它人以 2 美元或 3 美元一张盘销售 Red Hat Linux),但它仍以分发盒装的 Linux 赚钱。但是,具有第一位品牌并不意味着其它人就没有机会。用户有明显的不同偏爱,聪明的发行者将为这些偏爱提供服务。 SuSE 在全球进展得很好;Caldera 已经把尖端人员作为目标;TurboLinux 已经从硬件供应商转向具有同名发行版的 Linux 发行者;Slackware 和 Mandrake 有忠诚的拥护者。
软件出版商可以发行其它人的产品,也可以开发自己的产品。这在 计算机市场中具有很大的风险。这样做有较高的利润,但风险也较大,而且市场营销和分发问题至少与开发问题一样困难。很难做到两全齐美。如果您正在发布 Linux 的发行版,至少您的客户知道 Linux 是什么;如果正在发布应用程序,那么教育负担全由您承担。
听取用户意见
现 在,特别要小心的是:确保您的产品是其它人想要的东西。真正热爱技术的人 -- 象开发人员 -- 赞赏科技成就和独创性。有了这种偏见,您会非常盲目。最终用户 -- 他们从不考虑软件本身是否很棒,而是关注如何使他们自己的生活和工作变得更加容易 -- 不会仅仅因为可以实现某项技术而赞赏它。他们不太可能理解您的产品,除非他们可以将它与其自己的需要相联系。这些人是您的客户。
使 用专利软件,通过将您的软件发布为可执行文件、受时间或功能限制的共享件或免费软件,来测试市场,然后紧跟您的用户以了解他们的喜欢程度以及是否使用它。 从少数客户开始,仔细听取他们的反映。询问他们喜欢什么样的更改 -- 您可能会惊奇地发现他们希望软件更简单。如果他们希望软件简化并说他们的朋友想要它,您手边可以有一个同类应用程序(或者甚至是一个招人喜爱的应用程 序!)。但是,如果他们要定制它,您可能要成为集成人员,而不是应用程序供应商。
从这些小规模开始,如果您坚守特定市场并依靠自己的 专门知识在该市场中发展,那么您将更成功。因为瞄准机会的市场开始很小,可能就是特定的邻居,所以您可以希望人们将谈论您的产品并给您带来更多的客户。最 后,如果您真正有了受到普遍欢迎的产品,那么“规模相当大”的软件公司可能会开始将您的功能集成到它们的大型产品中。您在合适的市场中更为安全。
使 用开放源码产品,您的软件可直接被能够找到它的任何人使用。虽然来自开发社区的反馈将指导您最终用户需要什么,但请记住,如果它不是工具,则开发人员不是 最终用户。正象使用专利产品一样,您必须将您的产品推销给最想要它的用户,而且必须注意他们对产品的建议。适当的策略使您能够集中精力,以获得最佳结果。
转到市场
如何迅速准备和进入市场?虽然开放源码开发人员希望实现更短的开发时间和更高的软件质量,但事实上宣传较多的新建公司 是产品存在时间最长且有公认市场的那些公司。因为开发人员/系统管理员市场或许是开放源码市场发展最好的部分,所以不难理解这里描述的销售产品是工具而不 是最终用户应用程序。
Scriptics Corp. 的建立使 Tcl/Tk 商业化。核心产品保持免费;Scriptics 进行培训、增强特定市场和其它定制。内部程序员和有用的 Web 站点帮助未来的开发一直是 Scriptics 的中心。
Sendmail Inc. 通过提供咨询使著名的 sendmail 程序商业化,大部分咨询涉及到为系统管理员安装和配置 sendmail。
Sleepycat Software 从更小的基础开始,以更短的时间创业。象 Scriptics 和 Sendmail 的创始人一样,Sleepycat 的创始人将他们的软件创办为开放源码项目(Berkeley DB),然后组成公司使之商业化。在开放源码许可证下,他们的数据库可用于同意发送产品和任何修改的所有源代码的任何用户或供应商。Sleepycat 将特殊许可证发给要使其修改成为专用的供应商。这是 OEM 许可证;即,Sleepycat 软件成为供应商产品的一部分。作为版权持有者,Sleepycat 可以在它所选的任何许可证下分发它的软件。
Digital Creations 发布开放源码 Zope 应用程序服务器。该软件是免费的,在派生的 Web 站点上也没有许可证费用。这些工具吸引人们注意公司的网站开发业务,并且为其发明者的技术威力做广告。用户可以利用免费软件,但 Digital 打赌某些客户宁愿雇用其创建者,也不愿花力气去学习和使用它。
许可证类型
开放源码许可证使开放源码软件与其它软件大不一 样,对于内行和外行人士都很难理解这些许可证。请记住,您选择的许可证将取决于将运行的业务类型。在我们谈论特定许可证之前,请记住:始终将版权声明放在 您的软件中。如果真的打算用它赚钱,那么请注册版权以增加您在今后争议中的获胜机会。
作为版权持有者,您获得了一组权利,您可以将其 中的任何权利传递给(或不传递给)同意使用您软件的人。例如,专利软件许可证将其中的极少权利传递给客户。作为版权持有者,甚至可以对不同类型的客户使用 不同的许可证。例如,您可以将 GPL 用于同意保持产品和对其所做的更改开放的客户,而将另一个许可证(BSD-类型或 X 许可证)用于想要使其更改的源代码留给自己的客户。下面描述的所有这三种许可证都是经开放源码创始机构认可为符合“开放源码定义”。
GNU 常规公共许可证 (GPL)。 如果要想使您的软件利用编程社区的专门知识并且使其分布尽可能广泛,则选择 GNU GPL。如果开发人员不认为他们的投稿将被某人占为己有,那么他们很可能会投稿,您将享受不受限制发布产品的乐趣。开发工作将集中在您身上(只要您与开发 人员社区保持联系)。将不在软件本身上赚钱,而是通过方便且经测试的形式在专利增强(不能用 GPLd 代码编译或链接)和定制方面提供它来赚钱。当程序进行时,可以将这些改进反馈给 GPLd 代码。
BSD 或 X 许可证。 如果最终用户是打算修改您的产品并在他们的市场上销售它的供应商,那么他们可能宁愿使用这种类型的许可证,它能使修改保持专用。这样,供应商知道他们是其 增强的唯一供应商。然而,供应商有想将他们的改进反馈给您的代码的动机:一旦他们的专用改进被他们的竞争者模仿了,他们会逐渐厌烦支持更改。一旦更改优势 消失,供应商就更加容易使它成为公共的并且继续其它专利改进以寻求新的竞争优势。 Open Group 站点上用于 X11R6.4 的 X Window System 许可证是最简单的 BSD 类型许可证示例。
Mozilla 公共许可证。 这种许可证使您能在与其它人共享您的代码时提供保护。您的软件(和任何对它的改进)分为两个部分:受保护的(“隐蔽着的”)部分和贡献部分。如果有人要修 改和分发受保护部分,则只要他们还分发修改部分的源代码,他们就可以这样做。如果他们要更改软件但使它们的修改保持专用,则他们可以不带源代码分发它们, 并且必须只通过它的 API 访问受保护的代码。如果他们需要更改受保护代码的 API,则只要他们将源代码分发到这些更改,他们就可以这样做。这种许可证在完全开放的 GPL 世界和封闭的 BSD/X 许可证世界之间架起一座巧妙的桥梁。
使用开放源码软件获得专利软件的机会
最后,使用您的开放源码软件知识,有机会用专利软 件赚钱。例如,Loki Entertainment Software 注意到游戏受到 Linux 用户的欢迎,但是许多流行游戏不在 Linux 上。他们获得了 Civilization、Railroad Tycoon 和其它游戏的移植和分发许可;进行移植,然后向 Macmillan 发布者授予这些 Linux 游戏的唯一分发权。 Macmillan 已经广泛地分发 Red Hat Linux,而且它也使 Loki 游戏获得了这方面的成功。结果:�衷谖蘼酆未δ伎梢怨郝� Linux 版的 Civilization。Loki 正在通过使 Yellow Dog Linux 参与将游戏移植到 PowerPC 的工作来扩展其市场。所有这些都在一年时间内完成。
新市场
因为 Linux 市场正在扩大,所以用户将多于 Linux 专家。这将为上述的集成和支持业务提供机会。开放源码人员为独立性所赋予的价值很可能使大多数业务的规模变小。
开 放源码社区已经长时间地工作并等待 Linux 被广泛使用的日子,开发人员将能够为供应商没有秘密优势的流行平台进行开发。但是,这一新世界中的供应商可能会发现它很象我们现在的世界。不再有相当大规 模的软件公司会令 ISV 害怕得保持原来的位置,但是,任何具有大众产品(即一种广泛使用的产品)的供应商将面对众多的竞争者。众多的竞争者和有用免费产品的可用性都将有帮助于压 低应用程序的价格和利润。拥有被广泛使用专利产品的供应商将其价格一直保持很高,他们可能会发现他们的产品已被克隆!结果,供应商将发现他们可以在适当的 位置——他们现在的位置赚更多的钱。
软件世界的最大转变之一(如果发生的话)将是向基于 Web 的应用程序的迁移。 Linux 天生适合这种环境,因为它具有远程管理能力。这个被预言的转变将不仅涉及不同技术,而且还包括新的经济模式:应用软件将不象产品而更象服务。应用程序供应 商之间的竞争可能会沿着两个不同类型之一发生:作为可从单个供应商或其多个联机服务经销商处获得的专利产品;或作为由社区维护和改进的开放源码产品,但可 从集成人员或支持组织处获得。这些组织将接收年费,作为在其客户组织中安装和支持应用程序的回报。
不能保证您能够在开放源码软件上赚大钱,但在这一新世界生存的机会将渐增。请睁开您的双眼,寻找需要并满足它。
参考资料
LinuxWorld 中的 "Preparing for the intellectual-property offensive,"(1998 年 11 月)
开放源码创始机构
FreeBSD 许可证,一个 BSD 类型许可证示例
X Window System 许可证,另一个优秀的 BSD 类型许可证
Mozilla 公共许可证
注册版权
关于作者
Donald K. Rosenberg 是 Stromian Technologies 的总裁,OEM 软件许可证发放问题的国际顾问,OEM Software Licensing Guide、开放源码 Software Licensing Page 和 http://www.stromian.com 上其它联机市场营销资源的发行人。 Dr. Rosenberg 已经有 15 年的市场营销经验,同美国和欧洲的各种规模的公司一起从事过开放源码和更传统的软件市场方面的工作。
最近几年,开源软件(OSS)得到了迅猛的发展,其影响也越来越大。它迫使很多软硬件厂商不得不改变自己的策略,以适应这个开源时代的需要。在很多 国家,有关开源软件和专有软件的讨论已经提高到了政治的高度。然而,随着开源软件的蓬勃发展,各种不同的认识也使得人们有些疑惑。有人认为,开源软件战略 会给国家和企业带来很大的风险;而有的则相信,开源软件有利于国家计算机工业的自主化。事实到底会怎样呢?下面我们通过事实来解开人们的疑惑。
很显然,有很多因素促使了人们接受Linux和OSS,不过总结起来主要有以下几个因素:
1. Linux是类Unix的操作系统,并且它可以应用于Intel平台之上。
2. 企业和个人对降低技术成本的需求迫切。
3. Linux和OSS可以被全世界的软件开发人员所共享。
4. 企业和个人都急切想要摆脱微软在桌面以及其它技术领域的垄断地位。
如今,人们对Linux操作系统和OSS的关注日甚,业界各大公司的介入,更是促进了整个开源运动在世界的影响。那么,Linux为什么会受到如此大的关注?
Linux 首先是用于Intel的x86平台之上的。它为开发人员提供了一个低价的Unix开发环境,并且成为微软Windows的一个替代方案。现在,Linux 已经可以支持Compaq的Alpha AXP、Sun SPARC、UltraSPARC、Motorola 68000、PowerPC、PowerPC64、ARM、Hitachi SuperH、IBM S/390、MIPS、HP PA-RISC、Intel IA-64、DEC VAX、AMD x86和CRIS体系结构。对各种体系结构的广泛支持,使得Linux可用于从低端的嵌入式系统到高端的巨型机和分布式系统之上(如图1所示)。 Linux系统的这种灵活性,可以最大程度地满足各种厂商的需求,从而使其具有非常广阔的市场空间。

说 到开放源码运动,人们想到更多的是Linux,事实上,开源运动的领域还包括Web服务器、浏览器、媒体服务器、电子邮件系统和工作组协作领域。在这些领 域中,有的正处于开发研究阶段,而有的则已经进行了商业应用阶段。当然,不可否认的是,人们对Linux的喜爱,有力地促进了对其它OSS的推广。
现实中,很多人有一种误解,似乎开源计划是专门针对Linux平台的。实际上,有相当一部分开源应用程序可用于多个操作系统平台。
在Web 服务器市场领域,Apache是绝对的领导者。据来自Netcraft(http://www.netcraft.com/survey)的数据,在 1530万个活跃的公共站点中,有67%(这其中有63%使用的是Apache)使用的是OSS,只有25%的站点在使用微软的IIS。Apache随所 有主要的Linux发行版一起发行,并且用户可以从第三方获得相应的技术支持。比如Covalent Technologies公司就可以在安全性、可用性以及可管理性方面满足公司的需求。新近发行的Apache 2.0可运行于Linux、Solaris、Unix和Windows 2000之上。
就 目前来看,电子邮件、信息传送和协作仍然是Internet的主要增长点。最早进入电子邮件市场的OSS是Sendmail,它最早产生于80年代早期。 现在,Sendmail公司专门为大型企业和服务提供商构建电子邮件系统。该公司的顾客包括Pfizer、韩国航空公司、UPS、哈佛大学等。
Ximian 公司的目标则主要针对Linux和Unix桌面用户,该公司提供的Evolution可以提供类似于微软Outlook的功能,包括企业电子邮件 (SMTP、POP和IMAP),日历、日程安排、联系管理以及任务列表。同时,它还可以和微软的Exchange、Lotus Notes和其它的信息共享系统和标准整合。该公司的Mono项目更是致力于创建一个用于Linux和Unix操作系统的开放源码版本.NET开发平台。
作为微软Exchange的一个选择,Bynari公司产品的目标是实现运行于Intel和IBM S/390平台上的Linux之中的信息服务。该公司宣布根据自己的开放许可条款,它们将支持开放源码模式。
MySQL 是一个由欧洲的David Axmark、Allan Larsson和Monty Widenius创建的开放源码数据库。1996年,他们成立了MySQL AB公司,并且开始提供MySQL数据库,在该公司,通过支付费用,用户可以获取技术支持。现在,使用MySQL数据库的公司有Yahoo、Cisco、 NASA、朗讯、Google、惠普、施乐和Sony等。据估计,现在使用MySQL的用户已经超过4百万。
为了与微软相抗衡, Oracle和IBM都已经开始拥抱Linux,不过,它们认为开放源码数据库功能远不如自己的产品丰富。然而,现实中却有很多用户在Web站点等领域使 用开放源码数据库。也许MySQL的确不能提供像Oracle、IBM或者微软产品一样多的功能,但是现在它也开始提供事务处理支持。这引来了很多大客户 的关注。
Red Hat也提供了一个使用面向对象技术的开放源码数据库,即PostgreSQL。
我 们知道,直到目前为止,Linux的成功还主要集中在服务器领域,这在很大程度上是由于它和Unix非常类似。然而,在桌面领域,由于应用软件的多样性以 及用户需求的差异性,Linux要想进占已经被Windows占领的桌面市场,困难重重。对于一般桌面用户来说,不同Linux发行版提供的软件、陌生的 术语和产品都成为了阻止它们接受Linux的原因。
虽 然各主要Linux系统提供商在不断地加大对Linux服务器的支持力度,但在桌面上投入的精力还是非常有限。现在的问题是用户如果想要在桌面上使用 Linux,就不得不寻求计算机老手的帮助,自己组装一台机器,然后在其上安装Linux。或者是购买一台安装有Windows系统的机器,然后把 Windows删除,再安装上Linux系统。不过,现在,沃尔玛已经开始在其网站上出售安装有Lindows和Mandrake的机器,而随着Sun在 今年提出Linux桌面解决方案,这种局面将会有所改观。
Internet 的普及在很大程度上改变了桌面系统使用的方式,并且使PC的价值定位也有所改变,不过,对于大多数用户而言,办公套件仍然是桌面系统最关键的组成部分。虽 然目前可供使用的Linux桌面系统非常有限,不过对于有技术背景的人而言,它们有多种选择来满足自己的需求。
Sun提供的 StarOffice可运行于Linux、Windows和Solaris之上,该产品的目的是要替代微软的Office办公套件。现在,很多主要的商业 Linux发行版中都附带有该产品。Codeweavers公司的CrossOver Office 1.0则通过WINE项目提供了和微软Office的兼容性。不过,这种方式在性能上要受到一些影响。
让Linux 用户可以访问Windows和Mac OS系统下的文档和媒体内容是非常重要的。在Internet和Web标准的帮助下,现在已经基本实现了这些内容。如今在Linux桌面内容共享方面的产 品有:Real Networks的RealOne Player、Adobe的Acrobat PDF Reader、IBM的Lotus Notes/Domino、America Online的Instant Messenger等。此外,还有很多可用的浏览器,其中有的(比如Mozilla和Opera Software)还支持多平台。
和服务器市场类似,在新的一年里Linux在嵌入式系统工业中四分五裂的状态将会有所缓解。随着Linux的日渐流行,底层技术开发也会变得标准化,这就允许OEM厂商可以更加关注自己高端产品的差异性。这将使得Linux成为很多工业领域嵌入式平台的选择。
嵌入式系统市场的厂商会把Linux整合至计算机软件,将其作为路由器、工厂自动化设备、医疗设备、测量和检测设备、娱乐系统、机顶盒、录像机、照相机、电话和PDA。
下面是一些厂商提供的嵌入式Linux解决方案:
惠普公司
“惠普数字娱乐中心”使用的是Linux 2.4内核,还有X Windows系统。硬件配置是一个566MHz Celeron处理器,64MB RAM、一个40GB的硬盘,此外还有USB接口、HPNA、内建的V90调制解调器、立体声和TV视频输出。
Intel公司
提供一种新的名为数字媒体适配器的PC外设,它在PC、电视、立体声系统之间建立连接。该系统运行于一个嵌入式Linux操作系统之上。

夏普公司
该公司的Zaurus SL-5500是一种使用Lineo的嵌入式Linux的PDA。其硬件配置是206MHz Intel StrongARM处理器,64MB的系统RAM和16MB内建的闪存,一个320 X 240的液晶显示器,此外还内建了键盘。
Sony公司
计划推出一种新的数字摄像机,以充分利用宽带网的优点。该系统使用Montavista Linux 2.4.17,处理器使用的是MIPS处理器,主频是350MHz。
TiVo公司
在该公司的数字摄像机产品线上,使用的都是Linux。
东芝公司
东芝无线移动服务器Magnia SG20的目的是可以把整个网络打包,并且可以带着它上路。设备里包含了Red Hat Linux和Apache Web服务器。
高端打造网格计算
Internet 和Web服务器展示了使用Linux组成网络进行信息访问的强大功能。而另外一次有关于Linux的主要的技术革新很有可能是网格计算。从技术上讲,这种 类型的计算把分散的服务器和工作站处理能力集聚成了一个单一的资源。这样,使用很多分散的普通硬件就可以处理很大的任务,并且可以获得超级计算机的运行速 度。
下面我们来看一看采用Linux实现网格计算的部分公司和企业的情况。
Lawrence Livermore国家实验室
该 实验室选择Linux NetworX公司为自己组建了目前规模最大,功能最强的Linux超级计算机之一。据称,有多个项目都计划使用集群计算机来支持实验室的国家安全任务。 该集群是目前世界上五个最快的超级计算机。它由1920个2.4GHz的Intel Xeon处理组成,其理论锋值可达9.2万亿个浮点运算。
美国国家科学基金会
该 基金会投入了5千3百万美元启动了名为TeraGrid的项目,目的是要建立一个世界上最大的分布式基础设施,用于开放的科学研究。TeraGrid项目 完成后,其分散于四个地点的基于Linux的集群将有超过13万亿个浮点运算的能力。参与这个项目的公司和部门也非常多。这其中有IBM、Intel、 Sun和Oracle等公司,此外还有学校、研究机构、实验室等也都参加到了这个项目之中。
Platform计算公司
该公司专门致力于开发管理分布式计算环境的软件,它还提供商业版本的开发工具。
Butterfly.net公司
这 是一个提供网格计算的公司,并且它还提供用于大型多人游戏的工具,通过该工具,游戏玩家可以通过PC、控制台和移动设备进行连接。因为通用的基础构架使用 的是Linux系统,这样即使增加、减少或者替代某一个服务器也不会对游戏有什么影响。该公司的合作伙伴有IBM、Sony和微软。
过去,IBM、惠普和Sun都各自提供自己的Unix操作系统,并且将其安装于他们所提供的工作站和服务器产品之上。如今,这些公司在不同程度上都已经开始支持Linux。戴尔也进入了Linux市场。
IBM:支持Linux是公司的战略
IBM 投入巨资参与与Linux相关的研发,这是人所共知的。对于IBM而言,Linux是公司的战略。如今,IBM的Intel xSeries服务器、中端的iSeries服务器和zSeries服务器都已经支持Linux。以前一直运行IBM自己Unix系统AIX的 pSeries服务器也计划要支持Linux。此外
,IBM还成立了有250名员工的Linux技术研发中心,现在它的DB2数据库、WebSphere电子商务软件、Tivoli系统管理、Lotus电子邮件和日历软件也已经支持Linux。
惠普:取决于用户的需求
惠 普对于Linux的态度主要是取决于用户的需求。由于意识到了Linux的前景,公司计划培养5000名员工参与支持与Linux相关的业务。迪斯尼、亚 马逊、梦工厂等都是采用惠普Linux解决方案的大客户。并且这些客户都已经使用惠普提供的Linux系统做出了为世人所瞩目的成果。
Sun:适应、调整和反映
Sun 的成功主要依赖于其工作站、服务器和Solaris操作系统。它们在开放源码方面的投入主要集中在StarOffice办公软件之上。这个开放源码的办公 套件可运行于Linux、Solaris和Windows之上。Sun推出的使用Linux的LX-50服务器,主要是针对低端市场的。此外,它还计划推 出了使用Linux的低端桌面系统,该桌面系统是针对企业用户的。很显然,为了不至于影响自己的Solaris产品线,Sun对Linux的支持限于桌面 一级。
戴尔:跟随市场的脚步
与上述系统提供商不同的是,戴尔并没有自己的Unix系统。一直以来, 它使用的都是Wintel平台。如今,根据用户的需求,戴尔也开始提供使用Red Hat Linux的服务器。到目前为止,至少有13%的戴尔服务器使用的是Linux操作系统。戴尔的策略是关注Unix到Linux迁移的市场并且支持 Oracle 9i数据库。
纽约州立大学使用的就是戴尔的Linux系统,在纽约西部布法罗市的一个研究机构中,也使用了2000台运行Red Hat Linux的戴尔PowerEdge服务器来进行药物研究,以探索治疗癌症、爱滋病的办法。
就目前而言,Linux下成功的软件主要是Internet应用程序、技术工作站和集群处理环境。现在,Linux面临的挑战是支持更多的传统企业应用程序。虽然经济不景气给今天的信息技术发展带来了一些负面的影响,不过软件公司对Linux市场的态度还是非常的积极。
下面是一些主要的软件提供商对Linux的支持情况:
BEA系统公司
为各种Linux版本提供了独立于硬件平台的应用程序服务器和经过优化的Java虚拟机。
BMC软件公司
提供了Linux所需的各种基础结构和服务管理。
Borland软件公司
发行了一个Linux版本的Delphi应用程序开发工具——Kylix。
IBM公司
从 事各种与Linux相关的软件开发和支持服务。此外,还成立了一个名为Eclipse的联盟,该联盟的主要目的是开发一个“开放源码”的开发环境。现在已 经加入该联盟的公司有Borland、Merant、QNX Software、Red Hat SuSE和TogetherSoft。此外,Oracle也计划加入该联盟。
Oracle公司
Oracle 是最早开始关注Linux的商业软件提供商,其主打产品Oracle9i Database、Oracle9i Application Server、Oracle9i Developer Suite和Oracle E-Business Suite都已经支持Linux。通过和Red Hat一起合作,现在Oracle已经有了一些大的客户。
SAP
该 公司成立了一个LinuxLab专门开发和发行它的核心方案平台mySAP。现在它已经可以支持Red Hat、SuSE、IBM DB2、Infomix、Oracle和SAP DB数据库,硬件平台则已经可以支持戴尔、富士通、惠普、IBM等。现在,SAP Linux解决方案已经被Bohnacker GmbH、DSD Dillinger Stahlbau GmbH等厂商所采用。
Veritas软件公司
该公司主要致力于Linux下存储管理方面的数据备份、恢复和高可用性方面的开发和研究。其开发合作伙伴有Red Hat和Intel,此外,它还与戴尔、IBM和惠普达成了发行方面的协议。
为了减少对微软等专有软件厂商的依赖,世界上很多国家的政府部门对OSS表示了极大的关注。据MITRE公司对美国联邦政府和欧盟国家的调查报告显示,使用OSS节约支出,提高安全性,是它们考虑的重点。
为了能够把握住政府和教育市场,IBM成立了Linux设计和支持中心,Sun则向欧洲、非洲、亚洲的教育部门免费提供StarOffice。作为回应,微软启动了专门针对政府部门的援助计划。
下面我们来看一看各国政府部门在OSS方面都采取了一些什么样的行动。
中国
北京市启动了扬帆、起航工程来推动Linux的研发。
芬兰
目前已经有13个政府部门完成了来自Sun的Linux桌面解决方案的实施工作。
法国
法国文化和通信部使用Linux替代了政府部门的部分服务器,这些服务器以前使用的操作系统是NT和IBM的AIX。
韩国
韩国的HancomLinux公司已经为政府部门提供了12万套Linux桌面办公套件。
秘鲁
秘鲁国会正在讨论一个法案,该法案规定政府部门必须使用OSS,只有在OSS没有相关解决方案的情况下,才可以选择专有软件产品。
Linux 最初在商业领域的应用,主要集中在文件/打印服务器、Web服务器。随着戴尔、惠普、IBM和Sun加入到了支持Linux的行列,Linux在大企业中 也得到了推广和应用。现在,Linux的用户不仅有教育部门、政府部门,而且还有很多公司和企业也都将它作为代替Unix和微软Windows平台的操作 系统。
下面已经是采用Linux的部分公司:
Amazon.com
为了降低费用,Amazon把大部分基础构架迁移到了Linux。
使用1万个运行Linux的Intel PC来支持其搜索引擎服务。
工业光影公司
把工作站和渲染平台迁移到了Linux,并且用这些平台制作了星球大战二。
L.L.Bean
在运行Linux的IBM zSeries大型机上使用Sendmail构建自己的电子邮件系统。
美林证券
使用Linux来完成Web服务、信息和应用服务器。由于Linux可运行在Intel和IBM zSeries平台之上,使得灵活性大大增强。
路透社
在惠普、Intel和Red Hat的共同努力之下,路透社的市场数据系统可以已经可以运行在Intel Xeon和Itanium服务器之上。
这里举出的使用Linux的企业,实际上只占现实中的一小部分。在当今的社会,无论是在教育、政府、证券、金融、通信还是制造业,都有Linux的身影。
很显然,开放源码运动发展到今天,它代表的已经不仅仅是一种技术趋势。它还引领着一种潮流,一种开放模式的潮流。身处其中的公司,只有意识到这种潮流的必然性,并及时把握时机,才可以使自己立于不败之地。
http://www.yuanma.org/data/2006/0922/article_1578.htm
由于开源软件特殊的开发方式,使得这个领域真可谓百花齐放,以至于究竟有多少种开源软件,恐怕没有多少人能说清楚。本报评析实验室在开源专家的意见的基础上对其中颇有影响力的企业级开源软件进行了整理,以供读者参考。
Linux 操作系统
Red Hat
Red Hat Enterprise Linux(RHEL)作为红帽家族的服务器成员,提供了功能较为强大的操作系统和企业架构方案。它使用开放源码的 Linux 2.6 内核,使得平台稳定性和成熟性较以往有所增强。RHEL采用了大量成熟的开放源代码技术,如SELinux和Firefox等,同时特别针对桌面应用进行了改善,能较好地满足企业安全性和兼容性的要求。系统在新文件系统、即插即用硬件设备的支持以及用户和服务管理方面较以前版本有了显著的提高。
RHEL的缺点是带有一些不标准的内核补丁,使得它难以按照用户的需求进行定制。
Red Flag
Red Flag Linux Desktop 5.0(产品代号为Apatite)是一个稳定、易用的个人桌面系统,系统安装过程简单直观,提供了较完善的系统管理工具和图形图像、多媒体应用以及网络应用方面的多种应用软件。系统采用Linux 2.6内核,为用户提供了一个比较稳定而且高效的使用环境。系统能够较好地支持主流PC硬件设备和目前发展迅速的蓝牙通信技术,能较好地支持蓝牙设备和系统之间多种数据的无