词条 | 开源 |
释义 | § 基本简介 开源 开放源码软件通常是有版权 ( copyright ) 的,它的许可证可能包含这样一些限制:着意地保护它的开放源码状态,著者身份的公告,或者开发的控制。实际上,开源软件同时涉及源码本身和开发过程,涵盖了三个方面的意义:免费分发的源代码、模块化的体系和集市式的开发--在这种开发方式中,任何地方的任何人都可以参与最终产品的制造,三个方面互相之间有密切的联系,集市式的开发过程给开源软件以强大的改错能力,因为它将程序中的错误公开给了数量巨大的观众,他们都是潜在的改错者。另一方面,任何人都可以复用和发行开源软件的代码这一事实又支持了公众利益,因为创新的观念被整个集市所共享。另外,“open source”这一术语还被延伸到其他智力团体中,指那些可通过公开手段获得的智力资源,比如报纸、教学课件等。 美国在像网络这样的虚拟环境中,驱动系统的底层代码,尤其是广为人知的那些应用程序之间的通信协议,它们在某种意义上很像现实社会中的法规。换句话说,这些代码对网上的行为给出了一些规范,它鼓励某些行为,而限制其他行为,就像现实社会的法律一样。因此,开放源码带来了一个更民主的开发方式,在这种方式下,好的主意将被集体分享,而不是作为智力资本被个人秘藏着。在这种意义上,开放源码实质上成为一种政治哲学。 开放源码的精神在于使用者可以使用、复制、散布、研究、改进软件。最早可以回朔到1960 年代。当时,售卖大型计算机的厂商如IBM,把一些软件及原始码一并送给客户,让客户能够因不同需求而自行更改软件。在 1991-1992 年期间,住在芬兰的Linus Torvald制造了第一版的 Linux 操作系统。在一群热心的程序人员努力下,把 Linux 操作系统以及外围的应用程序逐一打造。 出名的作品除了趋于成熟的Linux 操作系统外,还有Apache网页服务器、Perl 程序语言、MySQL 数据库、Mozilla 浏览器、Open Office等等。近来,在政府的推动及各软件大厂(如IBM、Redhat、Apple 等)的推动下,预料这股旋风将会掀起新的软件革命。源代码开放是信息技术发展引发网络革命所带来的面向未来以开放创新、共同创新为特点的、以人为本的创新2.0模式在软件行业的典型体现和生动注解。 § 版本版权 开源开放原始码软件是以全世界有抱负有理想的工程师为研发团队,持续不断的创造及改进新一代的软件产品。 它的精神不在于收取软件的使用费用,而在于分享,所以不收费,但是使用者需要尊重原著作者的创作以及相对应开放原始码的版权问题。 开放原始码软件就是正版软件,随着使用者的增加,开放原始码软件趋于精致产品化,功能接口甚至不输给高价位的商用软件。 全世界有超过几万套开放原始码软件,从网页浏览器、文书处理工具、操作系统以至于企业应用程序等一应俱全。 版权常见问题 常见问题 ASF BSD CPL GPL LGPL LGPL* MIT 得到这些原始著作后, 散布(distribute) 时是否可收取高于散布成本之费用 是 是 是 否* 否* 否* 是 散布时是否必须连同原始码一起散布 否 否 是 是 是 是 否 是否可再授权 否 否 是 否 否 否 是 是否得与非自由软件整合 是 是 是 否 否 否 是 把原始著作放在自创的软件里,是否必须使用与原著作完全一致的授权条款 否 否 否 是 是 是 否 是否必须公开原始码 否 否 是 是 是 否 否 是否必须附加原著作之著作权声明 是 是 是 是 是 是 是 是否必须附加说明文件 例如,说明所修改的范围与修改时间 否 否 否 是 是 是 否 § 定义标准 开源关于开放源代码的定义 开放源代码并不仅仅意味着对源代码的访问权。开放源代码软件的发布条款必须满足以下条件: 1、自由地再发布 如果被发布的软件是由不同来源的程序组成的,许可证不得限制任何当事人或组织(party)销售或赠送作为被发布软件成分之一的开放源码软件。许可证不得从此项销售中索取使用费或其它任何费用。 2、源代码 程序必须包括源代码,必须允许以源代码方式发布、还必须允许以编译后的形式发布。如果产品的某个部分没有与源代码一同发布,那么必须提供通行的、不需要支付合理范围之外的任何费用的手段以获得源代码――从网络上免费下载是一种可取的方式。源代码必须是程序员对其进行修改的最佳形式。故意地使源代码变得含混晦涩是不允许的。也不允许给出预处理器或翻译器处理的中间结果。 3、派生作品 许可证必须允许修改软件和派生软件,并且必须允许它们按照原软件的许可证的条款进行发布。 4、作者的源代码的完整性 只有在许可证允许与源代码一同发布“补丁文件”(该“补丁文件”以在创建时对程序进行修改为目的)时,许可证才能限制对修改形式的源代码的发布。许可证必须明确地允许发布由修改后的源代码生成的程序。许可证可以要求派生的作品采用不同的名称或不同的版本号以区别于原来的软件。 5、不得歧视任何个人或团体 许可证不得歧视任何个人或者由多人组成的团体。 6、不得歧视任何应用领域(fieldsofendeavor) 许可证不得限制任何人把程序应用于任何领域。例如,不得规定程序不能应用于商业领域或基因研究领域。 7、许可证的发布 与程序有关的权利必须适用于该程序的任何使用者,并且程序的使用者也不需要为了使用该程序而获得其它许可证的许可。 8、许可证不能针对于一个产品 与程序有关的权利不能由该程序是否作为某个软件产品的一部分来决定。如果程序从那个发布中被抽出来,并且按照程序的许可证的条款进行使用和发布,那么得到该程序的当事人或组织将获得与得到原程序的使用者相同的权利。 9、许可证不能影响其它软件 许可证不得向与采用它的软件一同发布的其它软件提出任何限制。例如,许可证不能坚持要求在同一媒体上发布的其它程序都是开放源代码软件。 § 定义原理 开源本开放源代码定义涵盖了由绝大多数软件团体使用的术语“开放源代码”的最初含义和当前含义。然而,该术语被广泛地应用,并且它的含义变得不精确了。OSICertified标志是某个软件发布许可证是否服从开放源代码定义的OST认证方式。一般的术语“开放源代码”并不提供这种担保,但仍然鼓励使用“开放源代码”这一术语以表明它符合“开放源代码定义”。关于OSICertified标志的信息,以及已经通过了OSICertified、符合“开放源代码定义”的许可证。 开放源代码定义之原理:给出开放源代码的定义的目的是:把所确信的、由软件开发团体所公认的“开放源代码”的含义作为一组具体的准则写下来---该准则确保按照开放源代码许可证发布的软件可以得到与其它软件同样认真的评审、使软件可以不断地得到改良和遴选,从而提供非开放软件所难以提供的可靠性与能力。 为了使此项工作持续发展,必须抵制人们为了短期利益而中止为软件开发做出贡献。这意味着,许可证的条款必须防止人们藏匿(lockup)源代码从而导致只有很少的人才能够阅读和修改它。当软件的开发者按照由OSI认证的许可证发布他们的软件时,他们可以在软件中使用“OSICertified”标志。这种认证标志告知用户,该软件所采用的许可证符合开放源代码定义。 开放源代码软件的发布者有权为他们自己的软件做出选择。GPL满足这条要求。按GPL发布的库只影响(contaminate)在运行时与之连接的软件,于仅仅和它一同发布的软件无关。 § 标志纲要 开源开放源代码定义给出了开放源代码软件的基本性质。不幸的是,术语“开放源代码”遭到了滥用,并且由于它的描述性,它不能作为一个商标被保护。由于社团需要一种可靠的方式以确定一份软件是否真正是开放源代码软件。OSI为此目的而注册了一个认证标志,OSICertified。如果你在一份软件上看到了该标志,那么该软件就是必定是按照遵从开放源代码定义的许可证发布的,否则,该发行人就是在滥用该标志而且违反了法律。 OSI Certified标志被用于软件而不是许可证:人们需要知道的是组成软件的包和它们的许可证是开放的源代码。此外,单独的许可证可能不是“货物”,它由美国专利和商标局注册认证标志。但是软件的作者显然必须能够在不询问情况下(自我认证)、在适当的时刻确认他们的软件是按照OSICertified的开放源代码方式发布的。所以认证按照两步进行: OSI提供一个满足开放软件源代码定义的开放源代码许可证表。这些许可证经过公众的详细审查并且被所批准。如果你有一个希望加入该列表的许可证,请与license-approval@opensource.org联系,它启动了获得许可证批准的程序。 如果你希望在你的软件上设置OSICertified标志,你可以从列表中选择一个获得批准的许可证并根据它发布软件,并且适当地为软件做标志。上面仅仅是一个概括。下面给出申请批准许可证和把OSICertified标志应用在你的软件上的详细说明。 § 许可审批 开源1、通过电子邮件把许可证发送给license-approval@opensource.org。在电子邮件中说明你是否愿意以你的签名或者匿名地把许可证发送到许可证讨论列表中。(愿意考虑那些根本不希望被发送的许可证,但由于社团的评审是批准的一个重要组成部分,将不得不把该许可证私下地发送给评审者:因此,对没有被发送到许可证讨论列表中的许可证的批准,要花费更长的时间,并且通常要更多地与你交流。) 2、如果发现你的许可证不符合开放源代码的定义,将与你一同解决这个问题。 3、同时,将关注许可证论坛列表,并且与你一同工作以解决大家提出的任何未包含的问题。 4、作为该过程的一部分,还将就许可证问题向外界寻求法律上的建议。 5、一旦许可证符合了开放源代码定义,并且在许可证论坛上经过了充分的讨论或者其它的评审者没有提出认为重要的问题,将通知你,许可证已经被批准了,同时它被复制到网站上,并且被加入以下的许可证列表。 § 标识声明 开源可以在这两种软件的发行上使用OSI Certified标志。该软件的发布包括并且达到了被批准的许可证列表中某个许可证的要求,或者该软件的源代码已经被明确地放到公众可以得到的位置。为了表明你的软件是按照OSI Certified发布的,你必须不加任何修改地把下面两者之一,按照下述方式加入你的软件。 完整的声明是: This software is OSI Certified Open Source Software。 OSI Certified is a certification mark of the Open Source Initiative。 较简短的声明是:OSI Certified Open Source Software 软件的每种发布形式都有自身的要求: 如果软件以电子的形式发布(而不是实物(tangible)的形式),你必须把完整的声明放在README文件或者类似的、人类用户将首先阅读的文件中。 如果软件以实物形式发布,你必须完成以下所有可行的任务: 如果软件的发布包括印刷品,你必须把完整的声明加入该印刷品。 如果软件发布在可擦写的媒体(例如软磁盘)、CD-ROM、磁带等媒体上,它们在物理上可以添加能够被人的裸眼所阅读的简短声明,而不影响它们的功能,你必须把完整的声明或简短的声明标注在该媒体上。 如果软件的发布是一个包,从而使其中的声明不能被阅读。你必须在包的外面放置完整的声明。 获得批准的许可证 以下许可证满足开放源代码的定义,并且已经被批准用于OSI Certified的开放源代码软件。没有给出批准日期的许可证是在1999年1月1日以前批准的。 The GNU General Public License(GPL); The GNU Library(Lesser) General Public License(LGPL); The BSD License; The X Consortium License; The Artistic License; The Mozilla Public License(MPL); The QPL; 其它符合定义的许可证包括:libpng许可证、zlib许可证、IJGJPEG许可证和OPL(Open LDAP Public License)许可证。 |
随便看 |
百科全书收录594082条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。