您现在的位置是:首页 >

源代码 开放原始码软体详细资料大全

火烧 2022-09-26 20:55:55 1120
开放原始码软体详细资料大全 开放源码软体 o e - ource 是一个新名词,它被定义为描述其源码可以被公众使用的软体,并且此软体的使用,修改和分发也不受许可证的限制。开放源码软体通常是有co yr

开放原始码软体详细资料大全  

开放源码软体(open-source)是一个新名词,它被定义为描述其源码可以被公众使用的软体,并且此软体的使用,修改和分发也不受许可证的限制。开放源码软体通常是有copyright的,它的许可证可能包含这样一些限制: 蓄意的保护它的开放源码状态,著者身份的公告,或者开发的控制。“开放源码”正在被公众利益软体组织注册为认证标记,这也是创立正式的开放源码定义的一种手段。

源代码 开放原始码软体详细资料大全

开放源码软体主要被散布在全世界的编程者队伍所开发,但是同时一些大学,政府机构承包商,协会和商业公司也开发它。原始码开放是信息技术发展引发网路革命所带来的面向未来以开放创新、共同创新为特点的、以人为本的创新2.0模式在软体行业的典型体现和生动注解。开放源码软体在历史上曾经与UNIX,Inter联系的非常紧密。在这些系统中许多不同的硬体需要支持,而且源码分发是实现交叉平台可移植性的唯一实际可行的办法。在DOS,Windows,Macintosh平台上仅仅有很少的用户有可用的编译器,开放源码软体更加不普遍。对开放源码开发模式的更详细的讨论请看Eric Raymond写的“The Cathedral and the Bazaar”。

基本介绍

中文名:开放原始码软体外文名:open-source编程软体:用来对系统进行编程的软体注册者:公众利益软体组织 历史,为什么open-source软体与软体市场有关系,区别开放源码软体和免费软体,主要种类,主要特点,质量,透明,剪裁,支持,主要问题,套用平台,web伺服器,套用伺服器,讯息伺服器,企业程式,无线网路,资料库,桌面环境,发展趋势,常见协定,

历史

开放源码软体主要被散布在全世界的编程者队伍所开发,但是同时一些大学,政府机构承包商,协会和商业公司也开发它。开放源码软体在历史上曾经与UNIX,Inter联系得非常紧密。在这些系统中许多不同的硬体需要支持,而且源码分发是实现交叉平台可移植性的唯一实际可行的办法。在DOS,Windows,Macintosh平台上仅仅有很少的用户有可用的编译器,开放源码软体更加不普遍。对开放源码开发模式的更详细的讨论请看Eric Raymond写的“The Cathedral and the Bazaar”。

为什么open-source软体与软体市场有关系

传统的商业软体有巨大的广告和商标预算,在这些背后给了它太多的关注,已经远远超出了它的重要性。传统的商业软体事实上只是所有软体的很小的一部分。Lion(狮子)是被各种组织开发,并且是为了它们自己内部的需要。内部开发源码,特别是被美国政府所命令的重要源码的共享是具有开发源码牌照的。这实际上是由于绝大多数软体专家不编写商业软体。 要去定量的描述开放源码软体的整个影响和平均利益是困难的,但是很明显这两者都被公众广泛传播又低估其价值。现在,许多开放源码软体由商业开发支持。同时,开放源码经营模式的成功和开放源码开发的高生产效率及高质量都说服Netscape(公司名)在1998年年初决定要将它的浏览器开发在开放源码许可之下。 现在有巨大的动力推动着开放源码的运动。看到如此多的传统商业开发者们为了与他同步不得不谋取发展是很有趣的。计算机工业早已看到了几个激动人心的发展和革新的浪潮,例如,二十世纪七十年代的第一台微机,以及八十年代中期到现在对日用微机的大量生产,还有同一时期Inter(网际网路)的崛起。使用开放源码模式的商业软体可能是下一个重要的新潮流。

区别开放源码软体和免费软体

历史上许多人开发过这样一种软体(也就是免费软体基础)简称为“free sofare”,而媒介一般称它为“freeware”。不幸的是这两种术语都被证明是不明确的且含糊的。 对于大多数人来说“free”仅仅用于购买的费用。比这个初始花费更重要的是由于缺乏许可证限制而带来的费用。这些是几种有可能是免费的软体类型,但是明显不是open-source sofare,因为它们具有某些限制或是缺乏公开的源码。

主要种类

