2009年10月16日 星期五

Open Source(開放原始碼),Free Software ,Public Domain

Open Source(開放原始碼)和 Free Software
Open Source(開放原始碼)和 Free Software 並不是完全相同的東西。而自由軟體的精神領袖 Richard M. Stallman 也很反對人們把 Open Source 和 Free Software 混為一談。

  1. 首先,Open Source 的規定較寬鬆,而 Free Software 的規定較嚴苛。
    很多的 Open Source 所認可的 Licenses 根本不算是 Free Software,所以 Free Software 不得不和 Open Source 劃清界線了。
  2. 再來,如果說 Free Software 會引起誤解,(因為 Free 有 自由/免費 雙義),那麼 Open Source 會引起的誤解更多。
    Open Source 很容易讓人以為只要把原始碼『公開』出來就算是 Open Source 了,但是如果使用者無法自由運用這些 Source Code,那麼公開了原始碼也沒有意義!有的軟體公司甚至只是想找使用者幫它 Debug、幫它 Trace Code,這樣子根本是破壞了 Free Software 的原意!
  3. 另外,Free Software 的原意就是要給予使用者運用軟體的自由,這個『自由』就是 Free Software 的精神所在。但是為了商業化 Open Source 卻故意忽略了這個最重要的精神,反而無法讓使用者體認到『自由』的真意,那麼 Open Source 這一個替代 Free Software 的辭句反而把事情弄得更糟了。
    因此,雖然一剛開始 Open Source 是用來取代 Free Software 這個名稱的,但到了後來 GNU 計畫不得不大聲呼籲:那還是叫原來的 Free Software 就好了。

取自"http://wiki.luna.com.tw/index.php/FreeSoftware"

GNU GPL 和 著作權
GNU GPL 是一種授權聲明,卻不是 CopyRight(著作權)。軟體的作者可以將其作品以 GPL 釋出,但是他還是保有該軟體的著作權。什麼意思呢?CopyRight 是軟體作者在創作軟體時所產生的權利,而 GNU GPL 則是軟體作者所採用的授權條款,使用者必須接受條款才能使用這個軟體。同一個軟體可以有多種授權,使用者可以從其中挑選一個對自己最有利的授權。同時,軟 體作者也可以隨時改變該軟體的授權。但是:請注意,更改 GPL 授權是不溯既往的!也就是說,如果您把您的軟體以 GNU GPL 釋出,到時候卻又反悔想收回是不可以的。不過,即使是同一個軟體,如果其著作權擁有者一致同意的話,其新的版本使用新的授權倒是可以的。還有,很重要的一 點:GNU GPL 本身是無法修改的。當一個軟體以 GNU GPL 發行時,它就是以完整的 GNU GPL 發行,不能再加上任何其它額外的限制或但書。如果有必要加上其它額外的限制或但書時,請自行訂定一個軟體授權書,並且不可以號稱該軟體是 GNU GPL 軟體。

GPL 和 CopyLeft
相對於 CopyRight,Richard M. Stallman 將以 GNU GPL / GNU LGPL / GNU GFDL 的軟體或文件,其著作權稱為 CopyLeft (http://www.gnu.org/copyleft/copyleft.html),因為它的授權已回歸於大眾,任何人都無法取走,即使是作者反 悔了,想不計任何代價取回也是一樣。而一個標榜為 CopyLeft 的軟體或文件其用意也非常明顯:請儘量使用、散佈、修改,因為它是自由的,且任何人都無法剝奪這個自由。


GPL 和 BSD 及 Public Domain
BSD 平台也是 Free Software 裡的大將之一,但據說 FreeBSD 的研發團隊對於 GPL 沒什麼好感,他們比較喜愛類似 Public Domain 這種授權。所以在 FreeBSD 上,幾乎是能不使用 GPL 軟體就不使用 GPL 軟體。看來即使是在 Free Software 世界裡,對於軟體要如何授權也是有很多不同的聲音呢!Public Domain 這種授權簡單的說,便是放棄著作權。因為採用了 Public Domain 授權時便是表示了放棄著作權,任何人都何以拿 Public Domain 的軟體來散佈、修改,並且在修改後也可以將其轉換成商業軟體並主張自己的著作權... 而這可是 Free Software 所不允許的。有人說 BSD (Berkeley Software Distribution) 授權是最自由的,因為採用了 BSD 授權,Open Source 或不 Open Source 皆可以。但是就有曾發生過這樣的例子:有人利用這些 BSD 授權軟體的漏洞而製造了病毒,這時,有 Source Code 的管理者可以很快得發現問題所在並修補漏洞,並且可以在第一時間把問題解決方案公佈出來給別人參考;但沒有 Source Code 的人卻只能乾瞪眼... 在此情況之下, BSD 授權真的能夠保障使用者什麼自由呢?而 GNU GPL 雖然在乍看之下沒有 Public Domain 這種授權那樣自由,這是因為 Richard M. Stallman 不希望這種自由遭到濫用,甚至妨礙到別人的自由,所以他要立下規範來保障 Free Software 的自由。而在 GNU GPL 的保護之下,凡是有心要妨害這種自由的人是和 Free Software 絕緣的。