搜尋此站:

2007-01-24

開源.自由

今次的「開源 」並不是指金錢上要找多些收入來源(不過有當然好 :D),而是「開放原始碼」軟件的「開源」註[1]

簡單說明一下,所有電腦程式都是從原始碼編譯而成的。對於「開源軟件」的定義有幾個不同的版,網上亦有很多的爭論,但我認為其中最簡單直接的解釋就是將軟件的原始碼公開,讓所有人都可以參與開發過程。很明顯,開源軟件最大的好處就是能夠集合大眾智慧,任何人只要有興趣都可以出一分力。開源軟件亦能有效地將知識傳播開去,知識始終是屬於大眾的,可惜的是很多時大眾得到知識的權利都被商業利益所覆蓋。大部分「開放原始碼」軟件都是供免費使用的,但這並不是絕對。軟件的使用、修改及發放都受到許可證的限制,即使你擁有軟件原始碼的存取權並不代表你有權使用該原始碼編譯而成的軟件,一切都取決於許可證中的條文。許可證就像一張僱員合約,內裡的條文有法律的約束力,大部分的僱員合約可能都賦予僱員某些條例,但一切都以合約上白紙黑字寫明的作準。常見的開源軟件許可證有 GPLBSD 許可證Mozilla 公用許可證等等,每種許可證都有其獨特之處,篇幅所限不作詳述了。

和開源軟件息息相關的就是「自由軟件」,英文作“free software”。中文的名稱明顯比英文的清晰,“free software”的“free”乃「自由」並非「免費」,「免費軟件」是“freeware”,“free software”只是“freeware”的其中一種。自由軟件比免費軟件有著更多的特質,跟據自由軟件基金會的定義,自由軟件賦予使用者四種基本自由:
  1. 使用的自由
  2. 研究及修改的自由
  3. 重新發放的自由
  4. 發放修改後本的自由
在某些人對開源軟件的定義而言,開源軟件有著類似以上所述自由軟件的特性。我覺得在定義/名字上作出太多的爭論的意義不大,應該著重的反而是該軟件賦予使用者的權利,因這才是真真正正影響到使用者的。為清晰起見,我個人比較喜歡使用「自由軟件」去形容有以上特質的軟件。

最近心血來潮找來了很多很有水準的開源/自由軟件,有甚至比那些所謂軟體界鉅子所推出的老自號更好用,功能更強大。幾乎甚麼類型的都有:圖像處理、文書處理、瀏覽器、網絡工具甚至軟件開發常用的整合開發環境等等都有,將來有機會的話會逐一向大家介紹一下。

註[1]:有人可能會問為甚麼是「開源」不是「開原」。背後的原因是英文“source code”的中文譯名可意譯作「原始碼」或直譯作「源(source)代碼(code)」,兩者是互通的。「開源軟件」就是「開放源代碼軟件」的簡稱,故一般會寫作「開源」,這亦比較接近英文的“open source”的意思。

1 comment:

  1. 個人認為,自由軟件是世界大同的第一步。

    ReplyDelete

HTML Tags allowed (e.g. <b>, <i>, <a>)