自由的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社区 ...
随机推荐
- NET动态调用WebService
NET动态调用WebService 这不是一篇教你了解WebService的博文,也不是对WebService的深入理解, 这是一篇教你在开发过程中,如果动态的调用WebService一个方法. 在比 ...
- div元素上下左右居中
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <m ...
- CSharp设计模式读书笔记(7):适配器模式(学习难度:★★☆☆☆,使用频率:★★★★☆)
适配器模式(Adapter Pattern):将一个接口转换成客户希望的另一个接口,使接口不兼容的那些类可以一起工作,其别名为包装器(Wrapper).适配器模式既可以作为类结构型模式,也可以作为对象 ...
- WebService它CXF注释错误(两)
WebService它CXF注解 1.详细报错例如以下 五月 04, 2014 11:24:12 下午 org.apache.cxf.wsdl.service.factory.ReflectionSe ...
- 引擎介绍 - REngine
引擎介绍 - REngine 规则引擎 规则引擎由推理引擎发展而来,是一种嵌入在应用程序中的组件,实现了将业务决策从应用程序代码中分离出来,并使用预定义的语义模块编写业务决策.接受数据输入,解释业务规 ...
- 基于HTTP/2和protobuf的RPC框架:GRPC
谷歌发布的首款基于HTTP/2和protobuf的RPC框架:GRPC Google 刚刚开源了grpc, 一个基于HTTP2 和 Protobuf 的高性能.开源.通用的RPC框架.Protobu ...
- windows下使用pthread
有的时候需要使用多线程来测试代码啥的,在Linux下有pthread,在windows也有. 我这儿是使用MingW作为编译工具,具体如何下载MingW自行在网上搜索. 而pthread是在这里下载的 ...
- 解决水晶报表提示“未知的查询引擎错误” FOR VS2010
原文:解决水晶报表提示“未知的查询引擎错误” FOR VS2010 在VS2010环境下运行水晶报表(当然要先装上Crystal Report For VS2010), 在SetDataSource方 ...
- C# 利用 HttpWebRequest 和 HttpWebResponse 模拟登录有验证码的网站
原文:C# 利用 HttpWebRequest 和 HttpWebResponse 模拟登录有验证码的网站 我们经常会碰到需要程序模拟登录一个网站,那如果网站需要填写验证码的要怎样模拟登录呢?这篇文章 ...
- hdu 2795 段树--点更新
http://acm.hdu.edu.cn/showproblem.php?pid=2795 在第一和第三多学校都出现线段树,我在比赛中并没有这样做.,热身下,然后31号之前把那两道多校的线段树都搞了 ...