2013年10月19日 星期六

自由軟體的定義


自由軟體(Free Software)的定義界定了一個特定的軟體能否乎合自由軟體的準則。為了解決一些細節的問題,我們不時會重新審視這些準則。可以從以下的更新記錄了解這個定義的演變。

  「自由軟體」指尊重使用者及社群自由的軟體。簡單來說使用者可以自由運行、複製、發佈、學習、修改及改良軟體。他們有操控軟體用途的權利。

  如果使用者不能控制軟體,就會反被軟體操控,而軟體開發者就可以透過軟體操控使用者。這些不自由(nonfree)或專有(proprietary)的軟體就成為不公義勢力的利器。

  所以「自由軟體」是自由、權利的問題,而不是價格的問題。自由軟體的性質就跟「自由言論」一樣,而不是「免費啤酒」

  如果軟體使用者有以下四項自由,那軟體就是自由軟體︰

1.          以任何目的運行該程式
2.          取得軟體的代碼(source code)並學習程式的運作、修改為你想要的樣子 
3.          隨意發佈軟體副本以幫助別人
4.          隨意分發你修改的版本(包括代碼)給別人。此舉可使你的版本惠及社群。

Richard Stallman的定義是基於四個自由概念
1.          freedom to execute
2.          freedom to study
3.          freedom to redistribute

4.          freedom to improve

沒有留言:

張貼留言