自由软件
维基百科,自由的百科全书
自由软件,根據自由軟體基金會的定義,是一種可以不受限制地自由使用、複製、研究、修改和分發的軟體。這方面的不受限制正是自由軟體最重要的本質,與自由軟體相對的是非自由軟體(proprietary software),也常被稱為私有軟體、封閉軟體(其定義與是否收取費用無關)。要將軟體以自由軟體的形式發表,通常是讓軟體以「自由軟體授權協議」的方式被分配發佈(或是放置在公共領域),以及公開的軟體代码。 自由软件对全世界的商业发展有巨大的贡献。 从装饰性的绸带的制造者到从事研究的科学家, 自由软件使成千上万的人的日常工作更加便利, 为了满足用户的各种应用需要,它以一种不可思议的速度发展。
目录 |
[编辑] 使用定義
自由軟體的英文為「free software」,「free」一詞有「自由」、「免費」的雙重含意,因此要如何分辨自由軟體(libre)和免費軟體(gratis)?自由軟體運動的創始人——理查德·斯托曼提供了以下的定義:『自由軟體的重點在於自由權,而非價格。要了解其所代表的概念,你應該將「自由」想成是「自由演講」,而不是「免費啤酒」』。[1]更精確的說,自由軟體代表電腦使用者擁有選擇和任何人合作之自由、擁有掌控他們所用的軟體之自由。在GNU宣言(GNU Manifesto)中包含了斯托曼在一開始對自由軟體使用定義的混淆。
大部分的自由軟體都是在線上(online)發佈,並且不收任何費用;或是以離線(off-line)實體的方式發行,有時會酌收最低限度的費用(例如:工本費),而人們可用任何價格來販售這些軟體。然而,自由軟體與商業軟體是可以共同並立存在的︰因為禁止販賣軟體是違反了自由軟體的定義。
最早的開放源代碼(Open source)定義是在1998年創建,來自Debian的自由軟體指引。當時大多數的開放源代碼軟體同時也是自由軟體,反之亦然。
基於自由BSD的作業系統都是使用類似自由軟體的授權協議,FreeBSD、OpenBSD以及NetBSD,不同的是它們對於「Copyleft」的闡述。這些作業系統的使用者常認為「Copyleft」是一種對自由的過度限制,是一種自由的侵害。
「免費軟體」(freeware)是一種不須付費就可取得的軟體,但是通常有其他的限制,使用者並沒有使用、複製、研究、修改和分發的自由。該軟體的源代碼不一定會公開,也有可能會限制重製及發再行的自由,所以免費軟體的重點是不需要花錢,而不是自由的軟體。
自由軟體基金會(FSF)對免費軟體的定義首次於1989年發表[1]。這份定義後來被布魯斯·裴倫斯(Bruce Perens)改寫為《Debian Free Software Guidelines》(DFSG,Debian自由軟體指引)。
[编辑] 自由軟體授權
根據斯托曼和自由軟體基金會(FSF)的定義,自由软件赋予使用者四种自由:
- 自由之零:不论目的为何,有使用该软件的自由。
- 自由之一:有研究该软件如何运作的自由,并且得以改写该软件来符合使用者自身的需求。取得该软件之源码为达成此目的之前提。
- 自由之二:有重新散布该软件的自由,所以每个人都可以藉由散布自由软件来敦亲睦邻。
- 自由之三: * 有改善再利用该软件的自由,并且可以发表改写版供公众使用,如此一来,整个社群都可以受惠。如前项,取得该软件之源码为达成此目的之前提。
如果一软件的使用者具有上述四种权利,则该软件得以被称之为「自由软件」。也就是说,使用者必须能够自由地、以不收费或是收取合理的散布费用的方式、在任何时间再散布该软件的原版或是改写版 在任何地方给任何人 使用。如果使用者不必问任何人或是支付任何的许可费用从事这些行为,就表示她/他拥有自由软件所赋予的自由权利。
[编辑] GPL
- 主條目:GNU通用公共许可证
使用者必須接受軟體的『軟體授權』,才能使用該軟體,而在自由軟體中,最常見的授權方式就是 GPL - GNU General Public License 了。
因為使用者是免費取得了自由軟體的源代碼,那麼如果使用者修改了它的源代碼,基於公平互惠的原則,使用者也必須公開其修改的成果。而這就是 GPL 的精神 - 自由、分享、互惠。
[编辑] BSD许可证
- 主條目:BSD许可证
BSD license(BSD许可证)是"Berkeley Software Distribution license 的首字母缩写,是自由软件(开源软件的一个子集)中使用使用最广泛的许可证之一。BSD软件就是遵照这个许可证来发布,该许可证也因此而得名。
BSD套件最初所有者是加州大學的董事会,这是由于BSD源自柏克萊加州大學。BSD开始后,BSD许可证得以修正,使得以后许多BSD变种,都采用类似风格的许可证。
跟其他许可证相比,从GNU通用公共许可证到限制重重的版權所有,BSD许可证比较宽松,甚至跟公有領域更为接近。事实上,BSD许可证被认为是copycenter(中间版权),界乎标准的版權所有与GPL的版權屬左之间。"Take it down to the copy center and make as many copies as you want"。[2]
[编辑] 自由軟體並不是沒有版權
自由軟體可以免費取得,並且它的源代碼可以自由修改並散佈但它並不是沒有版權。版權是當某項作品完成時就自然產生了,不需申請或註冊。以本文為例,本文在寫作的同時,作者即擁用版權,任何人皆無法剝奪。而當使用者花錢購買某套軟體時,所購買的只是『使用權』,使用者必須接受該軟體的『軟體授權』,才能使用這個軟體;而軟體的原作者則仍然保有其『版權』。
[编辑] 自由軟體並不使用封閉格式
封閉軟體通常會使用專屬的封閉格式,但這會極大地限制了使用者的自由度。而自由軟體則完全不同,由於自由軟體的源代碼是公開的,所以它所使用的任何格式都是透明的。自由軟體永遠不會利用專屬的封閉格式來限制使用者分發或修改的自由。
[编辑] 自由軟體的精神領袖
自由軟體的精神領袖是理查德·马修·斯托曼。他被人稱為『最後的真正駭客』,他認為一個好的軟體,便該自由自在的讓人取用。軟體不應該拿來做為相互傾軋、剝削的工具。所以他起草GNU通用公共许可证來保障自由軟體的自由,並創辨了自由軟體基金會來貫徹他的理念。
[编辑] 開放源代碼軟件與自由軟件
嚴格地說來,開放源代碼(open source)軟件(开源軟件)與自由軟件是兩個不同的概念,只要符合开源軟件定義的軟件就能被稱為開放源代碼軟件。自由軟件是一個比开源軟件更嚴格的概念,因此所有自由軟件都是開放源代碼的,但不是所有的开源軟件都能被稱為「自由」。但在現實上,絕大多數开源軟件也都符合自由軟件的定義。比如,遵守GPL和BSD許可的軟件都是開放的並且是自由的。
若要具體區分,可作這數項比較︰
- 開放源代碼的規定較寬鬆,而自由軟件的規定較嚴苛。很多的開放源代碼所認可的授權根本不算是自由軟件,所以自由軟件不得不和開放源代碼劃清界線了。
- 如果說「自由軟件」會引起誤解,(因為英文「Free」一詞有「自由」、「免費」的雙重含意),那麼「開放源代碼」的名字會引起的誤解則更多。開放源代碼很容易讓人以為只要把源代碼「公開」出來就算是開放源代碼了,但是如果使用者無法自由運用這些源代碼,那麼即使公開源代碼也沒有意義。有的軟體公司只是為了想找使用者幫它除蟲、幫它追縱編碼,這樣子會破壞了自由軟件的原意。
- 自由軟件的原意就是要給予使用者運用軟體的自由,這個『自由』就是自由軟件的精神所在。但是為了商業化開放源代碼卻故意忽略了這個最重要的精神,反而無法讓使用者體認到『自由』的真意,那麼開放源代碼這一個替代自由軟件的辭句反而把自由的原意除去了。
而自由軟體的精神領袖理查德·马修·斯托曼也很反對人們把開放源代碼和自由軟件混為一談。(請參見:《Why Free Software is better than Open Source》一文)。
[编辑] 注釋
- ↑ 原文如下: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'
- ↑ 引用自:http://catb.org/~esr/jargon/html/C/copycenter.html