自由软件
自由軟體（），根據自由軟體基金會对其的定義，是一类可以不受限制地自由使用、複製、研究、修改和分發的，尊重使用者自由的軟體。這方面的不受限制正是自由軟體最重要的本質，與自由軟體相對的是专有软件（，一些人也会将其翻译为私有軟體、封閉軟體），后者的定義與是否收取費用無關，事实上，自由軟體不一定是免費軟體，同时自由软件本身也并不抵制商业化。自由軟體受到選定的「自由軟體授權協議」保護而發佈（或是放置在公有領域），其發布以原始碼為主，二進制檔案可有可無。
自由软件对全世界的商业发展特別是硬件有巨大的贡献，多數嵌入式设备系统厂商鉴于自身无需支付授權費用和实用性方面的原因考虑也会在自由软件的基础上开发操作系统。世界上绝大多數操作系统多少都会包含有自由軟件组件（例如BSD的TCP/IP协议栈广泛被包括MacOS，Windows在内的专有商业操作系统使用）。隨著越來越多的自由軟體支援 Microsoft Windows 平台，還有得益於 Android 平台的普及，目前有上億的用戶在日常生活或工作中使用自由軟體。
自由軟件直接使用者往往是计算机方面的专业人士，或者有能力理解和改變原始碼的人。隨着Ubuntu，Manjaro 等对普通用户更友好的 GNU/Linux 操作系统的普及，普通用户也能在缺少相关知识的情况下开箱即用。
大多数自由软件都使用类似的自由软件许可证，使用最多的自由软件许可如下
自由軟體的英文為「」。在英文里「""」一詞有「自由」、「免費」的雙重含意，对于如何区分自由軟體（）和免費軟體（），自由軟體運動社区的創始人——-{zh-hans:理查德·斯托曼; zh-hant:里查·史托曼;}-做出了以下的定義：“自由軟體的重點在於自由權，而非價格。要了解其所代表的概念，你應該將「free」想成是「言論自由」一词中的含义，而不是「免費啤酒」一词中的含义。”自由軟體代表用户可以自由地运行、拷贝、分发、学习、修改并改进该软件。自由软件的定义可以追溯至GNU宣言。
大部分自由軟體都在互聯網上自由發佈，往往不收取任何費用。一些或是以離線實體的方式發行，有時會酌情收取的費用（例如：工本費和運輸費），而人們可用任何價格來販售這些軟體。所以，自由軟體也可以是商業軟體：因為自由软件许可证并不限制販賣軟體或者提供商业服务，这些并没有違反例如GPL等自由軟體许可证。因此，“自由软件”是关乎自由的问题，与价格无关，软件如何定价并不影响它是否被归类为自由软件。
自由軟體基金會（FSF）對自由軟體的定義首次於1989年發表。這份定義後來被布魯斯·裴倫斯（Bruce Perens）改寫為《Debian自由软件指导方针》。
根據斯托曼和自由軟體基金會（FSF）的定義，自由软件赋予使用者四种自由:
如果一软件的使用者具有上述四种权利，则该软件得以被称之为「自由软件」。也就是说，使用者必须能够自由地、以不收费或是收取合理的散布费用的方式、在任何时间再散布该软件的原版或是改写版，在任何地方给任何人使用。如果使用者不必问任何人或是支付任何的许可费用从事这些行为，就表示其拥有自由软件所赋予的自由权利。
大部分的自由軟體可以无需费用自由获取，並且它的原始碼可以自由修改並散佈，但它並不是沒有版权。版权是當某項作品完成時就自然產生了，不需申請或註冊，而其内涵通常包括署名、发表（公开）、授予他人使用等权利。如合法享有著作权者无条件放弃所有著作权，则该作品就被“释入公有领域”。需要注意的是，被释入公有领域后，原著作权持有者就无法再对其他人如何使用该作品施加任何法律上的限制。因此科技巨头可以合法地使用该等作品进行二次创作（例如制作新软件），而该等二次创作品则在法律上享有完整的著作权，不受原著作权持有者的支配。
这并不符合自由软件的定义。自由软件必须能将“自由”无限传承下去。因此自由软件并未“释入公有领域”，而是将“传承自由属性”作为一项允许他人使用自由软件的条件。如任何人使用了自由软件二次开发的软件未向他人开放原始码，则其对该自由软件的二次开发，即属违反著作权法。因此，自由軟體在法律上并未放弃著作权，而是订明了若干“自由”的定义，并要求使用者如欲行使这些自由，必须对衍生作品維持相同授權。
相反的例子是非自由软件（封闭软件）。如果，當使用者付费購買或者免费获得某套軟體時，所得到的只是“使用權”，使用者必須接受該軟體的软件许可证才能使用這個軟體；而许可证列明軟體的原作者則仍然保有修改权，未经原作者同意进行修改属违反许可证之行为，则该等软件属于封闭软件。请注意，自由软件也有许可证，常见的如GNU通用公共许可证，但这些许可证不会限制你获取原始码或者限制你修改软件，唯一的要求是你对修改后的软件必须应用同样的或更宽松的许可证。即你修改后形成的新软件，其他人也可以获取其原始码并修改，你不得限制他们这样做，否则你当初的修改行为就因不符合GNU通用公共许可证而构成侵犯（之前参与编写这个软件的人所享有的）著作权。
封閉軟體通常會使用專屬的封閉格式，并且不允许使用者分发，這極大地限制了使用者的自由。而自由軟體則完全不同，由於自由軟體的原始碼是公開的，所以它所使用的任何格式都是透明的。自由軟體永遠不會只发布專屬的封閉格式软件來限制使用者修改的自由。
自由軟體的精神領袖是理查德·马修·斯托曼。他被人稱為「最後的真正黑客」，他認為一個好的軟體，应该自由自在地讓人取用。軟體不應該拿來做為相互傾軋、剝削的工具。所以他起草GNU通用公共许可证來保障自由軟體的自由，並創辦了自由軟體基金會來貫徹他的理念。领袖们有时被称作终身仁慈独裁者。
最早的開放源代碼定義是在1998年創建，來自Debian自由软件指导方针。虽然大多數的開放原始碼軟體同時也是自由軟體，但是，GNU项目认为“开源”这个词并没有抓住自由软件的真正涵义，容易让人过于着重軟件的质量、流行与成功而忽视或抛弃自由软件精神的道德观和社会价值，力主自由软件是一个道德底线。
FreeBSD、OpenBSD以及NetBSD的社群人员往往認為「Copyleft」是一種對自由的過度限制，是一種自由的侵害，因此他们倾向于使用较为宽松的BSD、MIT类似的协议，然而这类协议因为缺少相关的说明并不能避免其成果被专利流氓利用。一些公司/群体为了避免专利流氓的侵害而且也不想使用例如GPLv3、MPL2.0等Copyleft协议的情况下会选择使用Apache2.0协议。
对于BSD、MIT这类较为宽松的自由软件协议，GNU项目认为这是对专有软件的松懈（）和宽容式（），因为这些协议不能避免其衍生作品成为限制用户自由的专有软件，一旦你允許他們這麼做，那麼你就無法捍衛其他人的自由了。，例如FreeBSD在PlayStation 4系统软件的使用以及BSD的TCP/IP协议栈在专有软件的使用等。
开源软件與自由軟體是兩個不同的概念，-{只}-要符合开源软件定义的软件就能被称为开源软件。而自由软件有比開源软件更严格的概念，因此所有自由软件都是开放源代码的，但不是所有的開源软件都能被称为「自由」。但一般，绝大多数开源软件也都符合自由软件的定义。自由軟體的精神領袖理查德·马修·斯托曼很反對人們把開放原始碼和自由軟體混為一談。。
自由及开放源代码软件列表 免費軟體（）是一種不須付費就可取得的軟體，但是通常有其他的限制，使用者並沒有使用、複製、研究、修改和分發的自由。該軟體的原始碼不一定會公開，有些免费软件即使所谓开源但是因为有會限制用户软件自由如限制用户修改重分发或者限定/限制特定人群使用等行为的限制性条款存在并不是自由软件。
是一种限制软件自由的行为，即通过检测可执行文件签名，禁止用户安装或运行修改后的可执行文件，这种行为被 Richard Stallman 称为“专制暴君”()。这个名字源自于Tivo公司在其数字视频录像机的产品中使用了GNU和Linux内核的源码但是其从设计上限制了用户的软件自由，用户不能在其产品上自由运行和使用修改后的系统。因此自由软件基金会出版了GPLv3，GNU项目软件的授权协议也随之升级，然而因为各种因素很多Linux内核开发者对升级表示反对。
数字限制管理（）或数字限制机制（）是自由软件社群对数字版权管理的一种讽刺性说法，因为这种行为限制了用户的软件自由权利。自由软件基金会针对此种从设计上就限制用户软件自由的行为发起了Defective By Design运动。
JavaScript陷阱（）指用户在浏览器中使用专有软件却毫不知情的现象，RMS在GNU项目网站上给出了具体的定义。
为了解决这个问题，GNU项目创造了提供探测并拦截用户访问的网页上非自由、非平凡的JavaScript功能的给重视软件自由的用户使用。一些自由软件社群，为了解决此类问题也作出了一些努力，例如由自由软件基金会支持的为此专门成立了行动小组。