我們都聽說過自由軟件或開放源代碼(open source),但是許多人不了解理解這些術語之間的區別的重要性。 在非計算環境中,這些概念很少被聽到,但是它們確實存在於他們的日常生活中,因為它們會影響任何電子設備(例如計算機,平板電腦或智能手機)的程序。
專有軟體僅保護銷售該軟體的公司的利益,外部人員無法對其進行修改以滿足特定需求。相較之下,自由軟體或開源軟體對所有人開放,並且可以根據每個人的需求進行修改。
當程序尊重四個基本自由時,可以將其視為自由軟件:
- 自由0: 允許您根據需要運行程序。
- 自由1: 您可以學習該程序的源代碼,並且可以自由更改它,並認為它可以執行任何必要的操作。
- 自由2: 使您可以在需要時製作和分發程序的精確副本,從而為他人提供幫助。
- 自由3: 您可以通過修改後的程序版本輕鬆製作或分發副本,從而為社區做出貢獻。
自由軟體運動創始人理查德·斯托曼表示:“這些自由至關重要,不僅對用戶有益,而且對整個社會也有益,因為它們促進了團結。隨著我們的文化和日常活動與數位世界的聯繫日益緊密,它們的重要性也日益凸顯。”
對學校而言,擁有免費軟體是一項無可比擬的優勢,因為它可以讓他們省去購買專有軟體授權的費用。對於想要學習程式設計的人來說,能夠學習他人的程式碼至關重要,因為閱讀他人的程式碼有助於學習或解決問題。
「開源」一詞的出現是為了避免與「自由軟體」概念產生可能的誤解。在英語中,“自由軟體”一詞通常被解釋為“免費”,但在這裡,它實際上指的是程式的自由度,而不是它的價格。
所有自由軟體都是開源軟體,但並非所有開源軟體都是自由軟體。差別在於程序可以使用的許可證:有些許可證比其他許可證更嚴格,並且對上述自由缺乏尊重。