| 您知道自由软件和开源软件之间的区别吗? copyleft和非copyleft程序有什么区别? 或者免费软件,共享软件和商业软件之间有什么区别? 这是其中的长篇文章之一,其中充满了定义和概念,它们无疑会帮助您组织有关自由软件的想法。 |
免费软件
自由软件是许可任何人使用,复制和分发的软件,无论是否经过修改,都可以免费或付费使用。 特别是,这意味着源代码必须可用。 “如果不是来源,那就不是软件。” 这是一个简化的定义; 另请参阅完整定义。
如果程序是免费的,则它可能包含在免费的操作系统(例如GNU或免费的GNU / Linux系统)中。
使程序免费的方法有很多:要决定的问题很多,在许多情况下是细微差别,并且可以通过各种方式解决,而不必停止程序的免费。 下面描述了一些可能的变体。 有关特定的免费软件许可证的信息,您可以查阅许可证列表。
自由软件的形容词“自由”是指自由,而不是自由。 但是,专有软件公司有时会使用“免费软件”一词来指代价格[译者注:英语中的“免费软件”被拼写为“免费软件”,“免费”一词可能意味着“免费”。或“免费”]。 在谈论免费提供的二进制副本时,他有时会使用该术语。 其他时间则用于限定新购买的计算机中包含的副本。 这与我们在GNU项目中使用自由软件的含义无关。
由于这种潜在的混乱,当软件公司声称其产品是自由软件时,明智的做法是始终检查该特定发行版的条款,以查看用户是否拥有自由软件所暗示的所有自由。 有时,它是真正的自由软件。 而其他时候则不是。
许多语言有两个不同的词表示``自由''为自由,而``自由''为零价格。 例如,法语有“ libre”和“ gratuit”这两个词[在西班牙语中,“ libre”和“ gratis”这两个词完全相同。 这在英语中不会发生,在英语中有“自由”一词,它明确地指价格,但没有一个明确地指自由的共同形容词。 因此,如果您使用英语以外的其他语言,建议您将“免费”一词从“免费软件”翻译成您的语言,以使其更清晰。 请参阅我们将“自由软件”一词翻译成其他语言的清单。
自由软件通常比非自由软件更可靠。
开源软件
许多人使用“开源”软件一词来指的是与自由软件大致相同的类别。 但是,它们不是完全相同的软件类型:它们接受某些我们认为过于严格的许可证,并且有一些他们尚未接受的免费软件许可证。 但是,这两个类别所涵盖的差异很少:几乎所有的免费软件都是开源的,几乎所有的开源软件都是免费的。
我们更喜欢“自由软件”一词,因为它指的是自由,而“开源”一词则没有。
公共领域软件
公共领域的软件是不受版权保护的软件。 这是自由软件不受版权保护的特殊情况,这意味着某些副本或修改版本可能不是完全免费的。
在某些情况下,可执行程序可能在公共领域中,而其源代码不可用。 该软件不是免费软件,因为要使其免费,必须访问源代码。 就其本身而言,大多数自由软件不是公共领域的软件; 它受版权保护,版权所有者已获得法律许可,允许任何人使用免费软件许可自由使用它。
有时,“公共领域”一词被广泛使用以表示“免费”或“免费提供”。 但是,“公共领域”是一个法律术语,确切地意味着“没有版权”。 为了尽可能清楚,我们建议使用“公共领域”仅表示此含义,并建议使用其他表达方式来传达其相应的含义。
根据大多数国家/地区签署的《伯尔尼公约》,任何新著作都会自动获得版权。 这包括程序。 因此,如果您希望编写的程序属于公共领域,则必须遵循某些法律程序,以避免自动将版权添加到该程序中。
Copyleft受保护的软件
受Copyleft保护的软件是自由软件,其分发条款确保所有版本的所有副本均为自由软件。 例如,这意味着,Copyleft许可证不允许第三方添加任何其他要求(除了为增强保护而提供的一组有限要求之外),并且要求源代码是公开的。 一些Copyleft许可证(例如GPL的第三版)阻止了其他使软件专有的方法。
在GNU项目中,我们几乎保留了所编写的所有软件,因为我们的目标是为每个用户提供“自由软件”一词所暗示的自由。 有关Copyleft的工作原理以及使用原因的进一步说明,请参见Copyleft保护。
Copyleft是一个一般概念; 要实际复制一个程序,您需要使用一组特定的发行条款。 有许多可能的方式来编写copyleft发行条款,因此原则上可能存在许多copyleft自由软件许可证。 但是,实际上,几乎所有的copyleft软件都使用GNU通用公共许可证。 通常,两个不同的copyleft许可证是“不兼容的”,这意味着组合受这些许可证保护的代码是非法的。 因此,如果他们都使用单个copyleft许可证,对社区将是一件好事。
自由软件不受版权保护
不受copyleft保护的自由软件包括作者对重新分发和修改软件的许可,以及添加其他限制的许可。
程序是免费的,但不受copyleft保护,这一事实意味着该程序的某些副本或修改版本可能不是完全免费的。 软件公司可以编译该程序(进行或不进行修改),然后将可执行文件作为专有软件产品进行分发。
X Window系统就是一个例子。 Consortium X发行的X11具有发行条款,使其成为非Copyleft自由软件。 如果愿意,您可以获取具有这些分发条款且免费的副本。 但是,也有非免费版本,并且存在流行的工作站和PC图形卡,其中只有非免费版本可以工作。 如果您使用此硬件,则X11不是适合您的免费软件。 甚至X11开发人员自己也曾经制作过X11非免费软件。
GPL涵盖的软件
GNU通用公共许可证(GPL)是一组特定的分发条款,用于保护Copyleft程序。 GNU项目使用此许可证来分发大多数GNU软件。
GNU系统
GNU系统是类Unix的操作系统,完全由自由软件组成,我们从1984年开始在GNU Project中开发。
类似Unix的操作系统由许多程序组成。 GNU系统包括所有GNU软件,以及许多其他非GNU软件的软件包,例如X Window System和TeX。
完整GNU系统的第一个试用版于1996年推出。其中包括自1990年以来开发的内核GNU Hurd。2001年,GNU系统(包括GNU Hurd)开始相当可靠地工作,但是Hurd它仍然缺少一些重要功能,因此并未得到广泛使用。 同时,自1990年代以来,GNU / Linux系统是使用Linux作为内核而不是GNU Hurd的GNU系统的派生产品,已经非常成功。
由于GNU的目的是成为一个自由系统,因此其每个组成部分都必须是自由软件。 但是,并非所有人都必须受到copyleft的保护; 从法律上讲,如果可以帮助实现建议的技术目标,则可以包括任何类型的免费软件。 而且,每个组件不必单独是GNU软件。 GNU系统可以而且确实包括不受版权保护的自由软件,例如在其他项目中开发的X Window System。
GNU程序
表达式“ GNU程序”等效于GNU软件。 如果Y程序是GNU软件(GNU Project软件),则它是GNU程序。 有时我们说这是一个“ GNU软件包”。
GNU软件
GNU软件是在GNU项目的主持下发布的软件。 我们也将程序称为GNU软件或GNU软件包。 README文件或GNU软件包手册应指出该文件; 此外,自由软件目录标识所有GNU软件包。
大多数GNU软件都受版权保护,但不是全部。 但是,所有GNU软件都必须是免费软件。
一些GNU软件是由自由软件基金会的工作人员编写的,但是大多数软件是由志愿者贡献的。 在由志愿者提供的软件中,版权的所有者有时是自由软件基金会,而有时则是编写它的贡献者。
软件不是免费的
非自由软件是指任何非自由软件。 这包括半自由软件和专有软件。
半免费软件
半免费软件是非免费的软件,但允许个人出于非营利目的使用,复制,分发和修改它(包括分发经修改的版本)。 PGP是半自由程序的示例。
从伦理上讲,半自由软件比专有软件要好得多,但是它仍然存在一些问题,使我们无法在自由操作系统上使用它。
Copyleft限制旨在保护所有用户的基本自由。 对我们来说,使用程序唯一合理的实质性限制是可以防止其他人增加限制的行为。 半免费程序具有纯粹出于自私目的的其他限制。
在自由操作系统中不可能包含半自由软件。 这是因为整个免费操作系统的发行条款是组成它的所有程序的发行条款的结合。 向系统中添加半自由程序将使整个系统成为半自由程序。 我们不希望发生这种情况有两个原因:
我们认为,免费软件应该适用于包括公司在内的每个人,而不仅仅是学校或私人休闲活动。 我们希望邀请公司使用完整的GNU系统,因此我们不应该在其中包含半免费程序。
免费操作系统(包括GNU / Linux系统)的商业发行非常重要,并且用户欣赏CD-ROM上商业发行的可用性。 在操作系统中包含半自由程序将阻止其在CD-ROM上进行商业分发。
自由软件基金会本身不是商业实体,因此可以在法律上“内部”使用半免费程序。 但这并没有,因为这会对我们获取可以包含在GNU系统中的程序的努力产生负面影响。
只要有一项需要用软件完成的任务,而您没有要执行的程序,那么GNU系统就会短缺。 我们应该对志愿者说:“在GNU项目中,我们还没有程序来完成这项工作,所以我们希望您能编写它。” 如果我们使用半自由程序来完成该任务,那么我们会抹黑自己所说的话。 这样一来,我们(以及我们那些可以分享我们观点的人)撰写自由替代方案的动力就会丧失。 因此,我们没有。
专有软件
专有软件是既不免费也不是半免费的软件。 禁止使用,重新分发或修改它们,要求您请求授权或受其限制,以至于您实际上不能自由地这样做。
自由软件基金会遵循的规则是,我们只能在临时安装专有程序的情况下才能在计算机上安装专有程序,目的是为该程序编写免费替代方案。 除了这种特定情况外,我们认为没有任何借口可以安装专有程序。
例如,我们认为1980年代在计算机上安装Unix是合理的,因为我们正在使用它来编写Unix本身的免费替代方案。 当前,考虑到有可用的免费操作系统,此借口不再有效; 我们已经淘汰了所有非自由操作系统; 在任何新计算机上,我们都安装了完全免费的操作系统。
我们不坚持GNU用户或贡献者遵守此标准。 我们为自己创建此标准。 但是我们希望他们也决定跟随她。
免费软件
术语“免费软件”没有明确的公认定义,但通常用于表示可以分发但不能修改(并且其源代码不可用)的程序包。 这些软件包不是免费软件。 因此,请勿使用术语“免费软件”来指代自由软件。
共享软件
共享软件是允许重新分发副本的软件,但是对于使用的每个副本,用户必须支付许可费。
共享软件不是免费软件,甚至不是半免费的。 这样做是出于两个原因:
对于大多数共享软件,源代码不可用。 因此,您不能以任何方式修改程序。
即使没有使用共享软件进行非营利活动的个人,也无法复制和安装共享软件而无需支付许可费用(实际上,用户经常忽略分发条款,而在无论如何,但这些条款不允许这样做)。
私人软件
私人或定制软件是为一个用户(通常是组织或公司)开发的软件。 该用户拥有并使用它,并且不会以源代码或二进制形式将其发布给公众。
如果私有程序的唯一用户拥有全部权利,那么私有程序在某种意义上就是自由软件。 但是,在更深入地考虑这个问题时,这种程序是否免费的问题失去了意义。
通常,我们不认为开发程序而不发布程序是错误的。 有时,某个程序非常有用,以至于自己ho积它会对人类有害。 但是,大多数程序并不是那么出色,并且不发布它们也不是特别有害。 因此,私有或定制软件开发与自由软件运动的原理之间没有冲突。
几乎所有的程序员聘用都是用于定制软件开发。 因此,大多数编程工作是以或可以与自由软件运动兼容的方式完成的。
商业软件
商业软件是指打算从使用中获利的企业开发的软件。 “商业”和“专有”不一样! 大多数商业软件是专有的,但是有商业免费软件,也有非商业非自由软件。
例如,GNU Ada始终按照GNU GPL的条款进行分发,并且其每个副本都是免费软件。 但是,其开发人员签订了维护合同。 感兴趣的客户有时会对供应商说:“我们对商用编译器会更有信心。” 对此厂商答复:“来自GNU的Ada是商业编译器; 特别是它也是免费软件»。
对于GNU项目,重点放在另一个层次上:重要的是GNU的Ada是自由软件。 是否商业化不是关键问题。 但是,GNU Ada商业化所带来的进一步发展无疑是有益的。
请帮助传播一个说法,即可以使用商业免费软件。 您可以通过在您的意思是“专有”时尽量不说“商业”来做到这一点。
数据来源: 自由软件基金会 (FSF)