发布网友 发布时间:2022-05-01 16:23
共1个回答
热心网友 时间:2022-06-19 12:00
简介 开放源代码的定义由Bruce Perens(曾是Debian的创始人之一)定义如下: 自由再散布(Free Distribution):允许获得源代码的人可自由再将此源代码散布.源代码(Source Code):程式的可执行档在散布时,必需以随附完整源代码或是可让人方便的事后取得源代码.衍生著作(Derived Works):让人可依此源代码修改后,在依照同一授权条款的情形下再散布.原创作者程式源代码的完整性(Integrity of The Author's Source Code):意即修改后的版本,需以不同的版本号码以与原始的程式码做分别,保障原始的程式码完整性.不得对任何人或团体有差别待遇(No Discrimination Against Persons or Groups):开放源代码软件不得因性别、团体、国家、族群等设定*,但若是因为法律规定的情形则为例外(如:美国**高加密软件的出口).对程式在任何领域内的利用不得有差别待遇(No Discrimination Against Fields of Endeavor):意即不得*商业使用.散布授权条款(Distribution of License):若软件再散布,必需以同一条款散布之.授权条款不得专属于特定产品(License Must Not Be Specific to a Proct):若多个程式组合成一套软件,则当某一开放源代码的程式单独散布时,也必需要符合开放源代码的条件.授权条款不得*其他软件(License Must Not Restrict Other Software):当某一开放源代码软件与其他非开放源代码软件一起散布时(例如放在同一光碟片),不得*其他软件的授权条件也要遵照开放源代码的授权.授权条款必须技术中立(License Must Be Technology-Neutral):意即授权条款不得*为电子格式才有效,若是纸本的授权条款也应视为有效. 开放源代码与自由软件 许多人将开放源代码与自由软件(freeSoftware)视为相同,但若以定义条件而言,自由软件仅是开放源代码的一种,也就是自由软件的定义较开放源代码更为严格,并非开放源代码的软件就可称为自由软件,要视该软件的授权条件是否合乎自由软件基金会对自由软件所下的定义. 开源软件定义Version 1.9 开源不仅仅表示开放程序源代码.从发行角度定义的开源软件必须符合如下条件: 1、自由再发行 许可证不能*任何团体销售或赠送软件,软件可以是几个不同来源的程序集成后的软件发行版中的其中一个原件.许可证不能要求对这样的销售收取许可证费或其他费用. 2、程序源代码 程序必须包含源代码.必须允许发行版在包含编译形式的同时也包含程序源代码.当产品以某种形式发行时没有包含源代码,必须非常醒目的告知用户,如何通过 Internet免费的下载源代码.源代码必须是以当程序员修改程序时优先选用的形式提供.故意地扰乱源代码是不允许的.以预处理程序或翻译器这样的中间 形式作为源代码也是不允许的. 3、派生程序 许可证必须允许更改或派生程序.必须允许这些程序按与初始软件相同的许可证发行. 4、作者源代码的完整性 只有当许可证允许在程序开发阶段,为了调整程序的目的将"修补文件"的发行版与源代码一起发行时,许可证才能*源代码以更改后的形式发行.许可证必须明确地允许按更改后的源代码所建立的程序发行.许可证可以要求派生的程序使用与初始软件不同的名称或版本号. 5、无个人或团体歧视 许可证不能都有针对任何个人或团*在专门奋斗领域内的任何人使用该程序.例如不能*程序应用于商业领域,或者应用于遗传研究. 7、许可证发行 伴随程序所具有权力必须适用于所有的程序分销商,而不需要这些团体之间再附加许可证签字盖章. 8、许可证不能特制某个产品 如果程序是某个特殊的软件发行版中的一部分,伴随该程序所具有的权力不能只以来于这一发行版.如果程序是从那一发行版中摘录出来的,使用或发行时用的都是那个程序的许可证,分销程序的所有团体都应拥有与初始软件版所允许的所有权力. 9、许可证不能排斥其他软件 许可证不能*随该许可证软件一起发行的其他软件.例如,许可证不能要求所有与之一起发行的其他软件都是开源软件. 10、许可证实例 GNU GPL、BSD、X Consortiun和Artistic许可证都是我们认为符合开源软件定义的许可证.MPL也是一样. 1.9版的英文原文: The Open Source DefinitionVersion 1.9 The indented, italicized sections below appear as annotations to the Open Source Definition (OSD) and are not a part of the OSD. Introction Open source doesn't just mean access to the source code. The distribution terms of open-source software must comply with the following criteria: The license shall not restrict any party from selling or giving away the software as a component of an aggregate software distribution containing programs from several different sources. The license shall not require a royalty or other fee for such sale. 1. Free Redistribution Rationale: By constraining the license to require free redistribution, we eliminate the temptation to throw away many long-term gains in order to make a few short-term sales dollars. If we didn't do this, there would be lots of pressure for cooperators to defect. 2. Source Code The program must include source code, and must allow distribution in source code as well as compiled form. Where some form of a proct is not distributed with source code, there must be a well-publicized means of obtaining the source code for no more than a reasonable reproction cost–preferably, downloading via the Internet without charge. The source code must be the preferred form in which a programmer would modify the program. Deliberately obfuscated source code is not allowed. Intermediate forms such as the output of a preprocessor or translator are not allowed. Rationale: We require access to un-obfuscated source code because you can't evolve programs without modifying them. Since our purpose is to make evolution easy, we require that modification be made easy. 3. Derived Works The license must allow modifications and derived works, and must allow them to be distributed under the same terms as the license of the original software. Rationale: The mere ability to read source isn't enough to support independent peer review and rapid evolutionary selection. For rapid evolution to happen, people need to be able to experiment with and redistribute modifications. 4. Integrity of The Author's Source Code The license may restrict source-code from being distributed in modified form only if the license allows the distribution of "patch files" with the source code for the purpose of modifying the program at build time. The license must explicitly permit distribution of software built from modified source code. The license may require derived works to carry a different name or version number from the original software. Rationale: Encouraging lots of improvement is a good thing, but users have a right to know who is responsible for the software they are using. Authors and maintainers have reciprocal right to know what they're being asked to support and protect their reputations. Accordingly, an open-source license must guarantee that source be readily available, but may require that it be distributed as pristine base sources plus patches. In this way, "unofficial" changes can be made available but readily distinguished from the base source. 5. No Discrimination Against Persons or GroupsThe license must not discriminate against any person or group of persons. Rationale: In order to get the maximum benefit from the process, the maximum diversity of persons and groups should be equally eligible to contribute to open sources. Therefore we forbid any open-source license from locking anybody out of the process. Some countries, including the United States, have export restrictions for certain types of software. An OSD-conformant license may warn licensees of applicable restrictions and remind them that they are obliged to obey the law; however, it may not incorporate such restrictions itself. 6. No Discrimination Against Fields of EndeavorThe license must not restrict anyone from making use of the program in a specific field of endeavor. For example, it may not restrict the program from being used in a business, or from being used for genetic research. Rationale: The major intention of this clause is to prohibit license traps that prevent open source from being used commercially. We want commercial users to join our community, not feel excluded from it. 7. Distribution of License The rights attached to the program must apply to all to whom the program is redistributed without the need for execution of an additional license by those parties. Rationale: This clause is intended to forbid closing up software by indirect means such as requiring a non-disclosure agreement. 8. License Must Not Be Specific to a ProctThe rights attached to the program must not depend on the program's being part of a particular software distribution. If the program is extracted from that distribution and used or distributed within the terms of the program's license, all parties to whom the program is redistributed should have the same rights as those that are granted in conjunction with the original software distribution. Rationale: This clause forecloses yet another class of license traps. 9. License Must Not Restrict Other SoftwareThe license must not place restrictions on other software that is distributed along with the licensed software. For example, the license must not insist that all other programs distributed on the same medium must be open-source software. Rationale: Distributors of open-source software have the right to make their own choices about their own software. Yes, the GPL is conformant with this requirement. Software linked with GPLed libraries only inherits the GPL if it forms a single work, not any software with which they are merely distributed. 10. License Must Be Technology-NeutralNo provision of the license may be predicated on any indivial technology or style of interface. Rationale: This provision is aimed specifically aimed at licenses which require an explicit gesture of assent in order to establish a contract between licensor and licensee. Provisions mandating so-called "click-wrap" may conflict with important methods of software distribution such as FTP download, CD-ROM anthologies, and web mirroring; such provisions may also hinder code re-use. Conformant licenses must allow for the possibility that (a) redistribution of the software will take place over non-Web channels that do not support click-wrapping of the download, and that (b) the covered code (or re-used portions of covered code) may run in a non-GUI environment that cannot support popup dialogues. 关于开放源代码的定义(1.7版) 开放源代码并不仅仅意味着对源代码的访问权.开放源代码软件的发布条款必须满足以下条件: 1. 自由地再发布 如果被发布的软件是由不同来源的程序组成的,许可证不得*任何当事人或组织(party)销售或赠送作为被发布软件成分之一的开放源码软件. 许可证不得从此项