开放原始码软体与自由软件

形式上的差异

开放原始码(open source软 体与自由软体是两个不同的概念,只要符合开源软件定义的软件就能被称为开放源代码软件。自由软件是一个比开源软件更严格的概念,因此所有自由软件都是开放源代码的,但不是所有的源软件都能被称为自由。但在现实上,绝大多数开源软件也都符合自由软件的定义。比如,遵守GPLBSD许可的软件都是开放的 并且是自由的。

开放原始码的规定较宽松,而自由软体的规定较严苛。很多的开放原始码所认可的授权根本不算是自由软体,所以自由软体不得不和开放原始码划清界线了。

 

两者内涵的差异

  1. 开放原始码作用是尽可能的使软件最优化;自由软件则将自由作为道德标准。
  1. 如果说自由软体会引起误解,(因为英文Free一词有自 由免费的双重含意),那么开放原始码的名字会引起的误解则更多。zh-hant:开放原始码很容易让人以为只要把原始码公开出来就算是开 放原始码了,但是如果使用者无法自由运用这些原始码,那么即使公开原始码也没有意义。有的软体公司只是为了想找使用者帮它debug、吸收社区贡献的功 能,这样子会破坏了自由软体的原意。
  1. 自由软体的原意就是要给予使用者运用软体的自由,这个自由就是自由软体的精神所在。但是为了商业化开放原始码却故意忽略了这个最重要的精神,反而无法让使用者体认到自由的真意,那么开放原始码这一个替代自由软体的辞句反而把自由的原意除去了。

而自由软体的精神领袖理查德·马修·斯托曼也很反对人们把开放原始码和自由软体混为一谈。(请参见:《Why “Open Source” misses the point of Free Software》一文)。

自由软体的精神领袖

自由软体的精神领袖是理查德·马修·斯托曼。他被人称为最后的真正骇客,他认为一个好的软体,应该自由自在地让人取用。软体不应该拿来做为相互倾轧、剥削的工具。所以他起草GNU通用公共许可证 来保障自由软体的自由,并创办了自由软体基金会来贯彻他的理念。领袖们有时被称作“Benevolent Dictators”

自由软件(Free Software,根据自由软体基金会的定义,是一种可以不受限制地自由使用、复制、研究、修改和分发的软体。这方面的不受限制正是自由软体最重要的本质,与自由软体相对的是闭源软体(Proprietary Software)非自由软体,也常被称为私有软体、封闭软体(其定义与是否收取费用无关)。自由软体受到选定的自由软体授权协议保护而发布(或是放置在公共领域),其发布以原始码为主,二进制档可有可无。自由软体的许可证类型主要有GPL许可证BSD许可证两种。另外,自由软件也可以看作开源软件的一个子集。

开源软件

开放原始码英文Open Source)指一种软体散布模式。一般的软体仅可取得已经过编译的二进位可执行档,通常只有软体的作者或著作权所有者等拥有程式的原始码。

须注的是有些软体的作者只是将原始码公开,却不符合开放原始码的定义及条件,因为作者可能设定公开原始码的条件限制,诸如限制可阅读原始码的对象、限制衍生产品等,此称之为公开原始码软体(例如知名的模拟器软体 MAME),因此公开原始码的软体并不一定可称之为开放原始码软体。

开放原始码的定义由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 Product):若多个程式组合成一套软体,则当某一开放原始码的程式单独散布时,也必需要符合开放原始码的条件。
  • 授权条款不得限制其他软体(License Must Not Restrict Other Software):当某一开放原始码软体与其他非开放原始码软体一起散布时(例如放在同一光碟片),不得限制其他软体的授权条件也要遵照开放原始码的授权。
  • 授权条款必须技术中立(License Must Be Technology-Neutral):意即授权条款不得限制为电子格式才有效,若是纸本的授权条款也应视为有效。

OSI官方网站,http://opensource.org/

 

 

 

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