自由软件

自由软体（free software）是允许使用者自由地使用、复制、研究、修改和分发的软体。
用户.
自由软件对全世界的商业发展（特别是硬件）有巨大的贡献。
多数嵌入式设备系统厂商，鉴于自身无需支付授权费用和实用性方面的原因考虑，也会在自由软件的基础上开发操作系统。
世界上绝大多数操作系统多少包含有自由软件组件，例如BSD的TCP/IP协议栈广泛，被包括MacOS，Windows在内的专有商业操作系统使用。
随著越来越多的自由软体支援 Microsoft Windows 平台，还有得益于 Android 平台的普及，目前有上亿的用户在日常生活或工作中，使用自由软体。
自由软件直接使用者，往往是计算机方面的专业人士，或者有能力理解、改变原始码的人。随着Ubuntu，Manjaro 等对普通用户更友好的 GNU/Linux 操作系统的普及，普通用户也能在缺少相关知识的情况下开箱即用。
自由软件许可证.
大多数自由软件都使用类似的自由软件许可证，使用最多的自由软件许可如下
意义与历史.
自由软体的英文为「free software」；在英文里「"free"」一词有「自由」、「免费」的双重含意。
自由软件的定义可以追溯至GNU宣言，代表用户可以自由地运行、拷贝、分发、学习、修改，并改进该软件。对于如何区分自由软体（libre）和免费软体（gratis），自由软体运动社区的创始人-{zh-hans:理查德·斯托曼; zh-hant:里查·史托曼;}-做出了以下的定义：“自由软体的重点在于自由权，而非价格。要了解其所代表的概念，你应该将「free」想成是「言论自由」（"free" speech）一词中的含义，而不是「免费啤酒」（"free" beer）一词中的含义。”大部分自由软体都在互联网上自由发布，往往不收取任何费用。一些或是以离线实体的方式发行，有时会酌情收取的费用（例如：工本费和运输费），而发行者及所有使用者可用任何价格，贩售、分发这些软体。
自由软体可以是商业软体，也不禁止商业化，因其许可证并不限制贩卖软体、自由地研究、修改和分发，或者提供商业服务，这些并没有违反GPL等自由软体许可证；如何定价，并不影响它是否被归类为自由软件。
自由软体受到选定的自由软体授权协议保护而发布（或是放置在公有领域），其发布以原始码为主，二进制档案可有可无。
自由软体的定义.
自由软体基金会（FSF）对自由软体的定义首次于1989年发表，后来被布鲁斯·裴伦斯改写为《Debian自由软件指导方针》。
根据斯托曼和自由软体基金会（FSF）的定义，自由软件赋予使用者四种自由:
如果一软件的使用者具有上述四种权利，则该软件得以被称之为「自由软件」。
也就是说，使用者必须能够自由地、以不收费或是收取合理的散布费用的方式、在任何时间再散布该软件的原版或是改写版，在任何地方给任何人使用。如果使用者不必问任何人或是支付任何的许可费用从事这些行为，就表示其拥有自由软件所赋予的自由权利。
自由软体不是没有版权.
大部分的自由软体可以无需费用自由获取，并且它的原始码可以自由修改并散布，但它并不是没有版权；自由软体在法律上并未放弃著作权，而是订明了若干“自由”的定义，并要求使用者如欲行使这些自由，必须对衍生作品维持相同授权。
版权是当某项作品完成时就自然产生了，不需申请或注册，而其内涵通常包括署名、发表（公开）、授予他人使用等权利。
如合法享有著作权者无条件放弃所有著作权，则该作品就被“释入公有领域”。需要注意的是，被释入公有领域后，原著作权持有者就无法再对其他人如何使用该作品施加任何法律上的限制。因此，科技巨头可以合法地使用该等作品，进行二次创作（例如制作新软件），而该等二次创作品则在法律上享有完整的著作权，不受原著作权持有者的支配。
然而，这并不符合自由软件的定义。自由软件必须能将“自由”无限传承下去。因此自由软件并未“释入公有领域”，而是将“传承自由属性”作为一项允许他人使用自由软件的条件。如任何人使用了自由软件二次开发的软件，未向他人开放原始码，则其对该自由软件的二次开发，即属违反著作权法。
相反的例子是非自由软件（封闭软件）。如果，当使用者付费购买或者免费获得某套软体时，所得到的只是“使用权”，使用者必须接受该软体的软件许可证，才能使用这个软体；而许可证列明软体的原作者则仍然保有修改权，未经原作者同意进行修改属违反许可证之行为，则该等软件属于封闭软件。
请注意，自由软件也有许可证，常见的如GNU通用公共许可证，但这些许可证不会限制你获取原始码或者限制你修改软件，唯一的要求是你对修改后的软件，必须应用同样的或更宽松的许可证。即你修改后形成的新软件，其他人也可以获取其原始码并修改，你不得限制他们这样做，否则你当初的修改行为就因不符合GNU通用公共许可证，而构成侵犯（之前参与编写这个软件的人所享有的）著作权。
自由软体不使用封闭格式.
封闭软体通常会使用专属的封闭格式，并且不允许使用者分发，这极大地限制了使用者的自由。
自由软体则完全不同；由于自由软体的原始码是公开的，所以它所使用的任何格式都是透明的。自由软体永远不会只发布专属的封闭格式软件，限制使用者修改的自由。
自由软体的精神领袖.
自由软体的精神领袖是理查德·马修·斯托曼，被人称为「最后的真正黑客」，认为一个好的软体，应该自由自在地让人取用。
软体不应该拿来做为相互倾轧、剥削的工具，所以他起草GNU通用公共许可证，保障自由软体的自由，并创办了自由软体基金会，贯彻他的理念；领袖们有时被称作终身仁慈独裁者。
自由软件与开源软件.
最早的开放源代码定义是在1998年创建，来自Debian自由软件指导方针。虽然大多数的开放原始码软体同时也是自由软体，但是，GNU项目认为“开源”这个词并没有抓住自由软件的真正涵义，容易让人过于着重软件的质量、流行与成功而忽视或抛弃自由软件精神的道德观和社会价值，力主自由软件是一个道德底线。
FreeBSD、OpenBSD以及NetBSD的社群人员往往认为「Copyleft」是一种对自由的过度限制，是一种自由的侵害，因此他们倾向于使用较为宽松的BSD、MIT类似的协议，然而这类协议因为缺少相关的说明并不能避免其成果被专利流氓利用。一些公司/群体为了避免专利流氓的侵害而且也不想使用例如GPLv3、MPL2.0等Copyleft协议的情况下会选择使用Apache2.0协议。
对于BSD、MIT这类较为宽松的自由软件协议，GNU项目认为这是对专有软件的松懈（lax）和宽容式（permissive），因为这些协议不能避免其衍生作品成为限制用户自由的专有软件，一旦你允许他们这么做，那么你就无法捍卫其他人的自由了。，例如FreeBSD在PlayStation 4系统软件的使用以及BSD的TCP/IP协议栈在专有软件的使用等。
形式上的差异.
开源软件与自由软体是两个不同的概念，-{只}-要符合开源软件定义的软件，就能被称为开源软件。
而自由软件有比开源软件更严格的概念，因此所有自由软件都是开放源代码的，必然是开源软体。
但不是所有的开源软件都能被称为「自由」。但一般，绝大多数开源软件也都符合自由软件的定义。
两者内涵的差异.
自由软体的精神领袖理查德·马修·斯托曼很反对人们把开放原始码和自由软体混为一谈。。
自由软件与免费软件.
自由及开放源代码软件列表
免费软体（freeware）是一种不须付费就可取得的软体，但是通常有其他的限制。
该软体的原始码不一定会公开；有些免费软件即使所谓开源，但是因为有会限制用户软件自由，如限制用户修改、重新分发或者限制特定人群使用等行为的限制性条款存在，并不是自由软件。
Tivo化.
这个名字源自于Tivo公司在其数字视频录像机的产品中，使用了GNU和Linux内核的源码，但是其从设计上限制了用户的软件自由；用户不能在其产品上自由运行、使用修改后的系统。
因此，自由软件基金会出版了GPLv3，GNU项目软件的授权协议也随之升级。然而，因各种因素，很多Linux内核开发者反对升级。
数字限制管理.
数字限制管理（Digital Restrictions Management）或数字限制机制（Digital Restrictions Mechanisms）是自由软件社群对数字版权管理的一种讽刺性说法，因这种行为限制了用户的软件自由权利。
自由软件基金会针对此种从设计上就限制用户软件自由的行为，发起了Defective By Design运动。
JavaScript陷阱.
JavaScript陷阱（The JavaScript Trap）指用户在浏览器中使用专有软件，却毫不知情的现象，RMS在GNU项目网站上给出了具体的定义。
为了解决这个问题，GNU项目创造了提供探测并拦截用户访问的网页上非自由、非平凡的JavaScript功能的GNU LibreJS，给重视软件自由的用户使用。
一些自由软件社群，为了解决此类问题，也作出了一些努力，例如由自由软件基金会支持的为此专门成立了行动小组。