hr_left
schedule
contest_items
works_requirement
join
submit_works
audit_standard
award_items
about_us


                  三、开放源码的定义(OSD)
  1.9版
  以下各小节是以开放源码定义(OSD)的注解的形式出现,而不是OSD本身的一部分。OSD的没有注解的文字版本可以在这里 (http://www.opensourc.org/docs/definition_plain.php )找到。

  开放源码并不只是意味着对源码的存取访问。有关开放源码软件的分发条款必须遵循下面的原则:
  1.自由再分发
  许可证不能限制任何团体以一个综合软件(综合软件包含了多个不同来源的程序)中的一个部件的形式销售或散布此软件,许可证不得要求向这种销售索取版权费用或其他费用。
  原理:通过强制许可证允许再分发,我们排除了为了短期的销售额而放弃长期收益的诱惑。如果我们不这样做,就会有很多的压力使合作者远离。

  2.源码
  程序必须包含源码,必须允许对源码和已编译的形式一样进行分发。如果一个产品的某种形式在进行分发时没有包含源码,必须有一种皆知的方式并以不高于产品的复制代价来获得源码,较好的一种方式就是从Internet上免费下载。源码必须以程序员可以修改的方便形式提供。故意模糊源码的做法是不允许的。中间形式,例如预处理器或者翻译器给出的输出,都是不允许的。
  原理:我们需要访问一个不模糊的源程序代码,因为如果不修改就不能改进程序。我们的目的就是使程序改进变得容易,因此我们首先需要使修改变得容易。

  3.衍生作品
  许可证必须允许修改和衍生作品,必须允许它们在与原创软件许可证同样的条款下分发。
  原理:只具有阅读源码的权力,不足以支持独立的同行评价和快速的进化选择。为了快速发展,人们必须能够对修改进行实验和重新分发。

  4.作者源码的完整性
  只有许可证允许与源码一起发布补丁文件(为了在程序建立时,即编译和生成可执行文件时,修改程序),它才可以限制源码以修改的形式发布。许可证必须明确允许发布在修改源码上建立的软件。许可证可以要求衍生作品采用与原创软件不同的名称和版本号。
  原理:鼓励大量的改进提高是一件好事情,但是用户有权知道他们正在使用的软件由谁来负责。作者和维护者也有相应的权利知道为了支持和维护他们的声誉他们应该怎么做。
  因此,一个开放源码的许可证必须保证源码能容易得到,但是也可以要求它以不被别人修改的基本形式加上补丁进行发布。通过这样的方法,非正式的改动不但可以获得,而且容易与基本源码进行区别。

  5.无歧视对待对个人和群体
  许可证不得对任何个人或群体有歧视。
  原理:为了从整个过程中得到最大的收益,就应该在最大范围内让不同行业和各种各样的个人和群体有平等的资格对开放源码做出贡献。因此,我们禁止任何一个开放源码许可证把某些人排除在外。
  某些国家,包括美国,对某些特定类型的软件有出口限制。一个与OSD一致的许可证可能对某些适合于限制的许可提出警告,提醒它们不得不遵守法律;然而它自身并不包含这些限制。

  6.无歧视对待努力的领域
  许可证不能限制任何人在某一特定领域使用程序。例如,它不能限制程序用于商业或者遗传研究。
  原理:这句话的主要意图是防止许可证掉入开放源码不能用于商业目的的陷阱。我们需要商业人士加入我们的社区,让他们不会感觉到自己被排斥在外。

  7.许可证的分发
  附于程序上的权利必须适用于任何再分发的程序, 而无需使用其他组织制定的附加许可权利。
  原理:这句话用来禁止以间接的方式封闭软件,例如要求遵守一个非公开的协议。

  8.许可证不能特殊对待一个产品
  附于程序上的权利不得依赖于一个特定软件分发的某一部分程序。如果这个程序从该分发中抽取出来,在该程序许可证下使用或者分发,那么所有该程序的再分发对象也具有了原创软件所指定的相关权利。
  原理:这句话预先防止了其他类型的许可证的陷阱。

  9.许可证不能限制其他软件
  许可证不得对其他与许可软件一起分发的软件施加限制。例如,许可证不得要求所有其他通过相同媒介分发的程序都必须是开放源码软件。
  原理:开放源码软件的分发者有对他们自己的软件进行选择的权利。
  是的,GPL与这个要求一致。一个与GPL库(而不是与库一起发行的软件)进行连接的软件,如果它形成一个单独的作品,那么它将只继承GPL。

  10.许可证必须保持技术中立
  许可证的任何条款都不能根据任何个人技术或者接口的样式来推断。
  原理:本项特别针对要求用明确的同意姿态以在许可证颁发者和许可证接受者之间建立合同关系的许可。强制要求“点击-完成”(click-wrap)的条款与一些重要的软件分发方式冲突,例如FTP下载、CD-ROM合集、Web镜像;这些条款也会损害代码的重用。符合要求的条款必须允许下面的可能性: (a)软件的再分发将在不支持“点击-完成”的非Web通道上进行;(b)覆盖代码(或者覆盖代码的重用部分)可能在一个非图形用户界面的环境下运行,不支持弹出对话框。
                          [返回]