当你听到“ 开源软件(open source)”一词时,你是否认为它与诸如 共享软件(shareware)、 免费软件(freeware)或 公有领域软件(public domain)之类的术语同义? 如果是这样的话,你并不是唯一有这种看法的人 。在软件行业内外的许多人都认为这些术语是一样的 。本文说明了这些术语的不同之处,认为开源是一种变革性的许可和开发模式 。分享我与以上几种软件打交道的经验,可能是探究差异的最佳方法 。
共享软件和免费软件 早在 1982 年,当我在 Apple II Plus 上用 BASIC 编写代码时,我就开始从事计算机程序员的工作 。我回想起去家乡当地的计算机商店,并在塑料袋中找到看起来价格高昂的装有游戏和实用程序软件的软盘 。请记住,这是从一个中学生的角度来看的 。
但是,有一些软件可以免费或以最低价格获得 。依据具体许可模式,它被称为共享软件或免费软件 。在共享软件模式下,你只能在一定时间内使用该软件,如果你发现它有用,则要求你将支票寄给该软件的作者 。
但是,某些共享软件实际上也鼓励你复制并提供给你的朋友 。这种模式通常称为免费软件 。也就是说,共享软件和免费软件确切定义之间的差异十分微小,因此很容易将两者简单地统称为“共享软件” 。我虽不能肯定,但是我不记得我是否向任何软件作者提供过使用共享软件的费用,主要是因为我在十几岁的时候就没有钱,但是我肯定喜欢使用这些软件程序,并且从中学到了很多有关计算机的知识 。
回顾过去,我现在意识到,如果该软件是根据开源许可条款而非共享软件条款提供的,那么作为一名新兴的程序员,我本可以在成长中学到很多东西,并且可以取得更多成就 。这是因为几乎没有共享软件会提供源代码(即,人类可读的软件形式) 。共享软件还包含许可限制,禁止接收者试图泄露其源代码 。如果无法访问源代码,则很难了解该软件的实际工作方式,从而很难扩展或更改其功能 。这使得最终用户完全依赖共享软件原始作者进行任何更改或改进 。
使用共享软件模式,任何开发人员社区几乎都不可能对代码施加影响,并进一步围绕代码进行创新 。再分发和商业使用也可能受到进一步的限制 。尽管共享软件可能在价格方面是免费的(至少在最初是免费的),但它在自由权利方面并不是免费的,并且不允许你通过探索代码的内部原理来学习和创新 。
这就引出了一个大问题:它与开源软件有何不同?
开源许可的基础 首先,我们需要了解“开源”是指许可模式和软件开发模式,两者与共享软件都有很大不同 。在一种称为非 “左版”(copyleft)开源许可的开源形式下,向用户提供了关键的自由权利,例如对访问源代码没有限制;可以出于任何目的出售、使用或赠送该软件;可以修改软件 。
推荐阅读
- 诸葛亮的性格特点介绍 诸葛亮三顾茅庐告诉我们什么
- 孙尚香三国志战略版搭配 孙尚香三国志战略版搭配介绍
- 介绍恐怖电影人物木偶比利是谁创造的 木偶比利电影解析
- 科学家潘锦功籍贯及出生日期介绍 中国科学家潘锦功简介
- 发明的地动仪利用什么原理 张衡发明地动仪的过程介绍
- 西藏第二大湖泊纳木错海拔与面积简单介绍 纳木错在哪里
- 小鲍鱼做法有哪几种 小鲍鱼的做法介绍
- 蛋白拌香椿 蛋白拌香椿做法介绍
- 数码知识:MIUI11有哪些快捷小技巧MIUI11的快捷小技巧介绍
- 介绍马耳他骑士团国的成立与故事 马耳他骑士团是什么