如今,计算机开源软件项目如潮水般涌来,各个领域都有着出色的表现。这就让我对开源的含义产生了兴趣。

于是花了一些时间在网络上搜索相关的信息。在此过程中,还发现了与之相似的——自由软件的定义。不过国内很多消息都是相互拷贝,鲜有包含读者个人理解体会的。经过自己的吸收和融汇之后,谈谈自己的想法。

其实两者最大的相同点是:源代码的公开,但是两者的差别却比较难理解。有一句话总结的比较好:“前者最大表现是在开发模式上的,后者的最大表现是在精神上的”。

开源项目要求当项目发布时,使用者可以同时获得项目的源代码或者是能够很方便的获得其完整的源代码。完整的含义就是使用者在获得源代码之后,能够再次编译出和发布的项目具有相同作用的项目。而在开源项目基础上进行修改后发表的新的项目,也必须同时发布包括修改之后的源代码,并且还要明确的标出与其基础源代码之区别。所有的要求是当你使用项目的那一刻就默认执行的,如果不想执行相关的要求,那么就无法使用开源项目。开源项目是有版权的,相关的版权属于发布的人员或者组织。如一个项目A是由甲以开源方式发布的,那么甲就拥有A的版权;乙获得A之后,修改之后发布A+,那么乙就拥有修改部分的版权,而原来部分的版权依然归甲所有。

可以看出,开源项目最大的特点就在于对源代码的处理,但是却不包含其它的内容。也就是你可以以收费的方式发布开源项目,这与其本意不违背。而某些项目只公布,这里只是公布,而不允许使用者修改或再次发布其代码,这就不是开源项目了。

而自由软件的层次更高了。它允许使用者以任何方式获取项目,修改项目,再发布项目或者再发布修改之后的项目,至于具体的方式,不作任何强制性限制。所以,使用者可以免费或者收费的方式获得项目;使用者可以以公布或者不公布源代码方式发布项目;简单地说就是让使用者有完全的自由。但是可以发现,这里的自由还是有某种逻辑上的强制性:如果你以收费方式发布,对你来说是自由的,那么对使用者来说就是不自由了,因为他没有以任何可能的方式获得了,或者对他说想以免费的方式是不自由的。那么他就可以在之后不服从自由软件的限制。同样的,在再发布源代码的行为上,同样有着类似的情况。与开源软件相比,某些自由软件的定义更加苛刻,甚至只要发布的软件包含自由软件之部分,那么剩余非自由软件部分也必须以自由软件规则发布。因此,自由软件更像是一种精神层次上的东西。

此外,开源软件只是在发布方式上做了某些定义或者限制,对软件项目的各种权利本身没有做任何的定义。也就是说如著作权,专利权等法律意义上的东西还是服从各个地区的法律定义。这样就存在这种情况:也许甲获得了乙的开源软件并使用,除非乙声明放弃对软件的专利所有,否则乙可以在任何时候通过法律的方式来使得甲放弃或者以一定代价之后继续使用软件。所以,开源软件并不是完全美好的东西。这样看来,这些东西还真有不少语义和概念上的陷阱。

当然,在使用者和发布者都是同一个人或者组织的情况下,所有的条件都成了可有可无的东西了。但是软件本身的发展却被限制了,这恰恰与开源软件和自由软件初衷相违背。

以上只是个人的当前体会,如有谬误,实属不幸。

