自由的Debian
原文:http://www.debian.org/intro/free
许多人在刚开始接触自由软件时都会很困惑,原因是自由软件中的自由一词并不是他们所期望的那样。对他们而言自由
意味着免费
。一本英文字典几乎能列出 Free
的二十种不同含义。其中只有一个是免费
的意思,其余都与自由和不强制有关。当我们说自由软件的时候,我们想传达的是自由,而不是免费。
仅仅意味着您不用付钱就能使用的免费软件根本谈不上自由。它们会禁止您传播,而且几乎可以肯定,它们会阻止您改善它们。软件标榜免费,在市场营销中通常是作为推销 相关产品以及打击竞争对手的一种武器,它们没有承诺不会中止免费。
真正的自由软件永远都是自由的。被放在公共领域中的软件可能被引用到一个非自由软件中,此时它的任何改进就不再被公开,无法造福社区 。要保持软件自由,必须遵循一定的著作权规定,并受许可证保护。
对于新手来说,一个软件要么自由,要么不自由。现实生活要比那个复杂的多。要理解人们在标榜自由软件时蕴涵了哪些信息,我们必须绕道去软件许可証的世界看一看。
著作权是一种手段,用来保护某些类型工作的作者的权利。在大部分国家,您所写的软件都是自动受著作权保护的。许可証是作者对别人使用他的作品 (在这里指软件) 的一种许可,是用户可以接受的条款。是否包含一个声明该软件使用方式的许可証,这一点取决于作者。要彻底弄请何谓著作权,请参考 http://www.copyright.gov/。
当然,许可证会视不同的情况而有所不同。软件公司为了保护它们的资产,通常只会 发行已编译过的程序,让人们无法读取源代码 ,并且在使用上做出很多限制。相反的,自由软件的作者们通常会提出以下这些要求:
- 不允许将他们的源代码用于非自由软件。既然他们发布了他们的源代码,就不希望有人将它占为己有。在这种情况下,源代码的使用就是一种信任: 您可以使用这些源代码,只要您遵循相同的规则。
- 保护源代码中作者的声明。这些人对他们做出来的成果感到十分骄傲,所以不希望有人将他们的名字删除之后冒称是自己写出来的。
- 源代码要能自由传播。大部份商业软件最大的问题就是在于,当遇到错误或者需要做定制的时候,因为没有源代码而无法除错或修改。而且,商业公司有可能决定不再 支持您使用的硬件。大部份自由软件的许可证都要求能自由传播源代码,这样能保护用户定制的权利。
- 任何包含他们工作成果的软件 (在著作权讨论中这被称为衍生软件) 也必须使用与他们工作成果相同的自由软件许可证。
许多人会写他们自定义的许可证。不过要写出一个您真正想表达的许可证是一件很麻烦的事。有太多人写出用词不精确或是内容有矛 盾的许可证。要写出一个可以在法庭上有效的许可证就更困难了。所幸的是,有一些已经写好的许可证可能就是您想要的。
目前三种最常使用的许可证是:
- GNU General Public License (GPL)。一些有关软件许可证的背景资料以及一份该许可証的副本可以在 GNU 网站 得到 。这是世界上最通用的自由许可証。
- Artistic License (艺术家的许可証)。
- BSD License。
这些许可证有以下的共通点:
- 您想在几台机器上安装该软件就可以在几台机器上安装该软件。
- 同一时刻可以有任意多的人使用该软件。
- 你想将该软件复制几份就可以复制几份,把它们送给任何你想送的人 (自由或开放地重新传播)。
- 不限制您对该软的改动 (除了一些完整的声明)。
- 不限制您的传播,甚至销售该软件。
最后一条,说您可以销售自由软件,听起来似乎跟自由软件的理念有冲突。事实上这是自由软件的一股重要力量。既然许可证允许软件的自由传播 ,某个人就可以在得到软件之后自行重新传播,甚至是尝试销售它们。实际上,软件的数字拷贝从本质上来说是零成本的 。另外供求关系也可以控制成本。为了方便用户,销售商可以把大量软件集中在一种介质上 (例如光盘),统一发 售并随意定价。如果有人想抬高价格牟取暴利,就会有其他竞争者进来压低价格。因此,您可以只用几块钱的价格买到由多张光盘组成的完 整的 Debian 发行版。
虽然自由软件并非完全没有约束 (只有公共领域的软件不受任何约束),它仍然提供给用户很大的弹性完成他们感兴趣的工作。同时,它也保护了作者的权利。这才称得上是 真正的自由。
Debian 项目是自由软件的鼎力支持者。因为有许多不同的软件许可证,所以用一份 Debian 自由软件指导方针 (DFSG) 来定义何谓自由软件。只有遵循这份指导方针的软件才能放在 Debian 发行版的 main 软件 仓库中。
自由的Debian的更多相关文章
- linux(raspbian)下mysql的安装,权限设置和用户管理
一 MySQL安装:(1) 使用apt-get安装, 由于raspbian是基于Debian的自由操作系统,debian默认自带apt-get指令安装应用因此可以使用来安装 sudo apt-get ...
- Building OpenCASCADE on Debian
Building OpenCASCADE on Debian eryar@163.com Abstract. When you are familiar with OpenCASCADE on Win ...
- X200s,Debian 8(Jessie) 安装流水帐
1. U盘启动安装 a. 因为无线网卡驱动是non-free,需要另外下载,对应X200s,文件是iwlwifi-5000-5.ucode,下完放到安装U盘的根目录下,安装时就不会再提示而是直接安装 ...
- 服务器操作系统应该选择 Debian/Ubuntu 还是 CentOS?
来自 http://www.zhihu.com/question/19599986 服务器操作系统应该选择 Debian/Ubuntu 还是 CentOS? 想选择一个 Linux 发行版作为服务器. ...
- debian 学习记录-3 -关于linux -1
来源:<Debian标准教程>王旭 著 芬兰人Linus Trovalds 1991年1月2日···· 2006年初发布内核2.6.15 使用Andrew Tanenbaum < ...
- Debian、Ubuntu常用命令大全
注:本人是用的Debian,个别命令可能有问题. 原文:http://www.jb51.net/os/Ubuntu/56362.html 一.文件/文件夹管理 ls 列出当前目录文件(不包括隐含文件) ...
- Unix/Linux环境C编程入门教程(4) Debian Linux环境搭建
Unix/Linux版本众多,我们推荐Unix/Linux初学者选用几款典型的Unix/Linux操作系统进行学习. 1.广义的Debian是指一个致力于创建自由操作系统的合作组织及其作品,由于Deb ...
- CentOS,Ubuntu,Gentoo,Freebsd,RedHat,Debian的区别及选择
Linux最早由Linus Benedict Torvalds在1991年开始编写.在这之前,Richard Stallman创建了Free Software Foundation(FSF)组织以及G ...
- Ubuntu和Redhat(Debian)的差别
这两个最大的区别在包管理模式上. 都是用的Linux核心构架的. Redhat主要集中在 企业级服务器版的制作 是推动LINUX商业化最成功的公司 Redhat对应的桌面版制作 都是由Fedora社区 ...
随机推荐
- hdu 1251(字典树)
题目链接:http://acm.hdu.edu.cn/status.php?user=NYNU_WMH&pid=1251&status=5 Trie树的基本实现 字母树的插入(Inse ...
- CUMCM--总结
有些事情经历一次就好,一次的经历足以成长. 其实,对于数模真的没什么要说的,也没什么好写的.从9月11日,8点见到赛题,到今天早上8点的提交,短短的三天,度过寂静的黑夜,见到微曦的黎明.三天三夜,9个 ...
- API接口开发 配置、实现、测试
Yii2 基于RESTful架构的 advanced版API接口开发 配置.实现.测试 环境配置: 开启服务器伪静态 本处以apache为例,查看apache的conf目录下httpd.conf,找到 ...
- 队列--Redis+Log4Net
队列--Redis+Log4Net Redis简介 Redis是一个开源的,使用C语言编写,面向“键/值”对类型数据的分布式NoSQL数据库系统,特点是高性能,持久存储,适应高并发的应用场景.Redi ...
- CSS3火焰文字特效制作教程
原文:CSS3火焰文字特效制作教程 用一句很俗气的话概括这两天的情况就是:“最近很忙”,虽然手头上有不少很酷的HTML5和CSS3资源,但确实没时间将它们的实现过程写成教程分享给大家.今天刚完成了一个 ...
- [CLR via C#]1.6 Framework类库~1.9与非托管代码的互操作性
原文:[CLR via C#]1.6 Framework类库~1.9与非托管代码的互操作性 1.6 Framework类库 1. .NET Framework中包含了Framework类库(Frame ...
- CSS3+HTML5特效1 - 上下滑动效果
先看看效果,把鼠标移上去看看. back front 1. 本实例需要以下元素: a. 外容器 box b. 内容器 border c. 默认显示内容 front d. 滑动内容 back 2. 外容 ...
- 动态类(Dynamic)应用
动态类(Dynamic)应用 背景: 在Coding中有时候会遇到一些需要解析的数据,可是数据的字段数量和名称未统一,我们没法定义实体类来对应.那么我们就会想到通过C#的dynamic动态类来实现,如 ...
- 在 MVC6 中创建 Web API
ASP.NET 5系列教程 (六): 在 MVC6 中创建 Web API ASP.NET 5.0 的主要目标之一是统一MVC 和 Web API 框架应用. 接下来几篇文章中您会了解以下内容: ...
- 复习一下SpringMVC的工作原理
上面的是springMVC的工作原理图: 1.客户端发出一个http请求给web服务器,web服务器对http请求进行解析,如果匹配DispatcherServlet的请求映射路径(在web.xml中 ...