自由软件,根據自由軟體基金會的定義,是一種可以不受限制地自由使用、複製、研究、修改和分發的軟體。這方面的不受限制正是自由軟體最重要的本質,與自由軟體相對的是非自由軟體(proprietary software),也常被稱為私有軟體、封閉軟體(其定義與是否收取費用無關)。要將軟體以自由軟體的形式發表,通常是讓軟體以「自由軟體授權協議」的方式被分配發佈(或是放置在公共領域),以及公開的軟體原始碼。
使用定義 根據斯托曼和自由軟體基金會(FSF)的定義,自由软件赋予使用者四种自由: 如果一软件的使用者具有上述四种权利,则该软件得以被称之为「自由软件」。也就是说,使用者必须能够自由地、以不收费或是收取合理的散布费用的方式、在任何时间再散布该软件的原版或是改写版,在任何地方给任何人使用。如果使用者不必问任何人或是支付任何的许可费用从事这些行为,就表示她/他拥有自由软件所赋予的自由权利。
自由之零:不论目的为何,有使用该软件的自由。 自由之一:有研究该软件如何运作的自由,并且得以改写该软件来符合使用者自身的需求。取得该软件之源码为达成此目的之前提。 自由之二:有重新散布该软件的自由,所以每个人都可以藉由散布自由软件来敦亲睦邻。 自由之三: * 有改善再利用该软件的自由,并且可以发表改写版供公众使用,如此一来,整个社群都可以受惠。如前项,取得该软件之源码为达成此目的之前提。 自由軟體授權主条目:GNU通用公共许可证 使用者必須接受軟體的『軟體授權』,才能使用該軟體,而在自由軟體中,最常見的授權方式就是 GPL - GNU General Public License 了。 因為使用者是免費取得了自由軟體的源代碼,那麼如果使用者修改了它的源代碼,基於公平互惠的原則,使用者也必須公開其修改的成果。而這就是GPL的精神──自由、分享、互惠。 GPL主条目:BSD许可证 BSD许可证(Berkeley Software Distribution license),是 自由软件(开源软件的一个子集)中使用使用最广泛的许可证之一。BSD软件就是遵照这个许可证来发布,该许可证也因此而得名。 BSD套件最初所有者是加州大學的董事会,这是由于BSD源自柏克萊加州大學。BSD开始后,BSD许可证得以修正,使得以后许多BSD变种,都采用类似风格的许可证。 跟其他许可证相比,从GNU通用公共许可证(GPL)到限制重重的著作權(Copyright),BSD许可证比较宽松,甚至跟公有領域更为接近。事实上,BSD许可证被认为是copycenter(中间版权),界乎标准的copyright与GPL的copyleft之间。"Take it down to the copy center and make as many copies as you want"。 BSD许可证 大部分的自由軟體可以免費取得,並且它的源代碼可以自由修改並散佈但它並不是沒有版權。版權是當某項作品完成時就自然產生了,不需申請或註冊。以本文為例,本文在寫作的同時,作者即擁用版權,任何人皆無法剝奪。而當使用者花錢購買某套軟體時,所購買的只是『使用權』,使用者必須接受該軟體的『軟體授權』,才能使用這個軟體;而軟體的原作者則仍然保有其『版權』。
自由軟體並不是沒有版權 封閉軟體通常會使用專屬的封閉格式,但這會極大地限制了使用者的自由度。而自由軟體則完全不同,由於自由軟體的源代碼是公開的,所以它所使用的任何格式都是透明的。自由軟體永遠不會利用專屬的封閉格式來限制使用者分發或修改的自由。
自由軟體並不使用封閉格式 自由軟體的精神領袖是理查德·马修·斯托曼。他被人稱為『最後的真正駭客』,他認為一個好的軟體,应该自由自在地讓人取用。軟體不應該拿來做為相互傾軋、剝削的工具。所以他起草GNU通用公共许可证來保障自由軟體的自由,並創辦了自由軟體基金會來貫徹他的理念。
自由軟體的精神領袖 嚴格地說來,開放源代碼(open source)軟件(开源軟件)與自由軟件是兩個不同的概念,只要符合开源軟件定義的軟件就能被稱為開放源代碼軟件。自由軟件是一個比开源軟件更嚴格的概念,因此所有自由軟件都是開放源代碼的,但不是所有的开源軟件都能被稱為「自由」。但在現實上,絕大多數开源軟件也都符合自由軟件的定義。比如,遵守GPL和BSD許可的軟件都是開放的並且是自由的。 若要具體區分,可作這數項比較︰ 而自由軟體的精神領袖理查德·马修·斯托曼也很反對人們把開放源代碼和自由軟件混為一談。(請參見:《Why Free Software is better than Open Source》一文)。
開放源代碼的規定較寬鬆,而自由軟件的規定較嚴苛。很多的開放源代碼所認可的授權根本不算是自由軟件,所以自由軟件不得不和開放源代碼劃清界線了。 如果說「自由軟件」會引起誤解,(因為英文「Free」一詞有「自由」、「免費」的雙重含意),那麼「開放源代碼」的名字會引起的誤解則更多。開放源代碼很容易讓人以為只要把源代碼「公開」出來就算是開放源代碼了,但是如果使用者無法自由運用這些源代碼,那麼即使公開源代碼也沒有意義。有的軟體公司只是為了想找使用者幫它除蟲、幫它追踪編碼,這樣子會破壞了自由軟件的原意。 自由軟件的原意就是要給予使用者運用軟體的自由,這個『自由』就是自由軟件的精神所在。但是為了商業化開放源代碼卻故意忽略了這個最重要的精神,反而無法讓使用者體認到『自由』的真意,那麼開放源代碼這一個替代自由軟件的辭句反而把自由的原意除去了。 開放源代碼軟件與自由軟件
|