什麼是開源軟件?

你可能沒有意識到它,但幾乎每天都使用開源軟件

開放源代碼軟件(OSS)是公眾可以查看和更改源代碼或以其他方式“打開”的軟件。 當源代碼不被公眾查看和更改時,它被認為是“關閉”或“專有”。

源代碼是用戶通常不會看到的軟件的幕後編程部分。 源代碼列出了軟件如何工作以及軟件所有不同功能如何工作的說明。

用戶如何從OSS中受益

OSS允許程序員通過查找和修復代碼中的錯誤(錯誤修復),更新軟件以使用新技術以及創建新功能來協作改進軟件。 開源項目的團隊協作方法使軟件用戶受益,因為錯誤修復速度更快,新功能的添加和發布更加頻繁,軟件更穩定,更多程序員可以在代碼中查找錯誤,並且安全更新的實施更快比許多專有軟件程序。

大多數OSS使用GNU通用公共許可證(GNU GPL或GPL)的一些版本或變體。 最簡單的方式來考慮類似於公共領域的照片的GPL。 GPL和公共領域都允許任何人修改,更新和重用他們需要的東西。 GPL為程序員和用戶提供訪問和更改源代碼的權限,而公有領域允許用戶使用和修改照片。 GNU GPL的GNU部分是指為GNU操作系統創建的許可證,這是一個自由/開放的操作系統,並且一直是開源技術中的重要項目。

用戶的另一個好處是OSS通常是免費的,但是,對於一些軟件程序,可能會有額外的成本,例如技術支持。

開源來自哪裡?

儘管協作式軟件編碼的概念源自1950 - 1960年代的學術界,但到了20世紀70年代和80年代,諸如法律糾紛等問題引發了這種開放式協作方法,使軟件編碼失去了動力。 專有軟件接管了軟件市場,直到Richard Stallman於1985年創立自由軟件基金會(FSF),將開放或自由軟件帶回到最前沿。 “自由軟件”的概念是指自由而不是成本。 自由軟件背後的社會運動認為,軟件用戶應該有自由地查看,更改,更新,修復和添加源代碼以滿足他們的需求,並被允許分發或與他人自由分享。

FSF在其GNU項目的免費和開源軟件運動中發揮了重要作用。 GNU是一個免費的操作系統(一套指示設備或計算機如何操作的程序和工具),通常與一組工具,庫和應用程序一起發布,這些工具,庫和應用程序可以統稱為版本或分發版。 GNU與稱為內核的程序配對,該程序管理計算機或設備的不同資源,包括軟件應用程序與硬件之間的來回通信。 與GNU配對的最常見的內核是最初由Linus Torvalds創建的Linux內核。 這種操作系統和內核配對在技術上被稱為GNU / Linux操作系統,儘管它通常簡稱為Linux。

出於各種原因,包括市場上對“自由軟件”真正意義上的混淆,替代術語“開源”成為使用公共協作方法創建和維護的軟件的首選術語。 術語“開源”於1998年2月由技術出版商Tim O'Reilly主持召開的技術思想領袖峰會上正式通過。 那個月晚些時候,開源倡議(OSI)由Eric Raymond和Bruce Perens成立,作為一個致力於推廣OSS的非營利組織。

FSF繼續作為一個倡導和激進組織,致力於支持用戶使用源代碼的自由和權利。 然而,許多技術行業使用術語“開源”來表示允許公眾訪問源代碼的項目和軟件程序。

開源軟件是日常生活的一部分

開源項目是我們日常生活的一部分。 您可能正在使用手機或平板電腦閱讀本文,如果是這樣,您現在可能正在使用開源技術。 iPhone和Android的操作系統最初是使用來自開源軟件,項目和程序的構建塊創建的。

如果您在筆記本電腦或台式機上閱讀本文,是否將Chrome或Firefox用作Web瀏覽器? Mozilla Firefox是一款開源的網頁瀏覽器。 Google Chrome是一個名為Chromium的開源瀏覽器項目的修改版本 - 儘管Chromium由Google開發人員發起,他們繼續在更新和額外開發中發揮積極作用,但Google添加了編程和功能(其中一些未開放源)到此基礎軟件來開發Google Chrome瀏覽器。

事實上,沒有OSS,我們所知的互聯網就不存在。 幫助建立萬維網的技術先驅使用開源技術,例如Linux操作系統和Apache Web服務器來創建我們的現代互聯網。 Apache Web服務器是OSS程序,它通過查找並帶您訪問該網頁來處理某個網頁的請求(例如,如果您點擊了您想要訪問的網站的鏈接)。 Apache Web服務器是開源的,由開發人員志願者和稱為Apache軟件基金會的非營利組織成員維護。

開源正在以我們通常不知道的方式重塑和重塑我們的技術和日常生活。 為開源項目做出貢獻的全球程序員社區繼續發展OSS的定義並增加它為我們社會帶來的價值。