根据自由软件基金会的定义,自由软件是一种可以不受限制地自由使用、复制、研究、修改和分发的软件。可以买卖。这方面的不受限制正是自由软件最重要的本质。要将软件以自由软件的形式发表,通常是让软件以“自由软件授权协议”的方式被分配发布,以及公开的软件原始码。 自由软件对全世界的商业发展有巨大的贡献。自由软件使成千上万的人的日常工作更加便利,为了满足用户的各种应用需要,它以一种不可思议的速度发展。自由软件是信息社会下以开放创新、共同创新为特点的创新2.0模式在软件开发与应用领域的典型体现。主要许可证有GPL和BSD许可证两种。

      自由软件的英文为“free software”。“free”在英文中有“自由”(freedom)、“免费”(free of charge)的双重含义,因此要如何分辨“自由软件”(free software)和“免费软件”(freeware)呢?自由软件运动的创始人——理查德·斯托曼提供了以下的定义:“free software” is a matter of liberty, not price. To understand the concept, you should think of “free” as in “free speech,” not as in “free beer”,中文译文:自由软件的重点在于自由权,而非价格。要了解其所代表的概念:你应该将“free”想成是“free speech”(言论自由)中的“free”(自由),而不是“free beer”(免费啤酒)中的“free”(免费)[1]  。更精确的说,自由软件代表电脑使用者拥有选择和任何人合作之自由、拥有掌控他们所用的软件之自由。在GNU宣言(GNU Manifesto)中包含了斯托曼在一开始对自由软件使用定义的混淆。
       大部分的自由软件都是在在线(online)发布,并且不收任何费用;或是以离线(off-line)实体的方式发行,有时会酌收最低限度的费用(例如:工本费),而人们可用任何价格来贩售这些软件。然而,自由软件与商业软件是可以共同并立存在的︰因为禁止贩卖软件是违反了自由软件的定义。

       最早的开放源代码(open source)定义是在1998年创建,来自Debian的自由软件指引。当时大多数的开放源代码软件同时也是自由软件,反之亦然。

基于自由BSD的操作系统都是使用类似自由软件的授权协议,FreeBSD、OpenBSD以及NetBSD,不同的是它们对于“Copyleft”的阐述。这些操作系统的使用者常认为“copyleft”是一种对自由的过度限制,是一种自由的侵害。

“免费软件”(freeware)是一种不须付费就可取得的软件,但是通常有其他的限制,使用者并没有使用、复制、研究、修改和分发的自由。该软件的源代码不一定会公开,也有可能会限制重制及发再行的自由,所以免费软件的重点是不需要花钱,而不是自由的软件。
自由软件基金会(FSF)对自由软件的定义首次于1989年发表。这份定义后来被布鲁斯·裴伦斯(Bruce Perens)改写为《Debian Free Software Guidelines》(DFSG,Debian自由软件指引)。


根据斯托曼和自由软件基金会(FSF)的定义,自由软件赋予使用者四种自由:

自由之零:不论目的为何,有使用该软件的自由。

自由之一:有研究该软件如何运作的自由,并且得以改写该软件来符合使用者自身的需求。取得该软件之源码为达成此目的之前提。

自由之二:有重新散布该软件的自由,所以每个人都可以借由散布自由软件来敦亲睦邻。

自由之三:有改善再利用该软件的自由,并且可以发表改写版供公众使用,如此一来,整个社群都可以受惠。如前项,取得该软件之源码为达成此目的之前提。

如果一软件的使用者具有上述四种权利,则该软件得以被称之为“自由软件”。也就是说,使用者必须能够自由地、以不收费或是收取合理的散布费用的方式、在任何时间再散布该软件的原版或是改写版在任何地方给任何人 使用。如果使用者不必问任何人或是支付任何的许可费用从事这些行为,就表示她/他拥有自由软件所赋予的自由权利。[


GPL

GNU通用公共许可证

使用者必须接受软件的‘软件授权’,才能使用该软件,而在自由软件中,最常见的授权方式就是GPL- GNU General Public License 了。

因为使用者是免费取得了自由软件的源代码,那么如果使用者修改了它的源代码,基于公平互惠的原则,使用者也必须公开其修改的成果。而这就是 GPL 的精神 - 自由、分享、互惠。

BSD

BSD license(BSD许可证)是"Berkeley Software Distribution license 的首字母缩写,是自由软件(开源软件的一个子集)中使用使用最广泛的许可证之一。BSD软件就是遵照这个许可证来发布,该许可证也因此而得名。

BSD套件最初所有者是加州大学的董事会,这是由于BSD源自伯克利加州大学。BSD开始后,BSD许可证得以修正,使得以后许多BSD变种,都采用类似风格的许可证。

跟其他许可证相比,从GNU通用公共许可证到限制重重的版权所有,BSD许可证比较宽松,甚至跟公有领域更为接近。事实上,BSD许可证被认为是copycenter,介乎copyright(版权)所有与copyleft(GPL的“反版权”)之间。"Take it down to the copy center and make as many copies as you want"。


自由软件可以自由取得,并且它的源代码可以自由修改并散布但它并不是没有版权。版权是当某项作品完成时就自然产生了,不需申请或注册。以本文为例,本文在写作的同时,作者即拥用版权,任何人皆无法剥夺。而当使用者花钱购买某套软件时,所购买的只是“使用权”,使用者必须接受该软件的“软件授权”,才能使用这个软件;而软件的原作者则仍然保有其“版权”。

封闭软件通常会使用专属的封闭格式,但这会极大地限制了使用者的自由度。而自由软件则完全不同,由于自由软件的源代码是公开的,所以它所使用的任何格式都是透明的。自由软件永远不会利用专属的封闭格式来限制使用者分发或修改的自由。

严格地说来,开放源代码(open source)软件(开源软件)与自由软件是两个不同的概念,只要符合开源软件定义的软件就能被称为开放源代码软件。自由软件是一个比开源软件更严格的概念,因此所有自由软件都是开放源代码的,但不是所有的开源软件都能被称为“自由”。但在现实上,绝大多数开源软件也都符合自由软件的定义。比如,遵守GPL和BSD许可的软件都是开放的并且是自由的。

若要具体区分,可作这数项比较︰

开放源代码的规定较宽松,而自由软件的规定较严苛。很多的开放源代码所认可的授权根本不算是自由软件,所以自由软件不得不和开放源代码划清界线了。

如果说“自由软件”会引起误解,(因为英文“free”一词有“自由”、“免费”的双重含意),那么“开放源代码”的名字会引起的误解则更多。开放源代码很容易让人以为只要把源代码“公开”出来就算是开放源代码了,但是如果使用者无法自由运用这些源代码,那么即使公开源代码也没有意义。有的软件公司只是为了想找使用者帮它除虫、帮它追踪编码,这样子会破坏了自由软件的原意。

自由软件的原意就是要给予使用者运用软件的自由,这个‘自由’就是自由软件的精神所在。但是为了商业化开放源代码却故意忽略了这个最重要的精神,反而无法让使用者体认到‘自由’的真意,那么开放源代码这一个替代自由软件的辞句反而把自由的原意除去了。

而自由软件的精神领袖理查德·马修·斯托曼也很反对人们把开放源代码和自由软件混为一谈。(请参见:《Why Free Software is better than Open Source》一文)。