Shareware 共享软体。允许他人自由拷贝并收取合理注册费用。使用者可在软体规定的试用期限内免费试用,再决定注册购买与否。大部分共享版软体都有功能和时间限制,试用期通常分为7天、21天、30天不等。而有的共享软体还限制用户只能安装一次,若删除后重新安装将会失效。像Winzip、ACDSee等软体就是共享软体。 Demos/"Crippleware" 免费或低费用试用的软体,是商业软体的一部分,它没有自由可用的源码,没有支持,通常缺乏关键特征。 Bundled Sofare 它由商业软体携带并且不用增加额外的费用,但是它一般具有很有限的使用许可,没有自由可用的源码。例如:Microsoft Inter Explore. "Consortium-Ware": 源码由公司内部人员共享,但是对公众没有自由可用的源码。例如:Motif. "Non-commercial use only": 这是可以免费从Inter网下载的典型软体,甚至连同源码,但是同时它有严格的许可证限制它的使用。例如:1998年以前的Netscape的浏览器一些Open-source许可证类型 BSD(Berkeley Source Distribution)许可证:它要求著作权和著者身份申明 GPL 通用公共许可证("CopyLeft")禁止派生或分发产品的限制。 LGPL 库通用许可证,它不同于GPL许可证,在这个许可证下,库(函式馆)可以自由的联接到私有软体。 Artistic License 使作者保持对进一步开发的控制。 NPL(Netscape Public Lincense) 基于GPL精神的新的许可证,但是保持了对源码更多的控制和所有权(请看下面的“Netscape发展什么”这一节) Public Domain/Not Copyrighted/No Restrictions: 通常用于决定性的算法以鼓励广泛使用,通常由美国政府使用。 Open-source 软体的一些例子 现在有几百种成熟的open-source产品被广泛使用。这而是一些最著名的: Corncart 由OSIC信息技术有限公司最新开发的开源电子软体,集合之前所有电子开源软体的所有优点。目前尚处于二次开发阶段。 BSD UNⅨ 由California大学Berkeley分校开发的基于"BSD"许可证的软体。许多UNⅨ商业版本是直接基于BSD源码或者大多从它的设计中借用来的。 Linux: 它从一个芬兰的大学生的研究项目成长为近六年最流行的非Microsoft作业系统。最初它仅仅是为PCs机设计的,可现在它支持Palm Pilots(小型掌中平台),大型的64位Digital Alphas晶片的超级计算机,和在这两者之间的几乎任何事物。与传统作业系统相比它的效率更高,更可靠,更先进。它包括编译程式,库,和来自于FreeSofare Foundation的各种工具,还有成千上万的open-source产品,Linux平台是一个小的但是却在快速成长的商业产业的基础,还是软体革新的温床。它由商业公司和散布在全世界的自由编程人员基于GPL所开发。 Perl语言 "Inter的传输带”,大多数web伺服器的动态内容的基础,广泛用于脚本语言编程和自动化文档处理。它由Perl研究所基于Artistic 许可协定开发。 GCC GNU C编译器是许多Unix平台上首选的C/C++编译器,也可以在其他平台上运行;因为支持几乎每种处理器,所以它也被作为一个跨平台的工具而广为流行;它由FSF基于GPL维护、开发。 X Window 系统 使用最广的非microsoft视窗系统,具有先进的跨平台远程执行特性,性能优良,灵活度高;由MIT和X Consortium在类BSD许可协定下开发;其他的增强功能由The XFree86 Project公司开发。 Inter 主干: BIND: Berkeley Inter Name Daemon; 为几乎所有的Inter域名解析伺服器使用,其行为如同一个分散全球的分散式资料库;由ISC(Inter Sofare Consortium)维护。 BSD SendMail: 邮件传输代理的最高标准。没有任何一家商业竞争者能和它匹敌,绝对安全、健壮;负责处理Inter上超过75%的邮件传输任务,包括象AOL这样的巨型站点---每天有数百万的讯息。由SendMail公司基于BSD许可协定维护。 INN:InterNet新闻伺服器,操纵Inter上的决大多数Use新闻还包括许多企业网。被ISC(BSD)所维护(BSD许可协定)。 Apache: 超过半数的web伺服器的动力(远远超出Microsoft和Netscape加起来的数量),早在1998年用于超过百万的web伺服器。由Apache组织开发(类BSD许可证维护)。 WU-FTPD: 在Inter网上最流行的FTP伺服器,几乎使用于所有的FTP站点。最初是由Bryan O'Connor在Washington大学Louis大街开发的,现在被Academ Consulting Services和许多自愿者维护(BSD许可)。

主要特点

降低风险:拥有原始码使顾客们可以控制那些他们的业务所赖以生存的工具。当一个open-source产品的开发者提高价格,增加了难以接收的限制,或者使用了一些使顾客不满意的方法,另一个不同的组织将使用该原始码开始开发新的产品以解决原来机构的问题。顾客也能自己维护或找别人改进它以达到自己的要求。顾客控制软体,这在传统私有软体模式下是闻所未闻的事情。即使是一些财大气粗的顾客也可能缓解由于传统软体商自己内部的问题而导致严重的金融危机或公司被别的公司收购的风险。

质量

一些研究已经显示了open-source软体与别的可比商业软体具有可靠性上的极大优势。更加有效的开发模式,更多的独立同行对代码和设计的双重审查,以及大部分作者对自己作品的极大荣誉感,都对其优良的质量有所贡献。一些公司甚至给予发现Bug者以物质奖励。

透明

私有软体有很多“阴暗的死角”,隐藏着许多Bug。源码对于查错和理解产品工作原理来说是很重要的。在大的软体公司,只有极少数人能接触到源码,而这些能接触源码的人通常用户都无法直接接触。能接触源码对于修补安全漏洞来说,也是非常重要的。一些开放源码的产品--包括上面列举的一些产品--是如此成功,以至于其商业竞争者无法存活。

剪裁