开源软件与自由软件的区别——个人体会相关推荐

  1. 开源软件和自由软件_自由和开源软件的经济学

    开源软件和自由软件 零边际成本 (Zero Marginal Cost) At the core of the financial aspects of Free and Open Source is ...

  2. 商业软件、开源软件与自由软件开发模式的区别

    程序代码一般情况下有两种形式:目标代码和源代码.人们根据开发公司对源代码的"态度"(是否公开)将软件分为商业软件和开源软件.现在我们来看看各种软件的开发模式有何不同. ○1商业软件 ...

  3. 开源软件能够赚到钱吗

    中科红旗的总裁赵晓亮曾经用一个关于饮水的比喻来解释开源软件企业是如何赚钱的,大意是人每天都要喝大量的水,但饮水是在不同的环境下.不同的条件下进行的.虽然原料都是水,但性质已经发生了改变.而且水的加工程 ...

  4. 软件协会发布开源软件与商业软件知识产权报告

        日前,中国软件行业协会发布了<有关开放源代码软件与商业软件知识产权的研究报告>(以下简称<研究报告>),明确提出"反对政府直接支持或干预任何形式的软件商业模式 ...

  5. 开源软件及国内发展趋势

    源是大势所趋 随着计算机技术的发展,尤其是互联网技术和相关企业的兴起,开源软件在操作系统.编译工具链.数据库.WEB服务器.移动操作系统等各个方面已经成为主流.而且许多企业利用开源软件形成了独特的商业 ...

  6. 开源软件及国内发展现状

    1 开源是大势所趋 随着计算机技术的发展,尤其是互联网技术和相关企业的兴起,开源软件在操作系统.编译工具链.数据库.WEB服务器.移动操作系统等各个方面已经成 为主流.而且许多企业利用开源软件形成了独 ...

  7. 涂抹MySQL--第1章 开源运动与开源软件MySQL - 1.1开源软件的故事(3)

    1.1.4 GPL 说,持证上岗光荣 GPL 全称为GNU General Public License,即GNU 通用公共许可证.协议的具体条款这里就不列出了,条款不算太长,如果有兴趣,大家可以到G ...

  8. 【华为云技术分享】“技术-经济范式”视角下的开源软件演进剖析-part 1

    前言 以互联网为代表的信息技术的迅猛发展对整个经济体系产生了巨大的影响.信息技术的发展一方面使知识的积累和传播更加迅速,知识爆炸性的增长:另一方面,使信息的获取变得越来越容易,信息交流的强度逐渐增加, ...

  9. 开源软件运动为什么流行起来?

    作者 | 周荔人       责编 | 欧阳姝黎 1998年1月23日,美国网景公司做了一个决定,宣布将会开放下一代网景通讯家套件的所有源代码.网景通讯家套件后面就是 Mozilia 项目,下文均使用 ...

最新文章

  1. 学习编程能够从事哪些行业?
  2. css中em单位详解,说明
  3. 删除mysql的root用户恢复方法
  4. ProtoBuf使用指南(C++)
  5. request对象_java学习之web基础(2):Request
  6. android 隐藏键盘时ui延迟恢复,android 软键盘的显示与隐藏问题的研究
  7. MySQL左连接还有过滤条件_MySQL左连接问题,右表做筛选,左表列依然在?
  8. 基于JAVA+SpringBoot+Mybatis+MYSQL的高铁售票系统
  9. Python学习之解释器的简单使用
  10. Android应用程序组件Content Provider简要介绍和学习计划 .
  11. React 16.7.0-alpha hooks 之规则
  12. 最强面试题整理第一弹:Python 基础面试题(附答案)
  13. 英语四级单选测试软件,英语四级报告单选纸质还是电子?选择电子版报告单可能更好...
  14. You should consider upgrading via the
  15. vc word bookmark
  16. 什么是SaaS,PaaS和IaaS? 有例子
  17. JSON必备工具之Json Viewer
  18. fastjson 是反射吗_6种超声检测灵敏度,你都知道吗?
  19. JavaScript进阶(四)
  20. NTFS文件系统详解(三)NTFS元文件解析

热门文章

  1. Ecside_项目搭建
  2. Opencvsharp:视频video转换成图像Mat,并对图像进行Canny操作
  3. 基于长短期记忆网络的电力负荷预测(Python代码实现)
  4. 30个Swift UI控件
  5. 《通信技术导论(原书第5版)》——2.2 下一代数据中心:虚拟化和千兆比特速率...
  6. 用两个栈实现队列(剑指offer第五题)
  7. 【音频处理】Melodyne 麦乐迪软件安装 ( 安装 Melodyne 软件 | Melodyne 软件汉化 )
  8. 为了验证自己Java学的如何,爆肝了10万字面试题,开源给大家
  9. 机票盲盒,能带你去“快乐星球”吗?
  10. 快速入手python正则