許多人在購買新智能手機時會擔心相機規格、屏幕尺寸和存儲容量。 這些有吸引力的消費品中最重要的元素之一是操作系統,它很容易被忽視。
谷歌的安卓系統是世界上最流行的移動操作系統。 它存在於全球超過 86% 的智能手機中。 更令人驚訝的是,Android 是基於開源的 Linux 操作系統。 這意味著任何人都可以閱讀、更改,最重要的是,共享絕大多數智能手機的核心代碼。 這種開放性使合作成為可能。
例如,與由一家公司創建和維護的 Microsoft Windows 不同。 來自全球的 15000 多名程序員為 Linux 的開發和維護做出了貢獻。 這些程序員可能會提供構建免費分發的新東西。
什麼是開源?
一種軟件,其原始源代碼可公開獲得,並可根據用戶需要進行共享和更新。 開源軟件是這樣的軟件,其中源代碼或基本代碼通常可供任何人修改或改進以實現可重用性和可訪問性。
任何人都可以操縱和更改軟件,以使程序或應用程序正常工作。 有權訪問計算機程序源代碼的程序員可以通過添加功能或糾正不總是正確運行的部分來增強它。
開源軟件以分散和協作的方式創建,依賴於同行評審和社區輸出。 因為它是由社區而不是單個作者或公司生產的,所以開源軟件通常比專有軟件更便宜、更具適應性並且使用壽命更長。
每年,開源變得越來越普遍,從政府城鎮到機構無處不在。 它在各種規模的企業中也越來越受歡迎。 事實上,一些企業正在通過資助項目或與開發人員合作將開源提升到一個新的水平。
協作通過免費和開源促進創新。 如果沒有它,我們今天認為理所當然的許多技術都不會發展或受到專利法的保護。
歷史
研究早期互聯網技術和通信網絡協議的研究人員受益於 1950 年代和 1960 年代開放和協作的研究環境。 高級研究計劃署網絡 (ARPANET) 推動了同行評審和公開評論,該網絡最終成為當代互聯網的基石。
每個用戶組的源代碼都被共享和改進。 論壇有助於促進討論以及製定開放式溝通和協作規範。 到 1990 年代初推出互聯網時,協作、同行評審、交流和開放性已成為互聯網的根基。
公開源代碼的想法源於 1983 年由麻省理工學院的程序員理查德斯托曼(Richard Stallman)非正式發起的一場智力運動。斯托曼認為軟件應該可供程序員使用,以便他們可以根據自己的需要對其進行修改,以便更好地改進了解、了解和改進它。
Stallman 開始根據他自己的許可證 GNU 公共許可證分發自由軟件。 這種圍繞軟件開發的新技術和態度獲得了牽引力,最終導致了 1998 年開源計劃的成立。
開源與閉源軟件
開源軟件
- 可訪問源軟件是其源代碼向公眾開放,任何人都可以查看和使用的計算機軟件。
- 其他個人和組織可以更改代碼,任何人都可以訪問源代碼。
- 開源軟件的成本相當低。
- 如果該程序很受歡迎,則可能會為該項目分配大量程序員。
- 在軟件使用和定制方面對用戶的限制較少。
- 任何機器都可以配置為運行開放軟件。
- 火狐, 谷歌安卓、Linux 操作系統、Android、Thunderbird、MySQL、Mailman、Moodle、Perl、PHP 和 Python 是一些示例。
閉源軟件
- 閉源軟件是具有封閉源代碼的計算機軟件,這意味著公眾無法訪問源代碼。
- 只有製作軟件的個人或團體才能更改代碼。
- 閉源軟件的源代碼受到保護。
- 根據軟件的可用性和定制,對用戶施加了一些限制。
- 軟件公司/組織僱用程序員來改進軟件。
- 閉源軟件很昂貴。
- 在安裝到任何計算機上之前,封閉的軟件必須具有有效的許可證。
- 閉源軟件沒有容錯的餘地。
- Skype、Google Earth、Java、Adobe Flash、Virtual Box、Adobe Reader、Microsoft Office、Microsoft Windows、WinRAR、mac OS、Adobe Flash Player 是一些示例。
好處
開源代碼幫助了有抱負的開發人員和大公司的技術專長。 它是永無止境的教育,尤其是考慮到編碼的影響越來越大。 這種不斷擴展的想法網絡只是此類軟件如何幫助您的公司的開始。
預算緊張可能是初創公司的日常戰鬥。 開源項目的可用性使消費者無需支付會員費或簽署長期合同即可接受新技術。 除了低成本(或不存在)成本外,開源庫還允許團隊在構建 IT 基礎架構或開發新應用程序方面搶占先機。
由於開源,大部分工作已經為您完成。 這為開發人員騰出時間進行優化和定制。 總會有組織希望從頭開始開發的情況,但即使是世界上最偉大的品牌也認識到使用開源技術可以節省時間和金錢。 開源組件,無論是用作複雜應用程序的入門工具包還是幫助完成項目的小拼圖,對於個人開發人員和企業團隊來說都是一個有用的替代方案。
GitHub 等在線社區展示了開源軟件的協作潛力,為數百萬開發人員和公司提供了託管、評估和利用開源平台的場所。 微軟在 7.5 年為該平台支付了 2018 億美元。這可能是迄今為止開源技術變得多麼流行的最明顯的例子,以及成熟的 IT 巨頭正在投資這個社區的未來。
由於各種原因,開發和執行開源軟件戰略變得至關重要。 開源軟件開發人員單獨和共同尋求技術挑戰的最佳解決方案,從而開發出可靠、安全和免費的軟件。 由於他們的不懈努力,該計劃隨著時間的推移而改進。
該過程得到了眾多基金會的幫助,包括支持跨多個技術領域的開源的 Linux 基金會、Apache 軟件基金會和 Eclipse 基金會。
他們與 AWS、Facebook、谷歌、IBM、微軟、Netflix 和 SAP 等數字巨頭以及思科、英特爾和英特爾等硬件製造商合作制定標準。 特斯拉. 他們還為項目建造獨立於供應商的房屋,為基礎設施提供財務援助,協助營銷,並選擇委員會來做出明智的項目選擇。
總而言之,開源的一些主要好處是:
- 硬件費用較低。
- 卓越品質的軟件。
- 開發人員在全球範圍內提供支持。
- 靈活性和自由度。
- 許可證管理很簡單。
- 項目的集中和擴展。
風險
如前一節所述,開源可以提供幾個優點。 現在我們來看看與之相關的潛在缺點或危險,它們分為以下三類:
- 安全風險
- 質量風險
- 合規風險
開源組件可以在各種互聯網存儲庫中找到,開發人員無法知道它們的好壞和安全性。 不投資控制其使用的組織會將自己置於風險之中,當糾正錯誤變得更加昂貴時,他們可能會付出代價。
安全風險
黑客可以利用開源安全漏洞賺很多錢。 這為黑客提供了發動攻擊所需的所有信息。 更糟糕的是,由於它被廣泛使用,一個流行組件中的漏洞為黑客提供了大量潛在受害者。 這意味著黑客正在密切關注社區,並迅速利用流行的開源組件中的已知安全漏洞。
如果軟件企業不監控其開源使用並且不了解其代碼中的任何易受攻擊的庫,則它們很容易受到惡意攻擊。
質量風險
雖然公司花費大量時間和金錢來確保 其專有代碼的質量,似乎許多開發團隊低估或忽視了開源組件的質量。 當然,我們都希望我們的最終產品在壓力下保持一致和穩定。
很難驗證開源軟件組件不會損害您的產品狀態的原因之一是因為沒有商定的評估其質量的標準,並且開源的協作特性可能使其難以措施。
合規風險
每個開源軟件組件及其依賴項都已獲得許可。 當我們在我們的項目中使用它們時,我們承諾遵守一系列我們必須遵守的條款和條件。 對於那些不熟悉開源許可複雜性的人來說,這可能是一場噩夢。
一些開源項目缺乏任何類型的源代碼許可,這意味著版權規則默認適用。 因為有這麼多的許可證,要滿足所有的法律要求是相當困難的。 您是否知道有超過 200 種不同類型的開源許可,每種許可都有自己獨特、專業且常常令人費解的條款和條件?
開源的未來
新的創新浪潮將由協作努力的結果推動,不僅來自一個企業,而且來自一個致力於改善整個環境的社區。
公司正在讓他們的開發人員在數字領域競爭,目標是成為第一個在技術行業產生不斷增長的創新的公司,因為它繼續在企業中獲得曝光。
開發人員可以通過使用開源社區和向最優秀的開發人員學習來有效地解決測試和實施困難,特別是隨著人工智能等新技術的湧現, 機器學習,以及機器人技術的進步。
當員工利用充滿活力、以解決方案為導向的社區時,我們會看到企業受益。 從自動駕駛汽車到醫療機器人,從智慧城市到數據中心,我們不想將這些挑戰的答案委託給少數公司。 相反,我們應該依靠開源和一大批傑出的發明家來獲得最大的成果。
結論
開源運動對過去幾十年技術的快速發展負有責任。 雖然開源帶來了一些風險,但也有很多好處和有希望的前進方式。 一個龐大的貢獻者社區、入門指南、通過研究其他人的代碼來學習以及獲得與其他工程師交流的經驗是您從開源軟件中獲得的一些極好的好處。
如果你也想開始為一個開源項目做貢獻,首先找到一個讓你著迷的項目,然後在 GitHub 上搜索“good first issue”或類似內容的標籤。 好第一期 是一個項目,它為以前從未貢獻過的開發人員從受歡迎的項目中輕鬆選擇。
發表評論