开放源码给用户极大自由,使他们能够按照自己的业务需求定制软体。大型组织能从即使很小的定制行为中削减大量开支和人力成本。用户的挑错和改进反过来对标准开放源码软体包也是个贡献。这在传统的私有软体开发中是不可能得到的。 有利的著作权许可和价格:定义为开放源码使得软体在著作权许可方面比私有软体具有更大的灵活性。这可以大大削减更多安装带来的花费和时间,对那些采购过程费时费力的机构更加有利。它也能给用户安装软体以更大的自由度。 什么时候不使用开放源码软体 如果一个开放源码产品不能很好地满足一个组织的需求,而另外的一个私有软体却可以,并且得到一个满足特性的私有软体的成本比再开发修改一个开放源码产品的成本高的话,最好不使用开放源码软体。但参考上面的“剪裁”。

支持

一些open-source软体传统的付费支持和电话支持。事实上,无论怎样,这都没有一个既没有原始码且无支持的产品严重。请看支持和open source软体一节。 大部分open-source软体主要是支持UNⅨ和Linux系统的,有时也支持Windows NT。另一些平台,例如大型机,对于移植开放源码软体是个巨大挑战。移植软体从UNⅨ到Windows NT上要付出很大代价。然而。开放源码的优点几乎可以使平台转换显得更划算。

主要问题

安装open-source软体有时需要一些更多的技术经验,例如,可以配置或编译原始码的能力。有原始码的优点在一些没有软体开发专家的公司被降低了。open-source的定制也要求有配置管理经验。无论如何,那些充分具有上述技术能力的任何组织都会很好地享受open-source的优点。 如果现存的所有系统都被很好的支持并完成,就没有必要去改变它们。然而,时常的去检讨这个决定是很重要,因为新技术经常会使它们变得过时。 值得怀疑的避免open-source软体的原因 这些论据常被作为避免使用open-source软体的借口,但是通常经不起推敲。 ---对未知的恐惧。 正如你在上面的“open-source软体的例子”一节所看到的,许多的组织已经严重的依赖open-source软体,不管他们的决策者是否意识到这一点。这个问题由于open-source开发者宣传和使用市场的增加,以及更多的拥护者的出现变得比较容易解决。 ---在购买商业软体包上我们已经拥有巨大的投资。 这仅仅是“必然花费谬误”的一种形式。软体许可证,好像为写字楼付的租金,是一些消费,但不是投资。如果别的产品能很好的以较低的成本实现你的组织的需要,那么过去把钱花费在低级的软体上对 决策不应该产生影响。记住,你可能面临严重的政治上的反对,它来自于那些选择了赞成使用昂贵的,低级的产品,而不愿意承认他们的错误的守旧者。同时,考虑到它们可能被再次扩展,在训练职员和相关基础设施上的投资是完全合理的。 ---如果出了问题,我们需要有人负责。 尽管理论上这听起来很合理,但如果我们一开始就使用可信赖的软体产品,远比在遭受经济损失之后才去控告软体供应商要好的多。几乎所有的主要软体公司都利用最终用户许可证的支持来解决一些由于他们软体的问题而带来的可能要负责的困扰。Microsoft和IBM公司有着庞大的,一流的法律职员,使得顾客的控诉不可能成功。在将来法律可能会越来越偏向软体供应商。 open-source和软体技术支持 商业支持和同几乎是那些正在使用open-source软体的公司最关心的问题了。付费支持是正当的问题,但是这对于open-source产品通常是可用的,而且一般都过高估计了它的重要性。 ---许多主要的open-source产品都有可用的技术支持契约。 例如,Red Hat 和Caldera公司对他们销售的linux有电话支持。 Cygnus,Collective Technologies和许多小的顾问公司靠支持和增强open-source软体,生意也做的不错。而且越来越多的open-source软体在保持其开放源码状态的同时,也获得了大量商业维护和支持。 ---电子邮件和Use新闻支持时非常有效的。 几乎所有开发open-source软体的组织都提供免费的电子邮件支持,提供邮件列表和Use新闻组。这些机制比电话支持更加实际有效。在一个有许多软体供应商所支持的调查中,“Linux用户协会”在1997年获得“最好的技术支持奖”,同时也暴露了许多对传统的软体开发商的服务质量的大量不满意见。 ---对传统商业软体的支持经常是有限的并且是低质量的。 例如Microsoft公司仅仅提供了为它的所有产品仅仅提供了一个技术支持电话号码:900。许多市场商业销售支持人员把注意力集中在帮助初学者上手上,无法回答使用手册上没有包括的问题。许多软体公司认为传统的电话支持是很昂贵的代价,而因此消减它,这就导致了质量下降。

套用平台

web伺服器

