注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

勇敢的劳尤条

 
 
 

日志

 
 

开源软件相关概念(一) 【转】  

2014-01-18 14:50:47|  分类: 开源的困惑与诱惑 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

近期极少数个别人在网上打着开源反开源,搞开源虚无主义,现将近6年前编撰的开源ABC小册子中的部分内容贴在博客中,以供探讨!

 

1、 什么是开源软件(OSS)?

    开源软件即开放源代码软件,其定义首先起源于自由软件(Free Software)。自由软件出现之前的规则是软件开发商拥有软件源代码的专用权,他们牢牢控制了源代码,只有他们才有特权访问源代码,用户和其他程序员无法查看、改动和完善,使用户无法真正融入计算机环境之中。Richard Stallman 倡导自由软件运动,就是要开发出一系列完整的软件,由原作者对自己的一些知识产权的权利进行放弃,具体说应该是向公众的许可,同意不但开放源代码,而且鼓励用户之间互相拷贝,通过网络在线服务,电子公告板(BBS)的发布,或者从一个用户的手里传给另一个用户等途径自由地传播,并借此获得学术上和技术上的交流,让别人修正和改进源代码并接受自由软件运作规则,再重新发布。用这种模式去激发世界各地的软件开发人员投入到自由软件的开发中,软件开发人员的集体智慧得到充分发挥,人们可以及时发现并解决程序中存在的问题,减少大量不必要的重复劳动。

 

2、 什么是自由软件(FS)?

    自由软件是指允许任何人使用、拷贝、修改、分发(免费/少许收费)的软件。尤其是这种软件的源代码必须是可得到的。从某种意义上说,“没有源代码,就称不上是(自由)软件。”自由软件很少标价出售,可以理解为一定程度的免费。但有时软件公司在提及价格时使用“free software”这个字眼,他们的意思可能是你可以免费获得一份二进制代码的拷贝,也可能是在你所购买的机器中已经包含了一份拷贝。但是,这种说法与在GNU 计划中“free software”的意义是不同的。由于在操作中极易混淆,因此一旦软件公司说他们的软件是自由软件,您一定要检查您是否得到了自由软件所应包括的一切。有时,您得到的是自由软件,有时不是。

 

3、 “开源软件OSS”与“自由软件FS”的关系

    这两个名词实质是从两个角度看待同样一类事物,对同一类软件的不同叫法,突出不同的价值取向和精神。二者的差别在于给出定义的角度不同。“开放源代码软件”(Open Source Software,也有译为“公开源代码软件”)的定义是从技术层面上讲,而“自由软件”则是从被许可的权利层面上讲。至于自由软件和开放源代码软件的区别,实际体现的就在于许可证对权利义务的规定的严与紧的程度上,有学者认为,开放源代码软件许可证中那部分对被许可人权利限制比较严的许可证是自由软件许可证,也就是说,开放源代码软件的范围要稍宽一些,自由软件的许可证中不允许被许可人将本许可证许可的源代码的修改版本、演绎版本以其他的许可证方式再许可或者保留起来不许可,只能按此许可证实施再许可,像自由软件联盟GNU 下适用GPL开放源代码软件许可证的软件。而开放源代码软件的许可证则允许以其他许可证的方式实施再许可。

 

4、 什么是商业软件(Business Software)?

 

    “商业软件”(Business Software)是指通过交易或贸易方式面向社会公众发行的各种商品化的软件。作为商业软件,其功能、性能通常已经过严格测试因而相当可靠,其使用方法应该相当便利。供应商不仅应该向用户提供程序(通常是目标码文本)和使用说明(通常是

手册的形式),而且应该向用户提供包括版本更新在内的技术服务。

 

5、 开源软件与商业软件是什么关系?

 

    商业软件由商业公司开发,通过收取使用费而牟利。“商业”和“私有”不是一回事。大多数商业软件是“私有的”,但也有商业自由软件,也有非商业、非自由的软件。

     例如,GNU Ada 永远在GNU GPL条款下进行分发,而且,每一个拷贝都是免费的,但它的开发者却有付费支持合同。当推销员对用户这样说,有时用户回说,“我们觉得商业编译器比较安全一些。”,推销员则回答,“GNU Ada是商业软件,只不过碰巧它也是一个自由软件。”

     对“商业”的含义可能存在不同理解,但可以确定的虽然开源软件本身可能不会带来很大的收益,但是利用开源软件的商业模式的确可以实现商业利益,提供了源代码以外的服务等客户所需的要素就可以获得持续、稳定的商业利益。

 

6、 什么是私有软件?

    “私有软件”(即Proprietary Software,或称“专有软件”),是FSF 将其作为“自由软件”和“非自由软件” 的对立面而对软件作出的分类。 FSF 对私有软件的解释为:

     私有软件不是自由及非自由软件,对它的使用、传播、或修改是禁止的,要么需要你申请许可,要么它限制你不能充分自由地使用它。自由软件基金遵守规定,不在计算机中安装任何私有软件,除非为了编写那个程序的替代品而暂时安装到计算机上。除此之外,我们找不到其他借口要安装私有程序。

     例如,在80 年代,我们认为在计算机安装Unix 是正当的,因为我们要编写一个Unix 的免费替代品。现在,由于有了自由操作系统,因此这个借口就不再使用了;我们消除了所有的非自由操作系统,任何新计算机上安装的都是自由操作系统。我们不能强迫GNU 的用户或GNU 的贡献者必须依此规则行事;它只是给我们自己制定的规则,但我们希望你能下决心遵从它。

 

