是時候打破關于開源軟件最常見的誤解了
本文轉載自公眾號“讀芯術”(ID:AI_Discovery)。
開源軟件(OSS)受到很多人的崇拜,當一個新的項目即將開發時,通常情況下我們會使用OSS來完成它。但矛盾的是,對OSS的興趣也導致了很多扭曲和誤解。對于沒有經驗的用戶而言,實踐會讓他們漸漸失去對它的信任。
Debricked多年來一直致力于開放源碼軟件,并開發了大量的知識庫。因此,我們想打破關于開放源碼軟件的最常見的誤解。
使用開源開發的項目是一個完全開放的項目
任何軟件項目都由許多方面組成:項目源代碼、有關未改正瑕疵的信息、測試源代碼、文檔等。項目的源代碼只是其中的一部分,免費訪問這些代碼并沒有授予打開整個項目的權利。除了源代碼之外,其他開發工件應該是免費的,并且工件越開放,項目對貢獻者的開放程度就越高。
此外,所有社區成員之間需要透明的流程,以促進項目中的公開溝通。所有這些措施都將有助于項目的發展和社區成員富有成效的合作。因此,代碼可能是完全可用的,但是開發過程可以是封閉的和不透明的。
基于開源項目的軟件是自動開源的
基于開源項目開發商業解決方案的公司可以在其產品中包含專有組件。這是因為附加的封閉功能可以讓他們在基于這個開源項目的公司中獲得競爭優勢。
封閉的組件通常形成產品,公司可以出售給客戶并從中獲利。這是開源軟件自由的一部分——你可以自由選擇最適合你的選項。
開源軟件是完全免費的
圖源:unsplash
人們普遍認為免費軟件是完全免費的,因為它是免費使用的。然而,任何軟件本身的價格只是使用它的成本的一小部分。開源軟件也不例外,在使用它之前,應該評估它的整個生命周期。
這是判斷實現開放源碼軟件是否有利可圖的唯一方法。OSS的好處之一是基本上沒有邊際成本,因為隨著部署的擴展,它通常不需要額外的許可證。
不需要購買程序使用權(許可證),這實際上發生在購買商業軟件的過程中。然而,每次都會產生不同的成本,例如,安裝和開發的時間成本、服務成本(例如,沒有經驗的用戶請求支持,或組織向IT部門支付實施和技術支持的費用),或擁有企業的成本。
該公司選擇哪個選項取決于業務,但事實是實現和使用開源解決方案的項目將不會是免費的。
由于缺乏技術支持,您無法在開源解決方案上開展業務
對于用戶而言,支持是關鍵。沒有支持,一個普通用戶在使用開源軟件時可能能夠正常使用,但公司在大多數情況下都需要技術支持。重要的開源項目要么得到開發人員社區的積極支持,要么有些公司可以在商業基礎上為大型企業提供支持,如果需要,還可以向產品添加所需的功能。
事實上,開放代碼意味著有經驗的用戶有更多的機會發現可能的漏洞并掃描其安全性。此外,OSS社區也在努力改進代碼,很大程度上是為了保持聲譽。
OSS的品質較差,因為任何人都可以為它編寫代碼
OSS的主要原則是開放式聯合開發,其本質是保證其他參與者無法隱藏低質量的代碼、漏洞和其他問題。參與這些項目的人準備好接受這樣一個事實:他們的工作將受到分析和批評,不能作弊,沒有開發者想要失去岌岌可危的聲譽。
此外,在一些社區(例如以Linux內核開發為主題的社區)有一個嚴格的原則——只有經過測試且完美無瑕的代碼才被接受到原始內核中。開發者首次試圖增加低質量變更的嘗試會被拒絕,第二次嘗試將使其個人或出資公司名譽受損。
圖源:unsplash
開源項目確實為任何人參與編寫代碼提供了可能性,但在重要的項目中,由于進入門檻很高,專業知識水平不足的人不會接受代碼。大多數大型IT公司(IBM、Google、Canonical、Parallels等)都有一個完整的部門,在這些部門中,專家們可以獲得報酬,從事開源項目,從而間接地為公司的產品工作。
值得一提的是,基于開源項目開發產品的公司對改進他們所使用的開放項目的代碼很感興趣。通常,他們也有創造一個安全的產品的希望。因此,所有發現的問題和OSS漏洞都必須得到修復,Debricked可以通過自動檢測和修復漏洞來緩解這一麻煩。
這些誤解大多出現在那些剛剛開始使用開源軟件,或者根本沒有嘗試過的用戶中。消除誤解的最好辦法就是多多使用以解決這些問題,快快開始你的旅程吧!