WEB伺服器也称为(WORLD WIDE WEB)伺服器,主要功能是提供网上信息浏览服务。 是 Inter 的多媒体信息查询工具,是 Inter 上近年才发展起来的服务,也是发展最快和目前用的最广泛的服务。正是因为有了工具,才使得近年来 Inter 迅速发展,且用户数量飞速增长。 开源的web伺服器软体包括apache、kangle、nginx等。 Blog Blog 全名Web log,中文意思是“网路日志”,后来缩写为Blog。它是继Email、BBS、IM之后出现的第四种网路交流方式,是网路时代的个人“读者文摘”,是以超级连结为武器的网路日记,是代表着新的生活方式和新的工作方式,更代表着新的学习方式。简言之,Blog 就是以网路作为载体,简易迅速便捷地发布自己的心得,及时有效轻松地与他人进行交流,再集丰富多彩的个性化展示于一体的综合性平台。 开源的Blog软体有b2evolution(PHP+MySQL)、BLOG:CMS (PHP、基于Nucleus CMS)、BLOG:CMS (PHP、基于Nucleus CMS)等。 论坛 论坛又名网路论坛BBS,全称为Bulletin Board System(电子公告板)或者Bulletin Board Service(公告板服务)。是Inter上的一种电子信息服务系统。它提供一块公共电子白板,每个用户都可以在上面书写,可发布信息或提出看法。它是一种互动性强,内容丰富而即使的Inter电子信息服务系统。用户在BBS站点上可以获得各种信息服务,发布信息,进行讨论,聊天等等。 开源的论坛套用软体包括phpbb、BMForum、phpwind[等。

套用伺服器

套用伺服器定是指通过各种协定把商业逻辑曝露给客户端的程式。它提供了访问商业逻辑的途径以供客户端应用程式使用。套用伺服器使用此商业逻辑就像调用对象的一个方法一样。简单的说能实现动态网页技术的伺服器叫做套用伺服器。 开源的套用伺服器软体包括Enhydra (Java)、JBoss (Java)、Open3 (XML)等。

讯息伺服器

讯息伺服器作为网路的节点,专门用来存储、转发网路上的数据、信息(例如:聊天信息)。做一个形象的比喻:讯息伺服器就像是邮局的交换机,而微机、笔记本、PDA、手机等固定或移动的网路终端,就如散落在家庭、各种办公场所、公共场所等处的电话机。我们与外界日常的生活、工作中的电话交流、沟通,必须经过交换机,才能到达目标电话;同样如此,我们利用个人电脑,PDA,手机等,传送讯息,也必须经过讯息伺服器,因此也可以说是讯息伺服器在“组织”和“领导”这些接收讯息设备。 开源的讯息伺服器软体包括ArsDigita (Tcl & Java)、Exolab Group (J2EE,整合OpenEJB,OpenJMS,OpenORA,Tyrex)、Zend (PHP)等。

企业程式

企业应用程式是一个泛指的概念,细分下来可分为企业资源计画(ERP)、客户关联管理、项目管理、内容管理、人力资源管理、自动化采购软体、信息仓库(CIW)、生产计画、库存管理、群组软体、B2B和图书馆资源整合系统(ILS)。 开源的企业应用程式包括Compiere (ERP+CRM)、Compiere、Gnome Planner 、ArsDigita、phpgroupware、J2EE、Akopia、Compiere (ERP+CRM)、openapplications、OpenBiblio等。

无线网路

所谓无线网路,既包括允许用户建立远距离无线连线的全球语音和数据网路,也包括为近距离无线连线进行最佳化的红外线技术及射频技术,与有线网路的用途十分类似,最大的不同在于传输媒介的不同,利用无线电技术取代网线,可以和有线网路互为备份。 开源的无线应用程式有kannel、Jwap、Ophelia等。

资料库

资料库(Database)是按照数据结构来组织、存储和管理数据的仓库,它产生于距今五十年前,随着信息技术和市场的发展,特别是二十世纪九十年代以后,数据管理不再仅仅是存储和管理数据,而转变成用户所需要的各种数据管理的方式。资料库有很多种类型,从最简单的存储有各种数据的表格到能够进行海量数据存储的大型资料库系统都在各个方面得到了广泛的套用。 开源的资料库软体有BerkelayDB、MySQL、SQLite等。

桌面环境

“桌面环境”可能仅仅是一个简单的视窗管理器,也可能是一个像 KDE 或者 GNOME这样的完整桌面应用程式套件。 开源的桌面环境类软体包括GNOME、GNUstep、KDE等。 视窗管理类 视窗管理,又名用户界面,电子计算机系统中实现用户与计算机信息交换的软体、硬体部分。软体部分包括用户与计算机信息交换的约定、操作命令等处理软体,硬体部分包括输入装置和输出装置。目前常用的是图形用户界面,它采用多视窗系统,显示直接形象,操作简便。 开源的视窗管理类软体有Afterstep、Twm、fvwm、Window Maker等。 CD刻录类 CD刻录机的功能是:可以刻录CD,读取CD,但是却无法读取/写入DVD,功能上次于COMBO,又次于DVD刻录机。现在多数人使用的是DVDROM,COMBO,DVD刻录机。性能方面:读取——CDROM=CD刻录机<DVDROM=COMBO=DVD刻录机;写入——CD刻录机<COMBO<DVD刻录机。 开源的CD刻录软体有CD Record、Freeburn、Xfburn等。 档案编辑类 档案编辑类软体是一个泛指的概念,细分下来包括办公软体套件、记事本、PDF相关软体、科技文本编辑器、文本编辑器、WYSIWYG和档案处理。 开源的档案编辑类软体包括Gnome Office、KeyNote、FPDF、GNU TeXmacs、FreeDOS edlin、HTMLarea、AbiWord等。 教育类软体 教育类软体是一个泛指的概念,细分下来包括学习支持软体、语言相关软体、数学相关软体、科学研究软体、打字软体和其他教育软体。 开源的教育类软体包括ILIAS、FlashKard、KBruch、BioJava、GNU Typist、KEduca等。 金融相关软体 从广义上说,政府、个人、组织等市场主体通过募集、配置和使用资金而产生的所有资本流动都可称之为金融。因此,不仅是金融业者,有关政府的财政,行业企业的行为、以及个人的理财都是金融的一部分。 开源的金融相关软体有GnuCash、JCash、JMoney等。 游戏类软体 游戏有很多种,在不同的媒体会以不同型式出现,使用的道具或参与的人数不一样也会衍生出不同类型的游戏。其中包括:人手游戏、桌上游戏、版图游戏、纸上游戏、纸牌游戏、群体游戏、电子游戏、角色扮演游戏、益智类游戏和其他。 开源的游戏类软体有Abuse、Falcon's Eye、Java Risk、UFO2000、XulMine等。 网路软体 网路及网际网路类软体是一个泛指的概念,细分下来包括电子邮件、即时通讯软体、通讯相关软体、档案传输软体、P2P档案共享软体、远程登录、网页浏览器、Webcam、Webgrabber、网路相关软体和其他网路软体。 络及网际网路类软体有Magic Mail Monitor 3、AMSN、Slrn、Samba、eMule、RealVNC、Galeon、Dorgem、HTTrack、Apache Tomcat、OpenLDAP等。 数学软体类 是专门用来进行数学运算、数学规划、统计运算、工程运算、绘制数学图形或制作数学动画的软体。 开源的数学类软体包括GAP、MAⅪMA、SINGULAR等。 媒体类 体类软体是一个泛指的概念,细分下来包括音频编辑软体/音频管理软体、图形类/图片浏览类、媒体播放器类、视频剪辑类。 源的媒体类软体包括CD-DA X-Tractor、GOCR/JOCR、JCDSee、CoolPlayer、GNU VCDImager等。 作业系统类 作业系统(英语:Operating System,简称OS)是一管理电脑硬体与电脑软体资源的程式,同时也是计算机系统的核心与基石。作业系统身负诸如管理与配置记忆体、决定系统资源供需的优先次序、控制输入与输出设备、操作网上与管理档案系统等基本事务。作业系统也提供一个让用户与系统互动的操作接口。 开源的作业系统类软体有开源Unix(System V/BSD)、FreeDOS、Linux、Menuet等。 密码管理类 围绕用户账号密码安全和管理的软体或者硬体的集合。 开源的密码管理类软体包括Password Safe、PINs等。 个人信息管理类 个人信息管理系统是一种提供个人信息组织管理功能的套用软体。其目的是为了便于记录、跟踪和管理各种个人信息。 开源的个人信息管理类软体有Elephant Memory、KAddressbook、KOrganizer等。 程式语言类 计算机语言的种类非常的多,总的来说可以分成机器语言,汇编语言,高级语言三大类。如果按语种分,可以分为英文符号语言和汉语符号语言两类。(典型的如:易语言、易语言.飞扬) 电脑每做的一次动作,一个步骤,都是按照已经用计算机语言编好的程式来执行的,程式是计算机要执行的指令的集合,而程式全部都是用我们所掌握的语言来编写的。所以人们要控制计算机一定要通过计算机语言向计算机发出命令。目前通用的程式语言有两种形式:汇编语言和高级语言。 开源的程式语言类软体包括DJGPP、GCC、Open64、Objective CAML、PHP等。 萤幕保护软体 萤幕保护程式是电脑程式,原意是通过将画面空白,或在画面上填满移动的图像,避免电脑显示器在静止的情况下产生磷质烙印,从而减低其寿命。现在,萤幕保护程式被用作娱乐或保全用途。 开源的萤幕保护软体有Flurry、KISS Image Screen Saver、Really Slick Screensavers、xmatrix等。 安全软体 安全软体是一个泛指的概念,细分下来包括防毒软体、加密软体、防火墙、SSH、其他安全软体。 开源的安全软体包括Open Antivirus、GnuPG、Coyote Linux、OpenSSH、Stunnel等。 其他软体 下面列举一些难于分类的开源软体: Active2 AstroGrep — 有GUI图形界面的Grep Auackage — Linux上的软体包管理系统 BibleTime — 圣经学习软体 Bochs — PC积累器 Cygwin — Win32的开源Unix模拟环境 Link Checker — 检查HTML文档的坏连线 Memtest86 — 记忆体检查软体 Open Scene Graph Sun Grid Engine —计算机集群软体 TeX — 排版系统 Vitrite — Windows 2000/XP 上使视窗透明的软体 WINE — 在Linux/BSD上运行Windows软体 XFree86 — 视窗系统 gEDA自动化电器设计工具 GPAI 通用公共人工智慧平台

发展趋势

网际网路的普及,将原来分散开发人员聚合在一起,只要有一个合适的基础和好的框架,他们就可以开发出产品级的工具软体(以Eclipse,JBoss,MySQL,Subversion,GLASSFISH为例),从而开源成为了一种趋势。开源软体大量出现,软体外包将更加普及,主要特点如下: 1计算能力的增强,集成开发环境更加智慧型,获取现成的类库更加方便,套用软体开发变得更加容易。 2加上软体本身一次性投资的特点,很多的场合甚至用软体替代硬体,是的软体开发需求增加。 3.消费类电子与人们的生活更加息息相关,小的免费软体,小型桌面游戏的出现。等各方面需要的软体开发人员数量急剧增长(组织形态是大量的小规模开发团队);在这一因素以及降低成本的压力下,开发外包变得非常普及; 4.项目构建工具,资源依赖更加自动化,系统开发也不需要从0开始,而是利用业内的免费框架进行二次开发。 一个著名的计算机工业杂志报导Netscape是“受大量免费和共享软体许可的启发”。事实上,Netscape正在与许多著名的UNIX自由软体开发者互通信息,现在看起来已经非常接近BSD和GPL许可证了。Nescape Public License和GPL有所不同,它使得Nescape对源码的开发和商标上有更多的控制。 Netscape的弃子战术是很聪明的。首先,浏览器的销售在Netscape的业务中已经只占很少一部分了。浏览器的开放源码状态不会对它有太大的冲击,另外有些想要正式技术支持的买家仍然愿意付钱。第二,它真正按照某个开放源码的许可证发放,从而完全改变了Microsoft免费派送Explorer造成的被动局面。这将有助于提高Nescape浏览器的市场份额。最后,Netscape的立场从开放源码社群中获得了友谊,信任度和潜在的巨大革新。Netscape的未来还不能让人放心,尤其是在NT的Web伺服器上;但它为Communicator采用的勇敢的、戏剧性的许可证政策不会带来任何损失。

常见协定

LGPL许可证 LGPL许可证是LESSER GENERAL PUBLIC LICENSE的简写,也叫LIBRARY GENERAL PUBLIC LICENSE,中文译为“较宽松公共许可证”或者“函式馆公共许可证”。该许可证适用于一些由自由软体基金会与其它决定使用此许可证的软体作者所特殊设计的软体软体包─比如函式馆(即Library)。
LGPL许可证,也是自由软体联盟GNU开源软体许可证的一种,大部分的 GNU软体,包括一些函式馆,是受到原来的 GPL许可证保护的。而LGPL许可证,适用于特殊设计的函式馆,且与原来的通用公共许可证有很大的不同,给予了被许可人较为宽松的权利,所以叫“较宽松公共许可证”。在特定的函式馆中使用它,以准许非自由的程式可以与这些函式馆连结。
当一个程式与一个函式馆连结,不论是静态连结或使用共享函式馆,二者的结合可以合理地说是结合的作品,一个原来的函式馆的衍生品。因此,原来的通用公共许可证只有在整个结合品满足其自由的标准时,才允许连结。较宽松通用公共许可则以更宽松的标准允许其它程式代码与本函式馆连结。例如,在少数情况下,可能会有特殊的需要而鼓励大家尽可能广泛地使用特定的函式馆,因而使它成为实际上的标准。为了达到此目标,必须允许非自由的程式使用此函式馆。一个较常发生的情况是,一个自由的函式馆与一个被广泛使用的非自由函式馆做相同的工作,在此情况下,限制只有自由软体可以使用此自由函式馆不会有多少好处,故我们使用了LGPL许可证。
在其他情况下,允许非自由程式使用特定的函式馆,可以让更多的人们使用自由软体的大部分。例如,允许非自由程式使用GNU C函式馆,可以让更多的人们使用整个GNU作业系统,以及它的变形,GNU/Linux作业系统。
尽管LGPL许可证对使用者的自由保护是较少的,但它却能确保与此函式馆连结的程式的使用者拥有自由,而且具有使用修改过的函式馆版本来执行该程式的必要方法。 MPL许可证 MPL是The Mozilla Public License的简写,是1998年初Netscape的 Mozilla小组为其开源软体项目设计的软体许可证。MPL许可证出现的最重要原因就是,Netscape公司认为GPL许可证没有很好地平衡开发者对原始码的需求和他们利用原始码获得的利益。同著名的GPL许可证和BSD许可证相比,MPL在许多权利与义务的约定方面与它们相同(因为都是符合OSIA认定的开源软体许可证)。但是,相比而言MPL还有以下几个显著的不同之处:
◆ MPL虽然要求对于经MPL许可证发布的原始码的修改也要以MPL许可证的方式再许可出来,以保证其他人可以在MPL的条款下共享原始码。但是,在MPL许可证中对“发布”的定义是“以原始码方式发布的档案”,这就意味着MPL允许一个企业在自己已有的原始码库上加一个接口,除了接口程式的原始码以MPL许可证的形式对外许可外,原始码库中的原始码就可以不用MPL许可证的方式强制对外许可。这些,就为借鉴别人的原始码用做自己商业软体开发的行为留了一个豁口。
◆ MPL许可证第三条第7款中允许被许可人将经过MPL许可证获得的原始码同自己其他类型的代码混合得到自己的软体程式。
◆ 对软体专利的态度,MPL许可证不像GPL许可证那样明确表示反对软体专利,但是却明确要求原始码的提供者不能提供已经受专利保护的原始码(除非他本人是专利权人,并书面向公众免费许可这些原始码),也不能在将这些原始码以开放原始码许可证形式许可后再去申请与这些原始码有关的专利。
◆ 对原始码的定义
而在MPL(1.1版本)许可证中,对原始码的定义是:“原始码指的是对作品进行修改最优先择取的形式,它包括:所有模组的所有源程式,加上有关的接口的定义,加上控制可执行作品的安装和编译的‘原本’(原文为‘Script’),或者不是与初始原始码显著不同的原始码就是被原始码贡献者选择的从公共领域可以得到的程式代码。”
◆ MPL许可证第3条有专门的一款是关于对原始码修改进行描述的规定,就是要求所有再发布者都得有一个专门的档案就对原始码程式修改的时间和修改的方式有描述。 BSD许可证 BSD许可证原先是用在加州大学柏克利分校发表的各个4.4BSD/4.4BSD-Lite版本上面(BSD是Berkly Sofare Distribution的简写)的,后来也就逐渐沿用下来。1979年加州大学伯克利分校发布了BSD Unix,被称为开放原始码的先驱,BSD许可证就是随着BSD Unix发展起来的。BSD许可证现在被Apache和BSD作业系统等开源软体所采纳。
相较于GPL许可证和MPL许可证的严格性,BSD许可证就宽松许多了,一样是只需要附上许可证的原文,不过比较有趣的是,它还要求所有进一步开发者将自己的著作权资料放上去,所以拿到以BSD许可证发行的软体可能会遇到一个小状况,就是这些著作权资料许可证占的空间比程式还大。 QPL许可证 QPL是The Qt Public License的简称,是挪威一家机构创设的。QPL许可证的基本要求是获得原始码、修改原始码,并可将修改从原始代码中分离出来;修改可以按照作者的意愿被组合到新版本中;二进制代码可以和原始代码同名,这一点对于动态连线库来说尤其重要;任何人都可以修正错误,这对于系统的发布者来说很关键;修改过的软体可以按照满足QPL许可证基本要求的任何开源软体许可证进行发布。 QNCL许可证 QNCL许可证是Qt Non Commercial License的简称,是QPL许可证的“兄弟版”,就像GPL许可证与LGPL许可证的关系一样,QNCL许可证比QPL许可证更严格一些。
在修改和发布方面的规定,QNCL许可证与QPL许可证是一样的,差异就在于软体的范围方面,或者说在连线方面。QNCL许可证规定“假如一个应用程式给你提供了一个入口,使你有权使用QNCL许可证下的软体的功能开发程式、重复使用程式的某一部分或其他软体的某一部分,那么对该应用程式的使用视为是使用QNCL许可证下的软体的行为,该应用程式应受到QNCL许可证的约束”。QNCL许可证比QPL许可证更严格之处在于,QNCL许可证像GPL许可证那样,完全禁止根据本许可证得到的开放源码软体与其他非系统库函式连线的软体以其他许可方式一起发布。 Common许可证 Common许可证的全称是Common Public License。在满足OSIA开源软体许可证认证标准的前提了后,Common许可证还有一些细节性的规定值得参考:
◆ 明确了专利授权。一般的开源软体都有明确原始码的著作权人将自己的修改权、复制权等著作权权利向公众许可,但保留署名权,而Common许可证在此基础上还明确假如原始码中含有专利权,原始码专利权人将复制、使用的专有权利向公众许可。
◆ 规定可以将原始码及修改过的原始码与其他类型的不受本许可证约束的代码结合,以新产品的形式发布,只要其中经该许可证获得的原始码及修改过的原始码能按该许可证的要求发布即可。
◆ 细化了该许可证终止的情形,包括发生专利侵权诉讼。
◆ 明确了一个独立承担责任的原则,就是假如按该许可证使用原始码的使用者将获得的原始码套用于商业使用,那么他就要对在商业套用中出现的由于使用该原始码程式而产生的侵权诉讼承担完全责任。这一条规定是比较特殊的,绝大多数开源软体许可证都不这么要求。 IBM许可证 IBM许可证的全称是IBM Public License。在满足OSIA开源软体许可证认证标准的前提下,IBM许可证还有如下一些细节性规定:
◆ 明确了专利授权。一般的开源软体都明确原始码的著作权人将自己的修改权、复制权等著作权权利向公众许可,但保留署名权,而IBM许可证在此基础上还明确假如原始码中含有专利权,原始码专利权人将复制、使用的专有权利向公众许可。
◆ 细化了该许可证终止的情形,包括不按该许可证的要求发布和使用原始码、发生专利侵权诉讼等。
◆ 像Common许可证一样,IBM许可证也明确了独立承担责任原则,即假如按该许可证使用原始码的使用者将获得的原始码套用于商业使用,那么他就要对在商业套用中出现的、由于使用该原始码程式而产生的侵权诉讼承担完全责任。 Jabber许可证 Jabber许可证的全称是Jabber Open Source License,由美国Jabber, Inc.公司提供。Jabber许可证在原始码的复制、发行规定方面基本上和其他许可证没有什么特别,但有一些细节规定值得借鉴:
◆ 可以将通过该许可证获得的原始码及修改过的原始码与其他类型的不受该许可证约束的代码结合,以新产品的形式发布,只要其中经该许可证获得的原始码及修改过的原始码能以与该许可证的要求类似的、符合OSI认证的其他开源软体许可证的方式发布。
◆ 明确了需将原始码置于公众可以得到的状态的时间至少应为12个月。
◆ 第三方对法定权利的声明。假如使用者发现通过本许可证获得的原始码及应用程式接口中有一方拥有的智慧财产权,应单独在源码的发布时冠以“LEGAL”为抬头的声明,写明智慧财产权权利要求的细节,提请原始码的接受者知道自己获得了哪些智慧财产权的授权,让源码的接受者知道如何与智慧财产权权利人联系。
◆ 细化了该许可证终止的情形,包括不按该许可证的要求发布和使用原始码、发生专利侵权诉讼。 协定对比 BSD开源协定 BSD开源协定是一个给于使用者很大自由的协定。基本上使用者可以”为所欲为”,可以自由的使用,修改原始码,也可以将修改后的代码作为开源或者专有软体再发布。
但”为所欲为”的前提当你发布使用了BSD协定的代码,或则以BSD协定代码为基础做二次开发自己的产品时,需要满足三个条件:
◆如果再发布的产品中包含原始码,则在原始码中必须带有原来代码中的BSD协定。
◆如果再发布的只是二进制类库/软体,则需要在类库/软体的文档和著作权声明中包含原来代码中的BSD协定。
◆不可以用开原始码的作者/机构名字和原来产品的名字做市场推广。
BSD 代码鼓励代码共享,但需要尊重代码作者的著作权。BSD由于允许使用者修改和重新发布代码,也允许使用或在BSD代码上开发商业软体发布和销售,因此是对 商业集成很友好的协定。而很多的公司企业在选用开源产品的时候都首选BSD协定,因为可以完全控制这些第三方的代码,在必要的时候可以修改或者二次开发。 MIT MIT是和BSD一样宽范的许可协定,作者只想保留著作权,而无任何其他了限制。也就是说,你必须在你的发行版里包含原许可协定的声明,无论你是以二进制发布的还是以原始码发布的。MIT协定又称麻省理工学院许可证,最初由麻省理工学院开发。被授权人权利:1、被授权人有权利使用、复制、修改、合并、出版发行、散布、再授权及贩售软体及软体的副本。2、被授权人可根据程式的需要修改授权条款为适当的内容。被授权人义务:在软体和软体的所有副本中都必须包含著作权声明和许可声明。 GNU GPL 我们很熟悉的Linux就是采用了GPL。GPL协定和BSD, Apache Licence等鼓励代码重用的许可很不一样。GPL的出发点是代码的开源/免费使用和引用/修改/衍生代码的开源/免费使用,但不允许修改后和衍生的代 码做为闭源的商业软体发布和销售。这也就是为什么我们能用免费的各种linux,包括商业公司的linux和linux上各种各样的由个人,组织,以及商 业软体公司开发的免费软体了。
GPL协定的主要内容是只要在一个软体中使用(”使用”指类库引用,修改后的代码或者衍生代码)GPL 协定的产品,则该软体产品必须也采用GPL协定,既必须也是开源和免费。这就是所谓的”传染性”。GPL协定的产品作为一个单独的产品使用没有任何问题, 还可以享受免费的优势。
由于GPL严格要求使用了GPL类库的软体产品必须使用GPL协定,对于使用GPL协定的开原始码,商业软体或者对代码有保密要求的部门就不适合集成/采用作为类库和二次开发的基础。
其它细节如再发布的时候需要伴随GPL协定等和BSD/Apache等类似。 GUN LGPL LGPL 是GPL的一个为主要为类库使用设计的开源协定。和GPL要求任何使用/修改/衍生之GPL类库的的软体必须采用GPL协定不同。LGPL 允许商业软体通过类库引用(link)方式使用LGPL类库而不需要开源商业软体的代码。这使得采用LGPL协定的开原始码可以被商业软体作为类库引用并 发布和销售。
但是如果修改LGPL协定的代码或者衍生,则所有修改的代码,涉及修改部分的额外代码和衍生的代码都必须采用LGPL协定。因 此LGPL协定的开源 代码很适合作为第三方类库被商业软体引用,但不适合希望以LGPL协定代码为基础,通过修改和衍生的方式做二次开发的商业软体采用。
GPL/LGPL都保障原作者的智慧财产权,避免有人利用开原始码复制并开发类似的产品。 Apache Licence 2.0 Apache Licence是著名的非盈利开源组织Apache采用的协定。该协定和BSD类似,同样鼓励代码共享和尊重原作者的著作权,同样允许代码修改,再发布(作为开源或商业软体)。需要满足的条件也和BSD类似:
◆需要给代码的用户一份Apache Licence
◆如果你修改了代码,需要再被修改的档案中说明。
◆在延伸的代码中(修改和有原始码衍生的代码中)需要带有原来代码中的协定,商标,专利声明和其他原来作者规定需要包含的说明。
◆如果再发布的产品中包含一个Notice档案,则在Notice档案中需要带有Apache Licence。你可以在Notice中增加自己的许可,但不可以表现为对Apache Licence构成更改。
Apache Licence也是对商业套用友好的许可。使用者也可以在需要的时候修改代码来满足需要并作为开源或商业产品发布/销售。  
永远跟党走
  • 如果你觉得本站很棒,可以通过扫码支付打赏哦!

    • 微信收款码
    • 支付宝收款码