7、 什么是公有软件?

    所谓“公有软件”(Public Domain Software,也可译成“公有领域软件”)是指著作权中的经济权利(包括复制权、修改改编权、发行权等专有权利)有效期已经届满的软件,以及权利人由于不准备使之商品化而已经明确声明放弃著作权的软件。需要指出,公有软件不同于开放源代码软件,因为对于开放源代码软件而言,其著作权仍然由其权利人享有,受到著作权法规保护。对于公有软件,其特点在于:(1)人们可以任意复制、传播;(2)人们也可以对公有软件进行反汇编或者反编译,可以进行反向工程;(3)人们可以使用、改编、甚至将之纳入为赢利目的而开发的商业软件,但不得限制其他人也这样做。这类软件的知识产权被用尽的或放弃任何知识产权的软件,因其进入了公有领域(public domain),没有任何人可以对其请求任何的权利。

 

8、 什么是共享软件?

    试用软件(Share ware,国内也往往译成“共享软件”)。它比普通的商业软件要便宜得多。所谓“试用软件”,是指其复制品也可以通过网络在线服务、电子公告板(BBS)或者从一个用户的手里传给另一个用户等途径自由地传播。这种软件的使用说明通常也以文本文件的形式同程序一起提供。这种试用软件通常附有一个用户注意事项,其内容是说明权利人保留对该软件的权利,因此试用软件受著作权保护;本软件居于试用软件,用户通过两个阶段试用之后,如果希望继续使用,就应该向供应者办理使用注册手续。用户注意事项中通常包含一份注册表格,并说明如何以及向何处办理注册手续,在办理注册手续时可能会要求用户交纳一定费用,实际上就是使用许可费,需要交付的使用许可费的款额通常是很低的(几美元或者几十美元)。

 

9、 开源软件与免费软件的关系如何?

    对免费软件通常的理解是不必支付费用就可以免费获得使用权的软件。而恰巧开源软件在多数场合被称作“Free software”。在许多语言中,“free”一词有两种意义:一是自由,二是免费。如法语的“libre”和“gratuit”,英语的“gratis”都明白无误地指价格(免费),但没有明

白无误地说明“自由”的意义。这是不幸的,因为如果有这个词,在此处它将非常有用。

开源软件通常以免费方式发布,大部分开源软件可以免费获得。但是只要开源软件的许可人或再许可人愿意,可以收取费用。开源是不排斥收费行为的,而免费软件一定是免费获得的。同时免费软件可能是专有软件,只授权免费使用,但不开放供源代码。因此,开源软件与免费软件是两个不同层面的概念,需要区别对待。

 

10、 如何理解“Free Software”的“Free”?

    这里的Free有两个含义:

     第一层含义是自由。自由软件模式为开发者提供了将个人智力成果以不同传统的方式贡献给公众的自由,并保证这种自由符合法律的要求;同时自由软件没有妨碍并且为公众提供了额外的、选择的自由。开发者自愿地将其对于软件的自由权利授权给其他人,保证了更多人享受到使用软件的自由。

     第二层涵义是一定条件下的免费。由于自由软件的授权模式不强制免费许可也不强制收费许可,因此,对于已经进入社区(流通领域)的开源软件而言,获得这些软件大都不必付费。了解哲学观念中“没有绝对的自由”是理解这个概念的一把钥匙,开发者和用户的“自由”都是建立在符合法律和协议要求的前提下的自由;“天下没有不要钱的午餐”这句话的道理不在于这个午餐是不是一定要付钱,而是说是不是要有代价,“免费”获得开源软件也是一样道理。

    总之,“自由”和“免费”都是附有条件的,这个条件就是协议(合同)规定的“对价”,自愿地履行开源协议的“对价”不存在对合同任何一方造成损害,不过可以确定的是,如果不履行“对价”,合同就可能不成立,这显然对合同双方都没有好处,不能实现订立合同的宗旨。

 

11、 什么是“开放源代码”?

    OSI 给出开放源代码的定义的目的是:把所确信的、由软件开发团体所公认的“开放源代码”的含义作为一组具体的准则写下来。该准则确保按照开放源代码许可证发布的软件可以得到与其他软件同样认真的评审、使软件可以不断地得到改良和遴选,从而提供非开放软件所难以提供的可靠性与能力。OSI 认为本开放源代码定义涵盖了由绝大多数软件团体使用的术语“开放源代码”的最初含义和当前含义。然而,该术语被广泛地应用,并且它的含义变得不精确了。

参考资料:

http://blog.sina.com.cn/s/blog_59be423e0100kfp9.html

  评论这张
 
阅读(63)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017