共1条
1/1 1 跳转至页
突破困境的开放式源码开发平台
要点
● Eclipse和NetBeans是两个相似而又相互竞争的开放源码项目。
● 许多公司正在成功地用Eclipse平台提供嵌入式开发工具。
● CPL(通用公共许可证)使开放源码的需求与实现专有部件的需求保持平衡。
● 如果IDE不是你要为工具增加的核心优势,则要考虑对Eclipse平台进行评估。-----------------------------------------------------
最近几年来,开放式源码软件 开发过程展现出一些令人印象深刻的成功(见附文《开放源码的定义》)。根据2003年12月出版的《Netcraft 万维网服务器调查报告》(news.netcraft.com)说,用户都使用Apache HTTP服务器项目—Apache软件基金会(www.apache.org )的一个开放式源码项目作为服务器来运行因特网上67%以上的网站。GNU/Linux操作系统(www.linux.org)是另一个得到广泛使用和支持的开放式源码软件项目。Eclipse平台是正在获得支持的嵌入式开发工具的一个开放式源码软件项目。
Eclipse这个开放式源码软件开发项目,其侧重点是建立一个平台,用以主控并开发紧密集成的软件开发工具。IBM公司在2001年11月捐出4千万美元发起了Eclipse开放源码项目,用它来更高效地建立一个支持最佳工具插件的平台。IBM继续是该项目的主要内容提供者,并领导该项目机构。该项目目前正在变成一个用独立的管理机构取代IBM公司领导职责的独立的实体。这一转变更凸显出该项目的重点是创建一个全行业的工具集成平台。作为这种转变的一个部分,该项目的名称也可能会更改。
Eclipse项目和SUN公司推动的NetBeans项目都是相类似的开放式源码项目,两者均作为Java开发环境而相互竞争。Sun公司最近正式拒绝加入即将成立的独立实体的董事会,声称Eclipse项目和NetBeans项目缺乏共同基础,不能公平分享相互间的开发成果。Eclipse和NetBeans都是基于Java的平台框架和与语言无关的IDE(集成开发环境)。因为都是基于Java的,所以它们可以在多种硬件和操作系统上运行,其中包括Windows、Linux、Solaris和Mac OSX。两种IDE均可免费下载,都需要一个JDK(java开发工具包)1.3版以上的兼容虚拟机,都可立即支持Java开发。另外的语言或开发工具支持,如对C/C++开发的支持,则需要下载另外的插件或模块。
Eclipse和NetBeans都允许创建自己的各种工具,这些工具可与IDE集成在一起,并使之扩展,以便支持任何软件开发功能。工具扩展在NetBeans项目和Eclipse项目中分别称模块(module)和插件(plug-in)。两种平台的插件/模块接口有所不同,所以插件和模块互不兼容,两个平台不能进行共享。两个项目各自使用的跨目标图形工具包是相互间大不相同的另一个根源(附文《本源与模仿》)
NetBeans使用的Swing/AWT(抽象窗口工具包)图形工具有一种“一次编写,随处运行”的能力。Eclipse项目使用的JFace/SWT(标准界面工具包)具有更好的本机性能以及更好的外观与感觉,而目标可移植性有所下降。另一个重要区别是:Swing使用Java垃圾收集器,而SWT依靠程序来释放操作系统资源。这种区别使SWT会显露操作系统功能并避免时序问题(从某个对象成为垃圾到系统完成资源释放之间),特别是在不同的JVM(Java虚拟机)版本之间。
嵌入式开发
Eclipse和NetBeans都非常偏向于企业软件开发,但使用Eclipse框架进行嵌入式开发的集成工具正在出现。Eclipse组织中的成员公司代表了包括企业的、Linux的以及嵌入式开发的工具开发部分。这些部门各有不同需求的不同受众,而平台工作台则具有运用于每个开发部门的商品化功能。Tensilica公司和WindRiver公司是嵌入系统行业中最近采用Eclipse平台的两家公司。
Tensilica公司的Xtensa Xplorer IDE将Eclipse平台用作处理器配置和软件开发工具。虽然Wind River有Tornado IDE,但该公司官员感到,使用Eclipse框架可以把它的开发资源更多地用于工具功能,而较少地用于商品化架构功能。在公司采用Eclipse的决策中,要考虑的因素是Eclipse与本机平台的更紧密的集成(从而接近本机性能)以及更能体现本机的外观与感觉。
Eclipse框架是按CPL(通过公共许可证)进行分发的,CPL鼓励对代码库的协同式开放源码开发,但也具备足够的灵活性,可以将代码与其它许可证下的软件进行集成,包括商用许可证。OSI(开放源码计划)批准CPL,并可在www.opensource.org网站得到。如果你修改某个有CPL许可证的程序,如Eclipse代码库,并且分发目标代码,则你有义务向他人提供修改后的源码。如果你只是自己内部使用修改过的程序,没有公开发布这些更改内容,那你就不必向别人提供修改内容。如果你编写与分发的插件模块只是与原CPL代码实现接口操作,但没有对CPL代码本身作修改,则你也不必让源码供公众使用。
如果你打算在一个商用许可证下分发增值功能,则下列条款就是很重要的:如果插件模块只与代码库接口而不改变代码库,则插件模块就不必是开放源码。这种许可模式可以让你自由使用Eclipse框架,并以插件形式开发增值功能,而不是使用自己的工具开发资源,在不放弃专有的IP(知识产权)权利的情况下,去建立一个以功能为中心的开发环境。
从零开始开发并维护软件工具可能要付出高昂的代价。像Eclipse这样的开放源码项目可以帮助你减少你的工具商品部分的制造与维护费用。你可以把Eclipse平台的插件架构与CPL条款结合起来,为的是在你代码的商品部分和专有部分的使用与分发之间进行平衡,从软件的商品部分获益,并且为软件的商品部分作出贡献,而所花费用则比不使用平台要低。(见附文《拓展Eclipse》)。然而,并不是所有软件都是为商品分销而编写的,内部工具和嵌入式软件就是两个实例 。随着开放源码软件的逐渐成熟,以下做法是很有意义的:定期对Eclipse这样的平台进行评估,看它是否能够或者如何协助你以较低的成本开发并维护内部的软件工具.
关键词: 突破 困境 开放式 源码 开发平台 Eclipse
共1条
1/1 1 跳转至页
回复
有奖活动 | |
---|---|
【有奖活动】分享技术经验,兑换京东卡 | |
话不多说,快进群! | |
请大声喊出:我要开发板! | |
【有奖活动】EEPW网站征稿正在进行时,欢迎踊跃投稿啦 | |
奖!发布技术笔记,技术评测贴换取您心仪的礼品 | |
打赏了!打赏了!打赏了! |