自由的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社区 ...
随机推荐
- nova-compute[5410]: OSError: [Errno 13] Permission denied: '图像路径'
前几天有 openstack-Nova 创建虚拟机拨弄了一下,结果重新启动后的今天 nova boot 创建虚拟机实例有错误,创建虚拟机出状况 他们是 error 视图 openstack 服务状态 ...
- HttpClient模拟客户端请求实例
HttpClient Get请求: /// <summary> /// Get请求模拟 /// </summary> /// < ...
- xml:Invalid byte 2 of 2-byte UTF-8 sequence
xml解析错误:Invalid byte 2 of 2-byte UTF-8 sequence 在做接口解析时候出现的错误:Invalid byte 2 of 2-byte UTF-8 sequenc ...
- mysql更改数据文件夹步骤与错误(ERROR 2002 (HY000))处理方法
1,关闭mysql服务: service mysqld stop 2,创建新建的文件夹 mkdir -p data 3,把曾经的文件夹转移到新的数据文件夹 mv /var/lib/mysql/ /da ...
- 收集的VS2013的使用小技巧( 不断总结中)
对于经常使用vs的朋友,如果能用键盘直接做的事,还是键盘更便捷点,现在我就把自己遇到的一些给写下来. 1.对一个函数的说明 先写一个函数,以及参数,完成后,在函数上输入///,vs会自动补全说明的信息 ...
- awk的实施例
1.使用split功能 name.url内容: 上海 http://trip.elong.com/shanghai/jingdian elong destination 云南 http ...
- Android KitCat 4.4.2 ADB 官方所支持的所有Services格式翻译
在之前的文章中有转帖网上同行制作的ADB协议表格<<adb概览及协议参考>>,但不够详尽,所以这里自己另外基于Android 4.4.2的技术文档重新做一次翻译. HOST S ...
- How to:Installshield判断操作系统是否为64位,并且为操作注册表进行设置
原文:How to:Installshield判断操作系统是否为64位,并且为操作注册表进行设置 IS脚本操作注册表在64位平台下必须有特殊的设置 if (SYSINFO.bIsWow64) then ...
- ios背景更新和下载
ios背景更新和下载 by 吴雪莹 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NS ...
- userAgent,JS这么屌的用户代理,你造吗?——判断浏览器内核、浏览器、浏览器平台、windows操作系统版本、移动设备、游戏系统
1.识别浏览器呈现引擎 为了不在全局作用域中添加多余变量,这里使用单例模式(什么是单例模式?)来封装检测脚本.检测脚本的基本代码如下所示: var client = function() { var ...